我正在寻找一种工具,它可以用图形方式表示linux内核中使用的硬件设备树。我试图了解特定arm芯片组的linux内核。这将是一个非常有用的工具。
答案 0 :(得分:9)
<强> dtc -O dts
强>
sudo apt-get install device-tree-compiler
dtc -I dtb -O dts -o a.dts a.dtb
给出了设备树a.dts
的缩进文本表示,使用文本编辑器很容易理解。或者使用以下命令将其转储到stdout:
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-using-sys-of-a-running
答案 1 :(得分:8)
您可以尝试组件检查器工具。
它是 QorIQ Configuration Suite 的一部分,它是Eclipse的插件。
下载 here 。 (需要注册。免费下载。)
就个人而言,我大部分时间都在cmd-line上,并且对vi
非常沉迷,我发现只要 {{1},它的内置代码折叠功能就足够了正确缩进。
设置热键命令以折叠/展开dts
中的代码块
将以下行添加到vi
:
.vimrc
通过上面的设置,要折叠一个块/节点,只需将光标移动到它的任何一行(标题除外)上,然后点击 F5 。要展开折叠的块/节点,请移动到折叠标题的行,然后按 F6 。
以下是nnoremap <silent> <F5> zfa}<CR>
nnoremap <silent> <F6> zo<CR>
中部分折叠的dts的样子。
答案 2 :(得分:2)
在linux上我们可以使用 fdtdump
直接打开dtb文件meta:resourcekey
答案 3 :(得分:0)
正如你们许多人在阅读完这个问题后想到的那样,看来组件检查工具不再可用了。
Visual Studio Code(免费)通过名为DeviceTree的市场提供扩展,帮助导航设备树文件。它看起来不如组件检查器工具那么好,但它确实执行突出显示和折叠等基本功能。