我有一个设备树文件(.dts),我想为我的基于powerpc的主板编译文件。
我怎样才能在我的机器上进行,这不是基于powerpc的?我可以使用我的Ubuntu系统上安装的DTC吗?或者更像是使用单独的编译器并传递ARCH信息(比如使用工具链)?
答案 0 :(得分:36)
设备树不需要使用“体系结构感知”工具进行编译。你的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
希望这有帮助!
答案 1 :(得分:13)
<强> make dtbs
强>
从内核树执行此操作是另一种编译它们的常用方法,因为放置dts的标准位置在./arch/<arch>/boot/dts/
形式的目录中的内核树下。
这最终会调用dtc
,但可能会更好,因为潜在的包含将在正确的位置。
dtb文件与dts放在同一目录中。
答案 2 :(得分:10)
dtc
安装:
sudo apt-get install device-tree-compiler
您可以通过以下命令编译 dts
或 dtsi
:
dtc -I dts -O dtb -o devicetree_file_name.dtb devicetree_file_name.dts
您可以通过以下命令转换 dts
到 dtb
:
dtc -I dts -O dtb -f devicetree_file_name.dts -o devicetree_file_name.dtb
您可以通过以下命令转换 dtb
到 dts
:
dtc -I dtb -O dts -f devicetree_file_name.dtb -o devicetree_file_name.dts