1.设备树
设备树(Device Tree)是一种描述硬件的数据结构。
作用:提供设备信息。
时间:在操作系统引导阶段进行设备初始化的时候,数据结构中的硬件信息被检测并传递给操作系统。
设备树源文件(xxxx.dts) DTC编译 设备树二进制文件(xxxx.dtb)
2.设备树基本语法
设备树的基本单元是节点(node),这些node被组织成树状结构,除了root node,每个node都只有一个parent node,一个device tree文件中只能有一个root node。每个node中包含了若干的键值对(property/value)来描述该node的一些特性。每个node用节点名字标识。(类似于linux文件系统)
/{
//根节点
Property = value; //描述信息
<name>[@<unit-address>]{
//子节点
Property = value //描述信息
};
……
};
3.节点名命名规范
节点名字的格式是[@]。如果该node没有reg属性,那么该节点名字中不能包括@unit-address。unit-address的具体格式是和设备挂在哪个bus上相关。例如对于CPU,其unit-address就是从0开始编址,以此加1,而具体的设备,例如以太网控制器,其unit-address就是寄存器地址。根节点的节点名是确定的,必须是“/”。
reg = <0x10001000 0x24 0x20001000 0x24>