当前位置:嗨网首页>书籍在线阅读

25-设备树编译器

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

7.5.2 设备树编译器

前面介绍过,设备树编译器(dtc)将开发人员可读的设备树源码转换成机器可读的二进制文件,而U-Boot和Linux内核都能理解这个二进制文件。虽然在网站kernel.org上有一个针对dtc的git树,但实际上,设备树源码已经并入内核源码树中,并且当构建.../arch/powerpc分支中的任何Power架构的内核时,也会一同构建它。

设备树编译器使用起来很方便。典型的将源码转换成二进制的命令看起来会像下面这样:

151.png 在这个命令中,myboard.dts是开发人员可读的设备树源码,myboard.dtb是这个命令执行后生成的二进制文件。命令中的 -O 标志用于指定输出文件的格式——在这里是指设备树对象(dtb)二进制文件。 -o 标志用于指定输出文件,而 -b 0 参数用于指定在多核情况下用于引导的物理CPU。

注意,dtc编译器允许进行两个方向上的转换。刚才的例子显示的是将源码编译成设备树二进制文件,而下面这个命令可以反过来从二进制文件生成源码:

152.png 你也可以直接从内核源码生成很多著名参考板的DTB。使用的命令类似于下面这样:

153.png 这个命令会从一个源文件生成一个二进制设备树对象,源文件的名称和设备树的名称基本相同(mpc8548cds),只是扩展名变成dts。可以在.../arch/powerpc/boot/dts中找到这些文件。在一个最新的Linux内核源码树中有120个这样的设备树源码文件,涵盖了大量基于Power架构的参考板。