Parse flattened linux device trees
Device trees are used to describe a lot of hardware, especially in the ARM embedded world and are also used to boot Linux on these device. A device tree describes addresses and other attributes for many parts on these boards
This library allows parsing the so-called flattened device trees, which are the compiled binary forms of these trees.
To read more about device trees, check out the kernel docs. Some example device trees to try out are [the Raspberry Pi ones] (https://github.com/raspberrypi/firmware/tree/master/boot).
The library does not use std
, just core
.
Examples
fn main() {
// read file into memory
let mut input = fs::File::open("sample.dtb").unwrap();
let mut buf = Vec::new();
input.read_to_end(&mut buf).unwrap();
let dt = device_tree::DeviceTree::load(buf.as_slice ()).unwrap();
println!("{:?}", dt);
}