01
外设驱动概述
什么是外设驱动、驱动在系统中的角色、复杂外设与简单外设的区别
概念基础
02
硬件接口基础
GPIO、UART、I2C、SPI 协议原理与对比
协议硬件
03
寄存器操作基础
内存映射、位操作、读写寄存器的最佳实践
寄存器底层
04
中断机制详解
中断向量表、中断优先级、中断嵌套与共享中断
中断实时
05
DMA 传输技术
DMA 工作原理、配置流程、与 CPU 的协同
DMA性能
06
时钟与定时器管理
时钟树、定时器模式(PWM、输入捕获、输出比较)
时钟定时器
07
外设驱动架构设计
分层设计(HAL/LL)、回调机制、驱动抽象层
架构抽象
08
设备树与平台驱动
设备树语法、匹配机制、platform_driver 框架
设备树Linux
09
GPIO 驱动实战
输入输出、中断触发、去抖处理
GPIO实战
10
UART 驱动实战
波特率配置、环形缓冲区、流控制
UART串口
11
I2C 驱动实战
主从模式、多设备仲裁、SMBus 协议
I2C总线
12
SPI 驱动实战
全双工通信、片选管理、DMA 加速
SPI高速
13
ADC 驱动实战
采样率配置、多通道扫描、DMA 搬运
ADC模拟
14
PWM 驱动实战
频率与占空比调节、呼吸灯与电机控制
PWM控制
15
触摸屏驱动整合
I2C 读取、多点触控协议、校准算法
触摸输入
16
摄像头驱动整合
MIPI CSI 接口、V4L2 框架、帧缓冲管理
摄像头视频
17
音频编解码器驱动
I2S 协议、ALSA 框架、音量控制
音频ALSA
18
网络接口驱动
MAC/PHY 分层、描述符环、NAPI 轮询
网络以太网
19
USB 设备驱动
端点管理、URB 机制、类驱动(HID/CDC)
USB外设
20
SD/MMC 存储驱动
命令/数据传输、SDIO 协议、热插拔
存储SD
21
传感器融合驱动
加速度计、陀螺仪、磁力计的数据同步
传感器融合
22
电源管理集成
休眠/唤醒、动态频率调整、PM QoS
电源节能
23
多核与外设隔离
CPU 亲和性、中断负载均衡、资源锁
多核隔离
24
实时性保障
RTOS 集成、优先级反转、看门狗策略
实时RTOS
25
驱动调试技术
printk 分级、ftrace、kgdb、逻辑分析仪
调试工具
26
性能优化
缓存一致性、内存屏障、零拷贝技术
优化性能
27
安全与健壮性
输入校验、错误恢复、故障注入测试
安全健壮
28
驱动测试框架
单元测试(kunit)、自动化测试、覆盖率
测试kunit
29
文档与维护
内核文档规范、API 注释、版本管理
文档维护
30
综合项目实战
多外设协同(传感器+显示+网络)整合方案
项目综合