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}