IMX8M学习--MYZR-i.MX8M-EVK设备树的语法(七)

@TOC

设备树的有关名词

在学习设备树之前,应该先了解一下设备树有关的缩写名词,要知道其英文全称,以便于在查阅文献和正式的生产不会总是访问小度或者打开翻译软件。

缩写名词:

DT:Device Tree 设备树

FDT:Flattened DeviceTree 展开设备树

OF:Open Firmware 开放式固件,一般在驱动获取节点信息时使用的API时,会提到

DTS:device tree source 设备树源码

DTSI:device tree source include 设备树源码包含

DTB:device tree blob 设备树二进制文件

DTC:device tree compiler 设备树编译器

设备树的语法

Device Tree的结构比较简单,由两个元素组成:节点Node,属性Property。
以MYZR-i.MX8M-EVK开发板的设备树源码文件为例:
在这里插入图片描述
其定义结构一般是
[标签:]节点名称[@ unit-address] {
[属性定义]
[子节点]
}

Node

在DTS中使用一对花括号”node-name{}”来定义;

Property
在Node中使用”property-name=value”字符串来定义;
其作用是用来做匹配的,就是一种简单的键值对。

其属性注意的是:
文本字符串(无结束符)可以用双引号表示:
string-property = “a string”

Cells是32位无符号整数,用尖括号限定:
cell-property = <0xaaa 123 0xabcd1234>

二进制数据用方括号限定:
binary-property = [01 23 45 67] (必须是2的倍数位)

不同表示形式的数据可以使用逗号连在一起:
mixed-property = “a string”,[01 23 45 67],< 0x12345678 >;

逗号也可用于创建字符串列表:
string-list = “black dog”,“bad dog”;

常见属性
compatible

address-cells/size-cells
地址占位/长度占位
#address-cells = <1>表示address字段的长度为1
#size-cells = <1>;表示length字段的长度为1;

reg
描述地址的
reg = <address1 length1 [address2 length2]>
[]表示可选的

interrupt
interrupt-controller 一个空的属性定义该节点作为一个接收中断信号的设备

#interrupt-cells 这是一个中断控制器节点的属性。它声明了该中断控制器的中断指示符中cell的个数(类似于#address-cells #size-cells)

interrupt-parent 这是一个设备节点的属性,包含一个指向该设备连接的中断控制器的phandle(指向或者引用)那些没有interrupt-parent的节点则从他们的父节点中继承该属性。

interrupts 一个设备节点属性,包含一个中断指示符的列表,对应于该设备上的每个中断输出信号

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值