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

时间:2012-12-22 06:52:06

标签: linux linux-kernel arm embedded-linux device-tree

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

4 个答案:

答案 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)

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

enter image description here

它是 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的样子。 enter image description here

答案 2 :(得分:2)

在linux上我们可以使用 fdtdump

直接打开dtb文件
meta:resourcekey

答案 3 :(得分:0)

正如你们许多人在阅读完这个问题后想到的那样,看来组件检查工具不再可用了。

Visual Studio Code(免费)通过名为DeviceTree的市场提供扩展,帮助导航设备树文件。它看起来不如组件检查器工具那么好,但它确实执行突出显示和折叠等基本功能。