45

我有一个设备树文件 (.dts),我想为基于 powerpc 的板编译该文件。

我怎样才能在我的机器上做到这一点,这不是基于 powerpc 的?我可以使用安装在我的 Ubuntu 系统上的 DTC 来执行此操作吗?还是更像是使用单独的编译器并传递 ARCH 信息(如使用工具链)?

4

3 回答 3

69

设备树不需要使用“架构感知”工具进行编译。你的 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

希望这可以帮助!

于 2014-02-10T18:00:41.687 回答
21

make dtbs

从内核树中执行此操作是编译它们的另一种常用方法,因为放置 dts 的标准位置是在形式目录中的内核树下./arch/<arch>/boot/dts/

这最终会调用dtc,但可能会更好,因为潜在的包含将在正确的位置。

dtb 文件与 dts 放在同一目录中。

于 2017-03-16T16:30:46.227 回答
20
  • dtc可以通过这个命令在linux上安装:

    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

于 2018-07-16T07:29:40.153 回答