在Linux设备树中,DTS(Device Tree Source)语法是描述硬件配置信息的核心方式,它采用树形结构组织节点和属性,以文本形式描述开发板上的设备信息。以下是DTS语法的详细解析:
一、基本结构
- 根节点:每个DTS文件有且仅有一个根节点,用"/"表示。根节点下包含所有其他子节点,是设备树的起点。
- 子节点:子节点描述具体的硬件设备或总线控制器,如CPU、内存、I2C控制器等。子节点可以嵌套形成层次结构,反映硬件的实际连接关系。
- 属性:属性是节点的核心组成部分,采用键值对形式描述节点特性。属性值可以是字符串、整数、字符串列表或二进制数据等。
二、节点语法详解
- 节点定义:使用花括号
{}
包围节点内容,节点名后可选地添加设备地址(如cpu@0
)。 - 标签与引用:通过
label: node-name@unit-address
格式定义节点标签,后续可通过&label
语法引用该节点,增强代码可读性。 - 包含文件:使用
#include
指令引入其他DTS或DTI文件,实现代码复用。DTI文件通常包含SOC级通用信息,DTS文件描述具体板级配置。