dtb 0.1.0

Device tree blob manipulation
Documentation

DTB

Device tree blob utilities

This no_std crate contains types for reading and writing DTBs. Here is a code that shows how to read a DTB-file:

let mut buf = Vec::new();
let mut file = File::open("example.dtb").unwrap();
file.read_to_end(&mut buf).unwrap();
let reader = DtbReader::read(buf.as_slice()).unwrap();

for entry in reader.reserved_mem_entries() {
    println!("reserved: {:?}, {:?}", entry.address, entry.size);
}

let root = reader.struct_items();
let (prop, _) = root.find("/node/property").next().unwrap();
println!("property: {:?}, {:?}", prop.name(), prop.value_str());

let (node, node_iter) = root.find("/node/node2").next().unwrap();
println!("node: {:?}@{:?}", node.node_name(), node.unit_address());

let (prop, _) = node_iter.find("property").next().unwrap();
let (prop, _) = node_iter.find("property2").next().unwrap();