📘 单片机软件测试与调试架构搭建

📚 30章 · 完整目录
01 单片机测试概述
  • 为什么需要测试
  • 测试在开发周期中的位置
  • 测试与调试的区别
02 测试环境搭建
  • 硬件调试器选择(J-Link/ST-Link)
  • 软件IDE配置
  • 测试工装设计要点
03 单元测试框架入门
  • Unity/CMock框架介绍
  • 测试用例编写规范
  • 断言的使用
04 模拟与桩函数
  • 什么是桩函数
  • 如何编写桩函数
  • 模拟外部依赖(ADC/定时器)
05 代码覆盖率分析
  • 语句覆盖
  • 分支覆盖
  • MC/DC覆盖
  • 使用gcov分析
06 静态代码分析
  • PC-Lint/Coverity工具
  • MISRA-C规范检查
  • 常见静态缺陷模式
07 动态内存分析
  • 堆栈溢出检测
  • 内存泄漏检测
  • Valgrind(模拟环境)分析
08 中断测试策略
  • 中断优先级测试
  • 中断嵌套测试
  • 中断延迟测量方法
09 定时器与PWM测试
  • 定时器精度验证
  • PWM占空比测量
  • 逻辑分析仪抓波形
10 ADC/DAC测试
  • 模拟信号注入
  • 精度与线性度测试
  • 采样率验证
11 通信接口测试(UART)
  • 回环测试
  • 波特率误差分析
  • 数据帧完整性校验
12 通信接口测试(I2C/SPI)
  • 时序分析
  • 从机地址冲突检测
  • 多主机通信测试
13 CAN总线测试
  • CAN报文发送接收
  • 位定时测试
  • 错误帧检测与恢复
14 GPIO与按键测试
  • 输入输出功能测试
  • 按键消抖测试
  • 中断触发测试
15 低功耗模式测试
  • 睡眠/停止/待机电流测量
  • 唤醒源测试
  • 功耗优化验证
16 看门狗测试
  • 独立看门狗与窗口看门狗
  • 喂狗时序测试
  • 复位功能验证
17 Flash与EEPROM测试
  • 读写耐久性测试
  • 数据保持测试
  • 写保护功能验证
18 Bootloader测试
  • 跳转逻辑测试
  • 固件升级流程测试
  • 回滚机制验证
19 实时性测试
  • 任务响应时间测量
  • 最坏情况执行时间(WCET)
  • 调度抖动测试
20 压力测试与稳定性测试
  • 长时间运行测试
  • 边界条件测试
  • 异常恢复测试
21 自动化测试框架搭建
  • Python + pytest + 串口通信
  • 测试脚本编写
  • 测试报告生成
22 持续集成(CI)集成
  • Jenkins/GitLab CI配置
  • 自动化构建与测试
  • 测试结果通知
23 硬件在环(HIL)测试
  • HIL系统架构
  • 仿真模型搭建
  • 闭环测试用例设计
24 调试工具进阶
  • 断点类型(硬件/软件)
  • Trace功能
  • ETM/ITM调试
25 日志系统设计
  • 日志等级划分
  • 环形缓冲区实现
  • 日志输出方式(串口/SWO/文件)
26 故障注入测试
  • 寄存器级故障注入
  • 内存故障注入
  • 时钟故障注入
27 安全功能测试
  • CRC校验测试
  • 安全启动验证
  • 加密通信测试
28 多核/多任务调试
  • 核间通信测试
  • 资源共享冲突检测
  • 死锁检测
29 测试文档与报告
  • 测试计划编写
  • 测试用例管理
  • 缺陷报告模板
30 综合实战项目
  • 智能家居控制器完整测试方案
  • 从单元测试到系统测试全流程
⚡ 点击卡片「进入章节」可跳转至对应课程文件 (01.html ~ 30.html)