tree_print/
tree_print.rs

1extern crate flat_device_tree as fdt;
2
3use fdt::node::FdtNode;
4
5static MY_FDT: &[u8] = include_bytes!("../dtb/test.dtb");
6
7fn main() {
8    let fdt = fdt::Fdt::new(MY_FDT).unwrap();
9
10    print_node(fdt.find_node("/").unwrap(), 0);
11}
12
13fn print_node(node: FdtNode<'_, '_>, n_spaces: usize) {
14    (0..n_spaces).for_each(|_| print!(" "));
15    println!("{}/", node.name);
16
17    for child in node.children() {
18        print_node(child, n_spaces + 4);
19    }
20}