⚡ Zephyr 设备树
HAL 实战
📘 30 章 · 完整目录
01
Zephyr与设备树概述
Zephyr RTOS简介、设备树(DTS)起源与作用、为什么Zephyr选择设备树
02
设备树基础语法
节点(node)、属性(property)、标签(label)、别名(alias)、包含文件(dtsi)
03
Zephyr设备树文件结构
板级文件(.dts)、芯片级文件(.dtsi)、默认配置(.dtsi)、overlay文件
04
设备树绑定(binding)
YAML绑定文件的作用、绑定文件结构、属性定义与约束
05
常用设备节点解析
GPIO控制器节点、UART节点、I2C节点、SPI节点、PWM节点
06
设备树中的中断
中断控制器、中断属性(interrupts、interrupt-parent)、中断映射
07
时钟与电源管理
时钟节点(clocks)、时钟频率配置、电源管理属性
08
设备树宏与API
DT_DRV_COMPAT、DT_INST、DT_NODELABEL等宏的使用
09
硬件抽象层(HAL)概念
HAL的作用、Zephyr HAL架构、HAL与设备树的关系
10
GPIO HAL实战
GPIO驱动API、设备树配置GPIO、点亮LED实战
11
UART HAL实战
UART驱动API、设备树配置UART、串口打印实战
12
I2C HAL实战
I2C驱动API、设备树配置I2C、读写传感器实战
13
SPI HAL实战
SPI驱动API、设备树配置SPI、驱动LCD屏幕实战
14
PWM HAL实战
PWM驱动API、设备树配置PWM、呼吸灯效果实战
15
ADC HAL实战
ADC驱动API、设备树配置ADC、读取电位器电压实战
16
定时器与计数器
系统时钟节拍(systick)、设备树中的定时器节点、使用定时器中断
17
DMA控制器
DMA原理、设备树DMA节点配置、DMA传输实战
18
设备树overlay机制
overlay文件作用、运行时覆盖、条件编译
19
多核与异构系统
多核设备树配置、CPU节点、内存映射、核间通信
20
设备树调试技巧
编译错误排查、生成头文件分析、使用devicetree CLI工具
21
自定义设备树节点
创建自定义外设节点、编写绑定文件、驱动中读取自定义属性
22
设备树与电源管理
设备树中的电源域、低功耗模式配置、唤醒源配置
23
设备树与引脚控制(pinctrl)
pinctrl节点、引脚复用配置、引脚电气属性
24
设备树与DMA
DMA通道配置、DMA传输描述符、DMA中断处理
25
设备树与时钟树
时钟树结构、时钟门控、时钟频率动态调整
26
设备树与安全
安全分区配置、TrustZone设备树支持、安全外设隔离
27
设备树与Bootloader
设备树在uboot中的使用、设备树传递、设备树覆盖
28
设备树与测试
单元测试中的设备树模拟、硬件在环测试、设备树覆盖率
29
实战项目一:传感器数据采集
基于设备树的温度+湿度+光照传感器数据采集系统
30
实战项目二:智能家居控制面板
基于设备树的按键+LED+LCD+WiFi智能家居控制面板