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](https://git. kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation /devicetree/booting-without-of.txt?id=HEAD). 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);
}