设备树是由1个dts文件+n个dtsi文件构成,它们编译而成的dtb二进制可执行文件就是真正的设备树文件。
.dts文件:是一种ASCII文本格式的Device Tree描述文件,此种文本格式适合人类的阅读习惯,而在ARM Linux上,一个dts文件就对应的一个ARM的machine,一般放在arch/arm/boot/dts目录下。
dtsti文件:SOC厂商比如RK,会把SOC公共特性和多块开发板共用的特性提炼出一个dtsi文件,而dts则负责描述某个具体的产品特性,dts直接或间接的包含多个dtsi,类似C语言的include包含文件。
dtb文件:dtb英文名为Device Tree Blob,dts经过dtc编译后会得到dtb文件,dtb通过bootloader引导程序加载到内核,最后流程图体现,因此BootLoader需要支持设备树才行,kernel也需要加入设备树的支持。
各符号含义如下:
/ --> 表示根节点
@ --> 指定设备地址
& --> 引用节点