Tool to visualize the device tree file (dtb) used by the Linux kernel?

前端 未结 4 654
没有蜡笔的小新
没有蜡笔的小新 2021-02-04 00:23

I am looking for a tool which can graphically represent the hardware device tree used in linux kernel. I am trying to understand linux kernel for particular arm chipset. It woul

相关标签:
4条回答
  • 2021-02-04 01:10

    dtc -O dts

    sudo apt-get install device-tree-compiler
    dtc -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

    0 讨论(0)
  • 2021-02-04 01:11

    You can try the Component inspector tool.

    enter image description here

    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. enter image description here

    0 讨论(0)
  • 2021-02-04 01:22

    On linux we can directly open dtb file by using fdtdump

    fdtdump dtb_file.dtb > /tmp/test.txt 
    
    0 讨论(0)
  • 2021-02-04 01:23

    As many of you have figured out after reading this question, it appears that the Component Inspector Tool is no longer available.

    Visual Studio Code (free) provides an extension through the marketplace called DeviceTree which helps in navigating device tree files. It does not appear to be as good as the Component Inspector Tool but it does perform basic functions like highlighting and collapsing.

    0 讨论(0)
提交回复
热议问题