bill 发表于 2017-5-19 15:50:46

DTC工具在CubieBoard6上的使用

本帖最后由 bill 于 2017-5-19 15:50 编辑

  众所周知,全志平台使用的内核配置文件是sys_config.fex文件,而CB6使用的是更通用的DTS(Device Tree Source),翻译过来就是设备树源码。Device Tree是一种描述硬件的数据结构,易于开发人员调试。
  在调试阶段,经常需要改动dts的配置,修改完后我们并不需要重新编译固件。当修改dts文件,只需要编译成二进制的dtb文件,并推送到CB6相关目录下即可,省下了编译固件所浪费的时间。
  不论是编译dts生成dtb,还是反编译,都需要用到一个工具: DTC,全称device tree compiler,直译过来就是设备树编译器。


如何下载dtc工具Ubuntu下获取DTC工具: $sudo apt-get install device-tree-compiler如何使用DTC工具
命令参数:
-I:  被编译文件的格式-O: 生成文件的格式-o:    编译生成的文件名
例:
$dtc -I dtb -Odts -o kernel.dts kernel.dtb
编译kernel.dtb,生成kernel.dts。


结合CB6的调试,简单的说明一下使用步骤:
1.使用ADB调试,将CB6文件系统下的kernel.dtb拷贝出来。
<font size="3">$adb pull /misc/kernel.dtb /work/</font>2.使用DTC工具,将kernel.dtb反编译生成可编辑的dts文件。
<font size="3">$dtc -I dtb -Odts -o kernel.dts kernel.dtb</font>3.按调试需要,自行修改kernel.dts,并编译成dtb文件。<font size="3">$dtc -I dts -Odtb -o kernel.dtb kernel.dts</font>4.使用ADB,将生成的dtb文件push到CB6,替换原有的文件。<font size="3">$adb push /work/kernel.dtb/misc/</font>5.重启即可生效<font size="3">$sync:reboot</font>当然,debug有时不能一步到位地解决问题,但这种调试方法可大幅提高调试的效率。



页: [1]
查看完整版本: DTC工具在CubieBoard6上的使用