MCU底层驱动开发:从零到量产实战

📚 共计 30 章节
01
MCU开发环境搭建
Keil/IAR安装 · 工程模板 · LED闪烁 · 调试器配置
工具链入门
02
GPIO深入
推挽/开漏/上拉/下拉 · 寄存器操作 · 位带 · 驱动LED与按键
外设寄存器
03
时钟系统
时钟树 · HSE/HSI/PLL · 系统时钟切换 · 时钟输出测量
时钟配置
04
中断系统
NVIC配置 · 中断优先级 · EXTI · 中断服务函数 · 嵌套
中断优先级
05
定时器基础
SysTick · 基本/通用定时器 · PWM输出 · 输入捕获
定时器PWM
06
串口通信UART
USART配置 · 轮询/中断/DMA收发 · 重定向printf
串口DMA
07
I2C通信
I2C协议 · 主机/从机 · 读写EEPROM · 多主机通信
I2CEEPROM
08
SPI通信
SPI模式 · 全双工 · 驱动Flash/W25Qxx · DMA+SPI
SPIFlash
09
ADC采集
ADC原理 · 单次/连续转换 · DMA传输 · 内部温度传感器
ADC模拟
10
DAC输出
DAC配置 · 波形生成(正弦/三角) · DMA+定时器触发
DAC波形
11
DMA控制器
DMA结构 · 内存到内存 · 外设到内存 · 循环模式
DMA效率
12
看门狗
独立看门狗IWDG · 窗口看门狗WWDG · 喂狗策略 · 低功耗唤醒
看门狗可靠性
13
低功耗模式
睡眠/停止/待机模式 · RTC唤醒 · 外部中断唤醒
低功耗电源
14
RTC实时时钟
RTC配置 · 日历 · 闹钟 · 时间戳 · 后备寄存器
RTC时间
15
Flash操作
内部Flash读写 · 页擦除 · 写保护 · 模拟EEPROM · Bootloader基础
Flash存储
16
CRC校验
CRC原理 · 硬件CRC计算 · 软件CRC实现 · 数据完整性
CRC校验
17
随机数生成
硬件RNG · 伪随机数算法 · 真随机数应用场景
RNG安全
18
DAC+定时器+DMA波形发生器
三合一实战 · 生成任意频率波形
综合波形
19
FreeRTOS移植
源码结构 · 移植步骤 · 任务创建 · 调度器启动
RTOS移植
20
FreeRTOS任务管理
任务状态 · 优先级 · 删除/挂起/恢复 · 任务通知
任务调度
21
FreeRTOS队列与信号量
队列创建/收发 · 二值/计数信号量 · 互斥量
IPC同步
22
FreeRTOS软件定时器
软件定时器创建 · 自动重载 · 单次模式 · 回调
定时器软定时
23
FreeRTOS内存管理
heap_1~heap_5对比 · 内存碎片 · 动态分配
内存优化
24
驱动分层设计
HAL层 · LL层 · 中间件层 · 应用层 · 接口抽象
架构分层
25
模块化编程
头文件设计 · 条件编译 · 静态/动态库 · 代码复用
模块工程
26
单元测试框架
Ceedling/Unity/CMock · 测试用例 · Mock模拟外设
测试质量
27
代码规范与静态检查
MISRA-C · PC-Lint/Cppcheck · 代码审查清单
规范静态分析
28
量产工具开发
串口ISP下载 · CAN升级 · 固件加密 · 校验和 · 版本管理
量产工具
29
生产测试
ICT测试 · FCT测试 · 边界扫描JTAG · 良率分析
测试生产
30
项目实战:智能传感器节点
GPIO+ADC+I2C+SPI+UART+FreeRTOS+低功耗+量产
综合实战