24

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

4

5 回答 5

28

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

于 2016-10-08T11:31:42.980 回答
10

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

fdtdump dtb_file.dtb > /tmp/test.txt 
于 2018-04-10T06:22:43.850 回答
8

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

在此处输入图像描述

它是 Eclipse 插件QorIQ 配置套件的一部分。

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


就我个人而言,因为我大部分时间都在命令行上,并且非常沉迷于vi,所以我发现它的内置代码折叠功能在某种程度上就足够了,只要dts正确缩进。

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

nnoremap <silent> <F5> zfa}<CR>
nnoremap <silent> <F6> zo<CR>

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

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

于 2013-07-23T08:30:43.583 回答
3

工具很少:

于 2021-11-27T19:56:33.617 回答
2

正如你们中的许多人在阅读此问题后发现的那样,组件检查器工具似乎不再可用。

Visual Studio Code (免费)通过名为DeviceTree的市场提供了一个扩展,它有助于导航设备树文件(注意: -.dts目前仅支持文件)。它似乎不如组件检查器工具好,但它确实执行了高亮和折叠等基本功能。

于 2018-02-21T16:38:26.020 回答