单片机软件架构 · 全流程实战
📚 30章 从方案到量产
01
单片机软件架构概述
什么是软件架构、为什么需要架构、常见架构模式对比
02
需求分析与规格定义
提取技术指标、编写需求文档、定义功能边界
03
硬件抽象层(HAL)设计
HAL作用、分层原则、GPIO/UART/SPI/I2C封装示例
04
模块化编程思想
模块划分、高内聚低耦合、接口设计、头文件规范
05
状态机设计与实现
状态转移图、switch-case、函数指针表实现
06
任务调度与时间管理
前后台调度、时间片轮转、定时器管理、软件定时器
07
消息队列与事件驱动
消息队列原理、生产者-消费者、事件标志组、回调
08
内存管理与优化
静态vs动态、内存池、栈溢出检测、泄漏排查
09
低功耗设计策略
睡眠模式、唤醒源、动态调频、外设电源管理
10
通信协议栈设计
自定义协议帧、CRC校验、超时重传、环形缓冲区
11
Bootloader设计与实现
启动流程、分区管理、固件升级、安全校验
12
参数存储与管理
EEPROM/Flash读写、参数结构体、校验备份
13
故障诊断与日志系统
错误码、断言、日志分级、环形日志缓冲区
14
单元测试与集成测试
Unity/CMock、桩函数、覆盖率分析
15
代码审查与静态分析
MISRA-C、PC-Lint/Coverity、审查清单
16
版本控制与协作
Git分支策略、Commit规范、Code Review、CI/CD
17
硬件调试与逻辑分析仪
示波器技巧、逻辑分析仪抓协议、JTAG/SWD调试
18
性能分析与优化
Profiling、执行时间测量、中断延迟、缓存一致性
19
安全性与可靠性设计
看门狗、电源监测、数据完整性、防死机
20
EMC/ESD考虑
PCB布局影响、去耦电容、软件滤波、异常复位
21
生产测试与校准
产测流程、校准算法、序列号管理、良率统计
22
量产固件管理
固件加密、版本号、批量烧录、防抄板
23
文档编写与维护
架构文档、API文档、用户手册、版本发布说明
24
敏捷开发在嵌入式中的应用
Scrum、Sprint规划、看板、回顾会议
25
持续集成与持续部署
Jenkins/GitLab CI、自动化编译、自动化测试
26
多核与异构架构
AMP/SMP、核间通信、共享资源保护、DMA
27
实时操作系统(RTOS)深入
FreeRTOS任务管理、信号量、互斥锁、优先级反转
28
软件复用与平台化
跨平台抽象层、驱动库封装、中间件、SDK设计
29
遗留系统重构
接手老代码、重构策略、兼容性、渐进式改进
30
全流程案例实战
智能家居网关架构:需求→设计→实现→测试→量产