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

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

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

在这里输入图像描述

它是QorIQ Configuration Suite的一部分,它是Eclipse的一个插件。

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


就个人而言,因为我大部分时间都在cmd行上,并且对vi很沉迷,我发现它内置的代码折叠功能在dts正确缩进的时候已经足够了。

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

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

使用上面的设置,要折叠一个块/节点,只需将光标移动到其任何行(标题除外),然后按F5 。 要展开折叠的块/节点,移动到折叠标题的行并按F6

这是一个部分折叠的dts在vi看起来像什么。 在这里输入图像描述

dtc -O dts

 sudo apt-get install device-tree-compiler dtc -I dtb -O dts -o a.dts a.dtb 

为设备树a.dts提供了一个良好缩进的文本表示,这很容易通过文本编辑器来理解。

dtc上游位于内核树scripts/dtc/

在Ubuntu 2016上测试了Raspberry Pi 2的设备树,在2016-05-27-raspbian-jessie-qemu.img的第一个分区中2016-05-27-raspbian-jessie-qemu.img

为了方便:

 dtbs() ( dtc -I dtb -O dts -o - "$1"; ) dtsb() ( dtc -I dts -O dtb -o - "$1"; ) 

大多数桌面环境都有一些工具(KDE中的KinfoCenter)以图形方式显示包括设备树在内的完整系统信息。还有几种命令行工具,主要针对设备类型 – lsdev,lspci,lsusb,fdisk, lsscsi,lscpu,dmidecode等。Busybox(自从你提到embedded-linux)支持其中的一些命令。你也可以解析sysfs 。

但是,如果您只想知道“arm芯片组”中存在的设备,您为什么不看SOC的手册?