linux驱动:(16)在设备树添加自定义节点

目录

步骤

编译设备树文件

验证自定义的节点

第一种方法

第二种方法


步骤

  • 找到对应自己板子的设备树文件(手册可以找到)
  • 通过头文件包含找到根节点
  • 在根节点末尾添加我们自定义的节点
  • 给自定义节点起名字 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/ 目录中查看,和第一种方法一样,只是路径不一样

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值