欢迎光临
我们一直在努力

【Zephyr开发系列-9】DTS语法与设备树结构

DTS语法与设备树结构

  • 1 Devicetree概述
  • 2 Devicetree 语法与结构基础
    • 2.1 最简单的DTS示例
    • 2.2 节点(Node)
      • 2.2.1 节点标签(node label)
      • 2.2.2 节点路径
    • 2.3 属性(Property)
    • 2.4 为什么设备树采用树状结构
    • 2.5 更贴近实际场景的DTS示例
    • 2.6 单元地址(Unit Address)
      • 2.6.1 内存映射外设
      • 2.6.2 I2C设备
      • 2.6.3 SPI设备
      • 2.6.4 内存、Flash、Flash分区
    • 2.7 几个最关键的标准属性
      • 2.7.1 compatible
      • 2.7.2 reg
      • 2.7.3 status
      • 2.7.4 interrupts
    • 2.8 关于label属性的说明
    • 2.9 属性值的写法
      • 2.9.1 字符串
      • 2.9.2 整数
      • 2.9.3 布尔值
      • 2.9.4 数组
      • 2.9.5 字节数组
      • 2.9.6 字符串数组
      • 2.9.7 phandle
      • 2.9.8 phandles
      • 2.9.9 phandle-array
    • 2.10 编写属性值时的几个规则
      • 2.10.1 布尔属性“存在即为真”
      • 2.10.2 十六进制与十进制混合使用
      • 2.10.3 64位整数要拆成两个32 位cell
      • 2.10.4 支持表达式写法
    • 2.11 phandle:节点之间的引用
    • 2.12 同类属性值可以拆成多个块
    • 2.13 aliases和chosen
      • 2.13.1 aliases
      • 2.13.2 chosen
  • 3 Devicetree的输入与输出文件
    • 3.1 输入文件与输出文件概述
    • 3.2 输入文件
      • 3.2.1 `.dts`:设备树主文件
      • 3.2.2 `.dtsi`:被包含的设备树片段
      • 3.2.3 `skeleton.dtsi`:最基础的骨架文件
      • 3.2.4 设备树文件也会经过C预处理器
      • 3.2.5 `.overlay`:覆盖层文件
      • 3.2.6 Overlay的引入方式
      • 3.2.7 Overlay如何生效
      • 3.2.8 `.yaml`:binding文件
    • 3.3 处理设备树的脚本与工具
      • 3.3.1 `dtlib.py`
      • 3.3.2 `edtlib.py`
      • 3.3.3 `gen_defines.py`
      • 3.3.4 `dtc`(设备树编译器)
    • 3.4 输出文件
      • 3.4.1 `zephyr.dts.pre`
      • 3.4.2 `devicetree_generated.h`
      • 3.4.3 `zephyr.dts`
  • 4 核心要点

1 Devicetree概述

设备树是一种用于描述硬件的分层数据结构。Zephyr主要通过两种方式来使用设备树:1)向设备驱动程序模型描述硬件信息;2)用于指定该硬件的初始配置参数。设备树输入文件分为两种类型:设备树源文件和设备树绑定文件。源文件包含了设备树的结构本身;而绑定文件则描述了设备树中的各种元素及其数据类型。构建系统会利用这些源文件和绑定文件来生成C语言头文件。 在这里插入图片描述 所有Zephyr相关代码和应用源码都可以包含devicetree.h,例如驱动程序、应用程序、测试程序以及内核代码。devicetree API采用C宏方式提供,相关宏均以DT_开头。在源码中看到DT_开头的宏时,通常可以认为它属于devicetree.h提供的接口。同时,构建系统生成的头文件中也会包含部分DT_开头的宏,这些宏有时会出现在编译错误信息中。一般可通过命名形式区分二者:接口宏通常全为大写,自动生成的宏名称则往往包含小写字母。


2 Devicetree 语法与结构基础

Devicetree(设备树)本质上是一棵树状结构,用于描述硬件及其层级关系。这种树的文本表示形式称为 DTS(Devicetree Source),其语法由Devicetree规范定义。


赞(0)
未经允许不得转载:171主机测评 » 【Zephyr开发系列-9】DTS语法与设备树结构
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址