我正在寻找一种可以以图形方式表示 linux 内核中使用的硬件设备树的工具。我正在尝试了解特定 arm 芯片组的 linux 内核。这将是一个非常有用的工具。
5 回答
dtc -O dts
sudo apt-get install device-tree-compiler
dtc -I dtb -O dts -o a.dts a.dtb
给出了设备树的缩进良好的文本表示,a.dts
使用文本编辑器很容易理解。或将其转储到标准输出:
dtc -I dtb -O dts -o - a.dtb
的源代码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" )
dtc
/proc
还可以从实时内核中提取 DTS,如下所示: https ://unix.stackexchange.com/questions/265890/is-it-possible-to-get-the-information-for-a-device-tree-使用 sys-of-a-running
在linux上我们可以直接使用fdtdump打开dtb文件
fdtdump dtb_file.dtb > /tmp/test.txt
您可以尝试组件检查器工具。
它是 Eclipse 插件QorIQ 配置套件的一部分。
在这里下载。(需要注册。免费下载。)
就我个人而言,因为我大部分时间都在命令行上,并且非常沉迷于vi
,所以我发现它的内置代码折叠功能在某种程度上就足够了,只要dts
正确缩进。
vi
通过添加以下行来设置热键命令以折叠/展开代码块.vimrc
:
nnoremap <silent> <F5> zfa}<CR>
nnoremap <silent> <F6> zo<CR>
通过上述设置,要折叠一个块/节点,只需将光标移动到它的任何一行(标题除外)并点击F5。要展开折叠的块/节点,请移动到带有折叠标题的行并点击F6。
这是部分折叠的 dts 在vi
.
工具很少:
- 可视化 FDT/DTB/DTBO -> https://github.com/dev-0x7C6/fdt-viewer
- 可视化 DTS(死)-> https://github.com/TheCodeArtist/dtv-demo
- 可视化 DTS(我的 fork)-> https://github.com/bmx666/dtv-demo
正如你们中的许多人在阅读此问题后发现的那样,组件检查器工具似乎不再可用。
Visual Studio Code (免费)通过名为DeviceTree的市场提供了一个扩展,它有助于导航设备树文件(注意: -.dts
目前仅支持文件)。它似乎不如组件检查器工具好,但它确实执行了高亮和折叠等基本功能。