DTC管理DTB和DTS

首先获得DTC工具,有两种方式:
(1)下载安装。
sudo apt-get install device-tree-compiler
(2)从内核工具里拷贝。
linux内核源码目录中已经包含了设备树编译器Device Tree Compiler(dtc),在目录arch/arm/boot/dts/目录下。
将DTC工具拷贝到交叉工具链所在的bin目录下,因为交叉工具链的path已经export了,所以不用担心找不到DTC。

可以用dtc命令编译或反编译特定的dtb文件
~/work/linux/output/arch/arm64/boot/dts/xilinx$ dtc --help
反汇编,由dtb生成dts,反之亦然
dtc -I dtb -O dts -o zynqmp-zcu102.dts zynqmp-zcu102.dtb

dtc编译器可以把dts文件编译成为dtb,也可把dtb编译成为dts文件,编译命令格式如下:

dtc [-I input-format] [-O output-format][-o output-filename] [-V output_version] input_filename
参数说明:
input-format:

  • “dtb”: “blob” format

  • “dts”: “source” format.

output-format:

  • “dtb”: “blob” format

  • “dts”: “source” format

output_version:
定义”blob”的版本,在dtb文件的字段中有表示,支持1 2 3和16,默认是3

(1) Dts编译生成dtb
#dtc -I dts -O dtb -o ./devicetree-gen.dtb ./devicetree.dts
把dts编译生成dtb

(2) Dtb编译生成dts
#dtc -I dtb -O dts -o ./devicetree-gen.dts ./devicetree.dtb
把A_dtb.dtb反编译生成为A_dts.dts

为了方便使用,可以建立一个脚本,把命令放在脚本里面,免得每次都要敲命令。
用gedit打开一个文本,写入命令。
然后在property里面,添加executable属性即可。

你可能感兴趣的:(linux)