デバイスツリーファイル(.dts)があり、powerpcベースのボード用にファイルをコンパイルしたい。
Powerpcベースではないマシンでどうすればよいですか? UbuntuシステムにインストールされたDTCで実行できますか?または、別のコンパイラを使用してArch情報を渡す(ツールチェーンを使用するなど)ようになりますか?
デバイスツリーは、「アーキテクチャ対応」ツールでコンパイルする必要はありません。 ubuntuマシンのdtcコンパイラは、おそらくデバイスツリーをコンパイルするのに十分な最新のものです。または、最新のソースをダウンロードして、自分でコンパイルすることもできます。 dtcコンパイラは次の場所にあります。
https://git.kernel.org/pub/scm/utils/dtc/dtc.git
そのパッケージには、一般的なデバイスツリーの理解に役立つ優れたドキュメントがいくつかあります。
デバイスツリーのコンパイル(および逆アセンブル)は非常に簡単です。例えば
$ dtc -O dtb -o p4080ds.dtb p4080ds.dts
デバイスツリーBLOBからテキストのデバイスツリーを取得するには、次の操作を行います。
$ dtc -I dtb -O dts p4080ds.dtb
お役に立てれば!
make dtbs
カーネルツリーからこれを行うことは、それらをコンパイルするもう1つの一般的な方法です。dtsを置く標準的な場所は、./Arch/<Arch>/boot/dts/
という形式のディレクトリ内のカーネルツリーの下にあるからです。
これはdtc
を呼び出すことになりますが、潜在的なインクルードが適切な場所にあるため、うまく機能する可能性があります。
dtbファイルは、dtsと同じディレクトリに配置されます。
dtc
にはinstalledを指定できます(Linuxの場合:
Sudo apt-get install device-tree-compiler
次のコマンドでcompiledts
またはdtsi
ファイルを作成できます。
dtc -I dts -O dtb -o devicetree_file_name.dtb devicetree_file_name.dts
次のコマンドでconvertdts
to dtb
にできます。
dtc -I dts -O dtb -f devicetree_file_name.dts -o devicetree_file_name.dtb
次のコマンドでconvertdtb
to dts
にできます。
dtc -I dtb -O dts -f devicetree_file_name.dtb -o devicetree_file_name.dts