⚡ Zephyr 设备树 · 硬件抽象层

📘 30 章 · 从入门到实战
01
Zephyr与设备树概述
Zephyr RTOS简介 · 设备树起源 · 为什么选择设备树
02
设备树基础语法
节点、属性、标签、路径规则与写法
03
设备树文件结构
.dts .dtsi .dtb · include机制
04
Zephyr设备树绑定
YAML绑定 · compatible · required/optional
05
设备树节点与驱动匹配
compatible匹配 · 驱动注册 · 映射流程
06
Zephyr设备模型
device对象 · API · 初始化顺序
07
设备树宏API (上)
DT_NODELABEL, DT_PROP, DT_ALIAS
08
设备树宏API (下)
DT_INST, DT_CHILD, DT_FOREACH_CHILD · 实例化
09
GPIO控制器设备树配置
gpio-controller, #gpio-cells, gpio-hog · API映射
10
UART设备树配置
串口节点属性 · 驱动框架
11
I2C设备树配置
控制器/从节点 · clock-frequency · API
12
SPI设备树配置
控制器 · CS引脚 · spi-max-frequency · API
13
PWM设备树配置
PWM控制器 · pwm-cells · 背光实例
14
ADC设备树配置
ADC控制器 · channel配置 · 传感器读取
15
DMA设备树配置
DMA控制器 · dma-cells · 内存到外设传输
16
时钟(Clock)设备树配置
时钟控制器 · clocks属性 · 时钟门控
17
中断控制器设备树配置
interrupt-controller · #interrupt-cells · IRQ映射
18
Pin控制(Pinctrl)设备树配置
pinctrl-0/names · 引脚复用
19
电源管理设备树配置
power-domains · regulator · 低功耗模式
20
Flash与存储设备树配置
flash节点 · 分区 · Flash API · FATFS
21
传感器设备树配置
BME280, LSM6DSO · 传感器驱动框架
22
显示设备树配置
显示控制器 · framebuffer · LVGL集成
23
音频设备树配置
I2S控制器 · 音频编解码器 · 音频驱动框架
24
网络设备树配置
以太网MAC · PHY · lwIP映射
25
USB设备树配置
USB控制器/设备节点 · CDC ACM示例
26
多核与异构设备树配置
CPU节点 · cache · 多核启动与通信
27
设备树覆盖(Overlay)
overlay语法 · 合并规则 · 条件编译
28
设备树调试与验证
dtc错误排查 · build/zephyr.dts · 运行时查看
29
自定义设备树绑定
编写YAML · 自定义compatible · 驱动中使用
30
综合实战:从零构建外设驱动
需求分析 · 节点设计 · 绑定 · 驱动实现 · 测试