1.设备树定义
设备树(device tree是描述硬件信息的一种树形结构,设备书文件在linux内核启动后被内核解析。描述一个硬件设备信息的节点我们叫做设备节点,一个设备节点内部包含当前硬件的多个不同属性,相同节点不同属性是以链式结构存储
2.设备树的文件格式
***.dts//设备树源码文件
***.dtsi //设备树的补充文件或者头文件
***.dtb //编译后设备树的镜像文件
3.设备树的语法
设备树是节点和属性的简单树结构。属性是键值对,节点可以同时包含属性和子节点。
注释:
设备树是从根节点开始描述的:{};
node1和node2是属于根节点的子节点设备树文件内部注释和c语言一样
设备树每一条语句结束都以‘;
’结尾节点内的属性都是键值对
节点命名规则:[@<unit-address>
name指的是节点名字,是一个简单的 ASCII 字符串,长度最多为 31 个字符。通常,节点是根据它所代表的设备类型来命名的。如果节点使用地址描述设备,则包含unit-address ex:GPIO@50006000
属性是简单的键值对,其中值可以为空或包含任意字节流。虽然数据类型未编码到数据结构中,但可以在设备树源文件中表示一些基本数据表示形式。
设备树节点信息结构体
#include<linux/of.h>
struct device_node