我正在寻找一种可以以图形方式表示 Linux 内核中使用的硬件设备树的工具。 我正尝试了解适用于特定 ARM 芯片组的 Linux 内核。 这将是一个非常有用的工具。
我正在寻找一种可以以图形方式表示 Linux 内核中使用的硬件设备树的工具。 我正尝试了解适用于特定 ARM 芯片组的 Linux 内核。 这将是一个非常有用的工具。
dtc -O dts
sudo apt-get install device-tree-compiler
dtc -I dtb -O dts -o a.dts a.dtb
使用以下命令将设备树文件a.dtb
转储到标准输出,以获得良好缩进的文本表示形式,可用文本编辑器轻松理解:
dtc -I dtb -O dts -o - a.dtb
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
在Linux上,我们可以直接使用fdtdump打开dtb文件。
fdtdump dtb_file.dtb > /tmp/test.txt
它是QorIQ配置套件的一部分,是Eclipse的一个插件。
在此处下载这里 (需要注册。免费下载。)
个人而言,由于我大部分时间都在命令行界面上,并且很沉迷于vi
,只要dts
正确缩进,它内置的代码折叠功能就足够了。
通过添加以下行到.vimrc
中设置热键命令来折叠/展开代码块:
nnoremap <silent> <F5> zfa}<CR>
nnoremap <silent> <F6> zo<CR>
通过上述设置,要折叠一个块/节点,只需将光标移动到其任意行(除标题外)并按下F5。要展开折叠的块/节点,请移动到带有折叠标题的行并按下F6。
以下是在vi
中部分折叠的dts示例。
这里有几个工具:
在阅读这个问题后,你们很多人已经发现了,组件检查器工具似乎不再可用。
Visual Studio Code(免费)提供了一个通过市场提供的扩展,称为DeviceTree,它有助于浏览设备树文件(注意:目前仅支持 .dts
文件)。它似乎不如组件检查器工具好,但它可以执行基本功能,如高亮和折叠。
dtc -I dtb -O dts <filename>
也可以达到同样的效果。这里有一个GUI查看器:https://github.com/dev-0x7C6/fdt-viewer - undefined