Инструмент для визуализации файла дерева устройств (dtb), используемого ядром Linux?

Я ищу инструмент, который может графически представлять дерево аппаратных устройств, используемых в ядре linux. Я пытаюсь понять ядро linux для конкретного чипсета arm. Это был бы действительно полезный инструмент.

5 ответов


вы можете попробовать компонент инспектор.

enter image description here

является частью Qoriq Configuration Suite который является плагином для Eclipse.

скачать здесь. (Требовать регистрацию. Скачать бесплатно.)


лично, как я на cmd-линии большую часть времени, и довольно зависим от vi, Я считаю, что его встроенные возможности сворачивания кода несколько достаточно пока dts правильно отступом.

настройка горячих клавиш для сворачивания / расширения блоков кода в vi
добавив следующие строки в .vimrc :

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

с вышеуказанной настройкой, чтобы сложить блок / узел, просто переместите курсор на любую из его строк (кроме заголовка) и нажмите Ф5. Чтобы развернуть сложенный блок / узел, перейдите к строке со сложенным заголовком и нажмите F6.

здесь как выглядит частично сложенный dts в vi. enter image description here


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 - "" )
dtsb() ( dtc -I dts -O dtb -o - "" )

dtc можно также извлечь DTS из /proc живого ядра, как показано на: https://unix.stackexchange.com/questions/265890/is-it-possible-to-get-the-information-for-a-device-tree-using-sys-of-a-running


в linux мы можем напрямую открыть файл dtb с помощью fdtdump

fdtdump dtb_file.dtb > /tmp/test.txt 

как многие из вас выяснили после прочтения этого вопроса, похоже, что инструмент инспектора компонентов больше не доступен.

Код Visual Studio (бесплатно) предоставляет расширение через marketplace под названием DeviceTree что помогает в навигации по файлам дерева устройств. Он не так хорош, как инструмент инспектора компонентов, но выполняет основные функции, такие как выделение и сворачивание.


большинство сред рабочего стола имеют тот или иной инструмент (KinfoCenter в KDE)для "графического" отображения полной системной информации, включая дерево устройств.Существует также несколько инструментов командной строки, в основном специфичных для типа устройства - lsdev, lspci, lsusb,fdisk,lsscsi, lscpu, dmidecode и т. д. Busybox (поскольку вы упомянули embedded-linux) поддерживает некоторые из этих команд.Вы также можете разобрать sysfs.

однако, если все, что вы хотите знать, это устройства, присутствующие в вашем "ARM чипсет", почему бы вам просто не посмотреть руководство SOC?