web-dev-qa-db-fra.com

Outil pour visualiser le fichier d'arborescence de périphérique (dtb) utilisé par le noyau Linux?

Je recherche un outil pouvant représenter graphiquement l’arborescence de périphériques utilisés dans le noyau Linux. J'essaie de comprendre le noyau Linux pour un chipset particulier. Ce serait un outil vraiment utile.

13
Punit Soni

Vous pouvez essayer l'outil Inspecteur de composants .

enter image description here

Il fait partie de QorIQ Configuration Suite qui est un plugin pour Eclipse.

Télécharger ici. (Nécessite une inscription. Gratuit à télécharger.)


Personnellement, comme je suis la plupart du temps sur cmd-line et assez accro à viname__, je trouve que ses capacités de pliage de code intégrées sont assez suffisantes tant que dtsNAME _ est correctement mis en retrait.

Configurez les commandes par raccourci clavier pour plier/développer des blocs de code dans viname__
en ajoutant les lignes suivantes à .vimrc:

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

Avec la configuration ci-dessus, pour plier un bloc/noeud, déplacez simplement le curseur sur l’une de ses lignes (sauf le titre) et appuyez sur F5. Pour développer un bloc/nœud plié, placez-vous sur la ligne avec le titre plié et appuyez sur F6.

Voici à quoi ressemble un fichier dts partiellement plié dans viname__. 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

donne une représentation textuelle bien en retrait de l’arbre de périphériques a.dts, qui est facile à comprendre avec un éditeur de texte. Ou jetez-le sur stdout avec:

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

Le code source de dtc est présent dans l’arborescence du noyau lui-même sous scripts/dtc/dtc.c

Testé sur Ubuntu 16.04, avec l’arborescence de périphériques de Raspberry Pi 2, trouvée dans la première partition de 2016-05-27-raspbian-jessie-qemu.img.

Pour plus de commodité, j'ai dans mon .bashrc:

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

dtc peut également extraire le DTS de /proc d'un noyau actif, comme indiqué à: https://unix.stackexchange.com/questions/265890/is-it-possible-to-get-the- information-for-a-device-tree-using-sys-of-a-running

Sur linux, nous pouvons ouvrir directement le fichier dtb en utilisant fdtdump  

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

Comme beaucoup d'entre vous l'ont compris après avoir lu cette question, il apparaît que l'outil Inspecteur de composants n'est plus disponible.

Code Visual Studio (gratuit) fournit une extension sur le marché appelée DeviceTree qui facilite la navigation dans les fichiers d'arborescence de périphériques. Il ne semble pas être aussi performant que l'outil Inspecteur de composants, mais il exécute des fonctions de base telles que la mise en surbrillance et la réduction.

0
user8908459