Linuxカーネルで使用されるハードウェアデバイスツリーをグラフィカルに表現できるツールを探しています。特定のARMチップセットのLinuxカーネルを理解しようとしています。これは非常に便利なツールです。
Component inspectorツールを試すことができます。
EclipseのプラグインであるQorIQ Configuration Suiteの一部です。
ダウンロードここ。 (登録が必要です。無料でダウンロードできます。)
個人的には、ほとんどの場合cmd-lineを使用しており、vi
にはまっていますが、dts
は適切にインデントされています。
vi
のコードブロックを折りたたむ/展開するためのホットキーコマンドを設定する
次の行を.vimrc
に追加することにより:
nnoremap <silent> <F5> zfa}<CR>
nnoremap <silent> <F6> zo<CR>
上記の設定で、ブロック/ノードを折りたたむには、カーソルをその行(タイトルを除く)のいずれかに移動し、 F5。折りたたまれたブロック/ノードを展開するには、折りたたまれたタイトルの行に移動して、 F6。
vi
で部分的に折りたたまれたdtsは次のようになります。
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
にあります。
2016-05-27-raspbian-jessie-qemu.img
の最初のパーティションにあるRaspberry Pi 2のデバイスツリーを使用してUbuntu 16.04でテストされています。
便宜上、.bashrc
に入れます:
dtbs() ( dtc -I dtb -O dts -o - "$1" )
dtsb() ( dtc -I dts -O dtb -o - "$1" )
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では、fdtdumpを使用してdtbファイルを直接開くことができます
fdtdump dtb_file.dtb > /tmp/test.txt
多くの方がこの質問を読んで理解したように、コンポーネントインスペクタツールはもう利用できないようです。
Visual Studio Code (無料)は、マーケットプレイスを通じて DeviceTree と呼ばれる拡張機能を提供します。これは、デバイスツリーファイルのナビゲートに役立ちます。コンポーネントインスペクタツールほど優れているようには見えませんが、強調表示や折りたたみなどの基本的な機能を実行します。