42.设备树---DTS的语法

 Device Tree Usage - 摩斯电码 - 博客园

设备树dts/dtsi格式_孤独行者的专栏-CSDN博客_dts格式

Linux设备树语法详解 - Abnor - 博客园

设备树笔记 - 知乎

[DTS]设备树语法_嵌入式软件开发交流-CSDN博客_dts设备树语法

目录

 DTS文件和DTSI文件

一.设备树的布局与节点的基本语法

二.节点的元素介绍

1.节点名node-name[@unit-address]

2.属性值 [properties definitions] 

2.1属性值的表示方式:

2.2特殊的属性值

3.label 方式---引用

“&” 引用节点(比如这个设备树include了其他的设备树文件,其他设备树文件里有个ABC节点,&ABC就可以引用这个节点并添加新的属性了)

4.覆盖规则:


仿照别人的自己写写改改加深印象

 DTS文件和DTSI文件

dts文件是用户编写的,一个*.dts文件对应一个ARM的machine。一般放置在内核的"arch/arm/boot/dts/"目录内,比如exynos4412参考板的板级设备树文件就是"arch/arm/boot/dts/exynos4412-origen.dts"

一个dts文件对应一个ARM的machine,但一个soc可能有多个不同电路板,这些电路板有很多类似的部分,导致dts文件会有很多共同的部分,导致有不少冗余代码,设备树将这些共同部分保存在*.dtsi文件中,供不同的dts使用。dtsi文件的使用方法,类似于C语言的头文件,在dts文件中使用include包含 *.dtsi文件即可。如:

#include "jz2440.dtsi"

使用dts文件时,就会把包含的dtsi文件内容进行展开。

dts和dtsi的语法规则一样。

一.设备树的布局与节点的基本语法


DTS文件布局(layout):
/dts-v1/;
[memory reservations]                 //格式:/memreserve/<address><length>;
/{
   [label:] node-name[@unit-address] { //节点名称
      [properties definitions]        //就是属性定义,对当前节点描述,将硬件信息提供给内核处理
      [child nodes]                    //子节点 
 };
};

上面代表代表一个节点,一个节点由节点名称、节点属性以及子节点三部分组成,以大括号{}为一段,[]表示可写可不写。子节点语法跟父节点一样,子节点里可以有自己的子节点,层层嵌套。

设备树的跟是从"/"开始,/{};代表根节点root,一个设备树仅有一个根节点,根节点下可有多个节点。如:

/{                                  //根节点
    node1{                          //node1是节点名,是/的子节点
        key=value;                  //node1的属性
        ...
        node2{           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值