繁体   English   中英

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

[英]Tool to visualize the device tree file (dtb) used by the Linux kernel?

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

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的第一个分区中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 -树-使用-SYS--A-运行

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

在此输入图像描述

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

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


就个人而言,我大部分时间都在cmd-line上,并且非常沉迷于vi ,我发现只要dts正确缩进,它的内置代码折叠功能就足够了。

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

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

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

这是部分折叠的dts在vi样子。 在此输入图像描述

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

fdtdump dtb_file.dtb > /tmp/test.txt 

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

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

有几个工具:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM