it-swarm.com.de

Tool zur Visualisierung der vom Linux-Kernel verwendeten Device Tree-Datei (dtb)?

Ich bin auf der Suche nach einem Tool, das den im Linux-Kernel verwendeten Hardware-Gerätebaum grafisch darstellen kann. Ich versuche, den Linux-Kernel für einen bestimmten Arm-Chipsatz zu verstehen. Es wäre ein wirklich nützliches Werkzeug.

13
Punit Soni

Sie können das Tool Component Inspector ausprobieren.

enter image description here

Es ist Teil von QorIQ Configuration Suite, einem Plugin für Eclipse.

Laden Sie hier herunter. (Registrierung erforderlich. Kostenlos zum Download.)


Persönlich bin ich die meiste Zeit in der cmd-Zeile und ziemlich abhängig von vi. Ich finde, dass die eingebauten Code-Faltungsfähigkeiten einigermaßen ausreichend sind, solange dts ist richtig eingerückt.

Richten Sie Tastenkombinationen ein, um Codeblöcke in vi zu falten/zu erweitern.
durch Hinzufügen der folgenden Zeilen zu .vimrc:

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

Wenn Sie mit der obigen Einstellung einen Block/Knoten falten möchten, bewegen Sie den Cursor einfach auf eine der Zeilen (mit Ausnahme des Titels) und drücken Sie F5. Um einen gefalteten Block/Knoten zu erweitern, gehen Sie zur Zeile mit dem gefalteten Titel und drücken Sie F6.

So sieht ein teilweise gefaltetes dts in vi aus. enter image description here

7
TheCodeArtist

dtc -O dts

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

gibt eine gut eingerückte Textdarstellung des Gerätebaums a.dts, die mit einem Texteditor leicht verständlich ist. Oder lade es auf stdout mit:

dtc -I dtb -O dts -o - a.dtb

Der Quellcode für dtc ist im Kernel-Tree selbst unter scripts/dtc/dtc.c vorhanden.

Getestet auf Ubuntu 16.04, mit dem Gerätebaum von Raspberry Pi 2 in der ersten Partition von 2016-05-27-raspbian-jessie-qemu.img.

Der Einfachheit halber habe ich in meinem .bashrc:

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

dtc kann auch das DTS aus /proc eines Live-Kernels extrahieren, wie gezeigt: https://unix.stackexchange.com/questions/265890/isit-possible-to-get-the- information-for-a-device-tree-using-sys-of-a-running

Unter Linux können Sie die dtb-Datei direkt öffnen, indem Sie fdtdump verwenden. 

fdtdump dtb_file.dtb > /tmp/test.txt 
1
Vamsi

Wie viele von Ihnen nach dem Lesen dieser Frage herausgefunden haben, scheint das Component Inspector Tool nicht mehr verfügbar zu sein.

Visual Studio Code (kostenlos) bietet eine Erweiterung über den Marktplatz mit dem Namen DeviceTree , die beim Navigieren in Gerätebaumdateien hilft. Es scheint nicht so gut wie das Component Inspector Tool zu sein, führt jedoch grundlegende Funktionen wie Hervorheben und Minimieren aus.

0
user8908459