设备树补充

本文探讨了DTS文件中的节点标签(label)与phandle的使用方法,解释了它们在硬件描述符中的作用,以及如何通过DTC工具进行编译和反编译操作。重点介绍了直接引用节点的技巧和它们之间的转换原理。
  • 1
    节点格式
[label:] node-name[@unit-address] { 
    [properties definitions]          //就是属性定义,对当前节点描述,将硬件信息提供给内核处理
    [child nodes]                     //子节点 
 } 
 
PIC: pic@10000000 {
    interrupt-controller;
};
another-device-node {
    interrupt-parent = <&PIC>;   // 使用label来引用上述节点, 
                                 // 使用lable时实际上也是使用phandle来引用, 
                                 // 在编译dts文件为dtb文件时, 编译器dtc会在dtb中插入phandle属性
};

这里的label方式其实原理和phandle方式是一样的,只不过lable对于我们使用来说更好辨认。dtc在编译的时候会在使用label的节点中增加一个phandle的属性,增加一个唯一的value,并把使用它的位置替换为该value。

  • 2
    dtc可以将dts编译成dtc文件,也可以将dtc文件反编译成dts文件
编译
make dtbs CROSS_COMPILE=arm-none-linux-gnueabi-
反编译
dtc -I dtb -O dts -o tmp.dts s5pv210-x210.dtb 
  • 3
    直接覆盖方式引用时,新的覆盖要放在根节点外面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值