Tool to visualize the device tree file (dtb) used by the Linux kernel?
dtc -O dts
sudo apt-get install device-tree-compilerdtc -I dtb -O dts -o a.dts a.dtb
gives a well indented textual representation of the device tree a.dts
, which is easy to understand with a text editor. Or dump it to stdout with:
dtc -I dtb -O dts -o - a.dtb
The source code for dtc
is present in the kernel tree itself at scripts/dtc/dtc.c
Tested on Ubuntu 16.04, with the device tree of Raspberry Pi 2, found in the first partition of 2016-05-27-raspbian-jessie-qemu.img
.
For convenience I have in my .bashrc
:
dtbs() ( dtc -I dtb -O dts -o - "$1" )dtsb() ( dtc -I dts -O dtb -o - "$1" )
dtc
can also extract the DTS from /proc
of a live kernel as shown at: https://unix.stackexchange.com/questions/265890/is-it-possible-to-get-the-information-for-a-device-tree-using-sys-of-a-running
On linux we can directly open dtb file by using fdtdump
fdtdump dtb_file.dtb > /tmp/test.txt
You can try the Component inspector tool.
It is part of QorIQ Configuration Suite which is a plugin for Eclipse.
Download here.(Requires registration. Free to download.)
Personally as i am on the cmd-line most of the time, and quite addicted to vi
, i find its built-in code folding capabilities are somewhat sufficient as long as the dts
is properly indented.
Setup hot-keys commands to fold/expand blocks of code in vi
by adding the following lines to .vimrc
:
nnoremap <silent> <F5> zfa}<CR>nnoremap <silent> <F6> zo<CR>
With the above setup, to fold a block/node, simply move the cursor onto any of its lines(except the title) and hit F5. To expand a folded block/node, move to the line with the folded title and hit F6.
Here is what a partially folded dts looks like in vi
.