设备树解析与内核适配实战
📚 共计 30 章节
01
设备树起源
为什么需要设备树?从板级文件到设备树的演进历史。
演进
历史
02
设备树基础语法
节点、属性、值的定义与规范。
语法
规范
03
设备树文件结构
dts、dtsi、dtb、dtbo文件格式与关系。
dts
dtb
dtbo
04
设备树编译器
dtc工具的使用、编译与反编译。
dtc
编译
05
设备树绑定文档
如何编写和理解binding文档。
binding
文档
06
设备树中断控制器
interrupt-parent、interrupts、interrupt-cells详解。
中断
控制器
07
设备树GPIO控制器
gpio-controller、gpio-cells、gpios属性解析。
GPIO
引脚
08
设备树时钟控制器
clocks、clock-names、assigned-clocks配置。
时钟
配置
09
设备树DMA控制器
dmas、dma-names属性与DMA引擎绑定。
DMA
引擎
10
设备树pinctrl子系统
pinctrl-names、pinctrl-0、引脚复用配置。
pinctrl
复用
11
设备树reg属性
地址映射、大小端、ranges与dma-ranges。
地址
映射
12
设备树chosen节点
bootargs、stdout-path等内核启动参数。
启动
参数
13
设备树aliases节点
设备别名与索引管理。
别名
索引
14
设备树memory节点
内存布局与保留内存(reserved-memory)。
内存
保留
15
设备树CPU节点
cpu-map、cpu-release-addr、多核启动配置。
CPU
多核
16
设备树overlay机制
dtbo动态加载与卸载原理。
overlay
动态
17
设备树overlay实战
FPGA动态配置与外设热插拔。
FPGA
热插拔
18
内核OF API
of_find_node_by_path、of_property_read_string等核心函数。
OF API
内核
19
内核OF API进阶
of_parse_phandle、of_count_phandle_with_args用法。
phandle
进阶
20
设备树与platform驱动
compatible匹配、of_match_table实现。
platform
驱动
21
设备树与I2C子系统
i2c设备节点、reg地址、驱动匹配流程。
I2C
设备
22
设备树与SPI子系统
spi设备节点、cs-gpios、模式配置。
SPI
片选
23
设备树与MMC子系统
sdhci节点、bus-width、non-removable属性。
MMC
SD
24
设备树与PCIe子系统
pci节点、device_type、interrupt-map映射。
PCIe
中断
25
设备树与显示子系统
simple-framebuffer、display-timings解析。
显示
framebuffer
26
设备树与音频子系统
sound节点、DAI链接、codec绑定。
音频
codec
27
设备树与电源管理
regulator节点、power-supply、系统休眠配置。
电源
休眠
28
设备树与热管理
thermal-zones、cooling-devices、trip点配置。
热管理
thermal
29
设备树调试技巧
dt-validate、of_dump_status、设备树错误排查。
调试
验证
30
设备树实战项目
从零编写一个完整板级设备树并适配内核5.10+。
实战
板级
5.10