目录
步骤
- 找到对应自己板子的设备树文件(手册可以找到)
- 通过头文件包含找到根节点
- 在根节点末尾添加我们自定义的节点
- 给自定义节点起名字 test
- 添加需要的属性
/{ test1:test{ //别名为test1,节点名称为test compatible = "test";//匹配的名字 #address-cells = <1>; #size-cells = <1>; reg = <0x20ac000 0x0000004>;//寄存器地址 }; };
- 编译对应自己板子的设备树文件,会连同根节点一起编译
- 找到编译完的对应自己板子的设备树文件并烧录到开发板中
- 验证自定义的节点
- 如果还要再次修改属性或者添加属性,一般做法是在根节点下面通过引用来修改和添加
&test1{ compatible = "test1";//匹配的名字 status = "okay"; };
- 修改先前的compatible属性
- 添加status 属性
编译设备树文件
- 通过dtc工具来讲dts和dtsi文件编译成dtb文件
- 安装命令,apt-get install device-tree-compiler
- 修改环境变量为arm和交叉编译器
- 在内核源码根目录中输入命令(dtbs表示编译所有,不单单一个文件)
- make dtbs
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs
- 如果要单独编译某一个dts设备树文件
- 找到要编译的设备树文件名字
- 将上面命令的dtbs改成要编译的设备树文件名字就可以了
验证自定义的节点
第一种方法
- 进入 源码根目录/proc/device-tree/ 查看到设备树里的属性
- 通过cat就可以看到属性的值是多少,如果是节点,可以cd进入再通过cat看节点中的属性
- 我们添加完后,通过cat就可以看到有没有添加成功
第二种方法
- 进入 源码根目录/sys/firmware/devicetree/base/ 目录中查看,和第一种方法一样,只是路径不一样