可视化Linux内核使用的设备树文件(dtb)的工具?

Pun*_*oni 15 linux arm linux-kernel embedded-linux device-tree

我正在寻找一个工具,它可以图形化地表示Linux内核中使用的硬件设备树.我试图了解特定arm芯片组的linux内核.这将是一个非常有用的工具.

Cir*_*四事件 12

dtc -O dts

sudo apt-get install device-tree-compiler
dtc -I dtb -O dts -o a.dts a.dtb
Run Code Online (Sandbox Code Playgroud)

给出了设备树的缩进文本表示,a.dts使用文本编辑器很容易理解.或者将其转储到stdout:

dtc -I dtb -O dts -o - a.dtb
Run Code Online (Sandbox Code Playgroud)

源代码dtc存在于内核树本身中scripts/dtc/dtc.c

在Ubuntu 16.04上测试,使用Raspberry Pi 2的设备树,在第一个分区中找到2016-05-27-raspbian-jessie-qemu.img.

为方便起见,我有.bashrc:

dtbs() ( dtc -I dtb -O dts -o - "$1" )
dtsb() ( dtc -I dts -O dtb -o - "$1" )
Run Code Online (Sandbox Code Playgroud)

dtc也可以从/proc实时内核中提取DTS,如下所示:https://unix.stackexchange.com/questions/265890/is-it-possible-to-get-the-information-for-a-device-tree-使用-SYS--A-运行


小智 10

在linux上我们可以使用fdtdump直接打开dtb文件

fdtdump dtb_file.dtb > /tmp/test.txt 
Run Code Online (Sandbox Code Playgroud)

  • 最适合快速检查内容 (2认同)

The*_*ist 8

您可以尝试" 组件"检查器工具.

在此输入图像描述

它是QorIQ Configuration Suite的一部分, 它是Eclipse的插件.

在这里下载.(需要注册.免费下载.)


就个人而言,因为我大部分时间都在cmd-line上,并且非常沉迷于此vi,我发现只要dts正确缩进,它的内置代码折叠功能就足够了.

设置热键命令以vi
通过将以下行添加到以下行来折叠/扩展代码块.vimrc:

nnoremap <silent> <F5> zfa}<CR>
nnoremap <silent> <F6> zo<CR>
Run Code Online (Sandbox Code Playgroud)

通过上面的设置,要折叠一个块/节点,只需将光标移动到它的任何一行(标题除外)并点击即可F5.要展开折叠的块/节点,请移动到折叠标题的行并点击F6.

这是部分折叠的dts的样子vi. 在此输入图像描述

  • 不幸的是,QorIQ Configuration Suite 不再可用,还有其他选择吗? (2认同)