设备树相关文件信息
dts 与 dtsi 文件
.dts 是设备树源文件。该文件是一种 ASCII 文本格式的设备树描述,包含了用户配置的信息,格式比较简单,一般放在 BSP 源码的“SylixOS/res”目录下。通常一个 SoC(系统级芯片)会对应多个产品,每个产品的.dts 文件之间必然会有很多相同的部分。设备树为了简化,将这些相同的部分提炼为 .dtsi 文件,类似于 C 语言的头文件。其它产品的 .dts 文件就包含该 .dtsi 文件。例如翼辉推出的全志 T3 教育版的 .dts 文件就有如下包含:
/*
* educational board
*/
/dts-v1/;
#include "sun8iw11p1.dtsi"
.dtsi 文件同样可以包含其他.dtsi 文件。
dtb 文件
.dtb 文件(Device Tree Blob)是 .dts 被 DTC 编译后的二进制格式文件。它可以直接被 SylixOS 内核解析,并为设备驱动提供硬件配置信息。
在为板卡制作启动镜像时,会为 .dtb 文件特意预留一块内存。在 bootloader 引导操作系统内核前,会先加载该 .dtb 文件到内存。
使用 dtc.exe 命令可以将 .dtb 文件反编译为 .dts 文件,如在 cmd.exe 中执行如下一段指令:
dtc.exe -I dtb -O dts bspallwinnert3.dtb -o DTS.dts
其中“-I”指定输入类型为.dtb 格式,“-O”指定输出类型为 .dts 格式,“-o”指定输出文件名为“DTS.dts”。这种方法得到的 .dts 文件可以帮助开发人员更好的理解下面要介绍的一些概念以及一些接口的实现原理。