01
设备树基础概念
什么是设备树、为什么需要设备树、设备树在Linux内核中的角色。
概念入门
02
DTS语法入门
节点、属性、值的表示方法,以及include机制。
语法DTS
03
DTC编译器安装
从源码编译dtc、apt-get安装、验证安装是否成功。
工具安装
04
编译实战
使用dtc将.dts编译为.dtb,常用参数详解。
编译dtc
05
反编译实战
使用dtc将.dtb反编译为.dts,恢复可读源码。
反编译恢复
06
设备树头文件分析
dtb文件的魔数、总大小、结构体偏移量解析。
二进制结构
07
fdtdump工具
使用fdtdump查看dtb的原始结构,调试利器。
调试dump
08
dtc进阶参数
-@ (overlay)、-H (phandle)、-O (输出格式) 等高级用法。
高级参数
09
设备树Overlay机制
overlay的编译与加载,动态修改设备树。
overlay动态
10
内核内置编译
将.dts集成到Linux内核源码树中编译。
内核集成
11
设备树绑定文档
查看内核Documentation/devicetree/bindings/下的规范。
文档规范
12
GPIO控制器节点
标准GPIO控制器在设备树中的描述方法。
GPIO控制器
13
中断控制器节点
interrupt-parent、interrupts属性的使用。
中断irq
14
时钟与复位节点
clocks、clock-names、resets属性的配置。
时钟复位
15
I2C设备节点
在设备树中描述I2C控制器及其从设备。
I2C总线
16
SPI设备节点
SPI总线的设备树描述,片选与模式设置。
SPI片选
17
MMC/SDIO节点
eMMC、SD卡控制器在设备树中的配置。
MMCSDIO
18
USB控制器节点
EHCI/OHCI/xHCI控制器的设备树描述。
USB控制器
19
PCIe控制器节点
PCIe RC与EP模式在设备树中的配置。
PCIeRC/EP
20
显示与GPU节点
DRM框架下显示控制器的设备树绑定。
显示GPU
21
音频设备节点
I2S、DAI链路在设备树中的描述。
音频I2S
22
电源管理节点
regulator、power-domain、operating-points-v2。
电源PM
23
DMA控制器节点
dmas、dma-names属性的使用。
DMA控制器
24
Pinctrl子系统节点
pinctrl-0、pinctrl-names、引脚复用配置。
pinctrl引脚
25
热管理节点
thermal-zones、cooling-devices、trip-points。
热管理thermal
26
设备树中的地址映射
reg、ranges、dma-ranges属性详解。
地址映射
27
设备树中的中断映射
interrupt-map、interrupt-map-mask。
中断映射复杂
28
设备树中的别名与标签
aliases节点、label属性、phandle引用。
别名phandle
29
设备树调试技巧
编译错误排查、反编译对比、内核日志分析。
调试技巧
30
实战项目:虚拟开发板
为一块虚拟开发板从头编写完整的设备树。
实战完整