🔥 固件烧录与验证自动化实战
📚 30章 · 从入门到工业级
⚡ 风格 · 明快紧凑
v2.0
01
课程介绍与环境准备
为什么需要自动化
课程目标
硬件软件清单
Python环境搭建
开始学习 →
02
固件基础与文件格式
.hex .bin .elf
固件结构解析
校验和概念
开始学习 →
03
串口通信基础
UART协议简介
pySerial安装
打开/关闭串口
开始学习 →
04
烧录协议入门
ST-Link / J-Link
ISP协议
协议选择原则
开始学习 →
05
pySerial实现ISP烧录
ISP协议详解
发送烧录指令
读取烧录状态
开始学习 →
06
烧录脚本框架搭建
可复用烧录类
参数化配置
端口/波特率/路径
开始学习 →
07
错误处理与重试机制
烧录失败原因
Python异常处理
自动重试逻辑
开始学习 →
08
日志系统设计
为什么需要日志
logging模块
分级与输出文件
开始学习 →
09
固件验证之CRC校验
CRC原理简介
CRC32/16计算
烧录后比对
开始学习 →
10
固件验证之哈希校验
MD5 / SHA256
计算固件哈希
烧录后验证
开始学习 →
11
自动化测试框架选型
pytest vs unittest
为什么选pytest
pytest基础用法
开始学习 →
12
第一个烧录测试用例
pytest组织测试
烧录前后断言
状态验证
开始学习 →
13
参数化测试
pytest.mark.parametrize
不同固件测试
不同板子
开始学习 →
14
固件版本管理
嵌入版本号
脚本读取版本
验证烧录版本
开始学习 →
15
多板并行烧录
多线程/多进程
线程安全与锁
并行性能对比
开始学习 →
16
图形界面初探
Tkinter / PyQt5
简易烧录工具
选择文件与配置
开始学习 →
17
命令行工具封装
argparse构建CLI
批量烧录验证
参数化
开始学习 →
18
配置文件管理
YAML/JSON/INI
管理烧录配置
动态加载配置
开始学习 →
19
远程烧录与验证
paramiko SSH
远程烧录
远程执行验证
开始学习 →
20
与CI/CD集成
Jenkins/GitLab CI
流水线自动烧录
测试集成
开始学习 →
21
烧录速度优化
分析烧录瓶颈
DMA/高速模式
减少握手开销
开始学习 →
22
安全烧录实践
固件加密解密
安全校验
防篡改
开始学习 →
23
异常场景模拟
模拟掉电/断连
文件损坏
验证脚本鲁棒性
开始学习 →
24
生成测试报告
pytest-html
报告内容定制
失败截图与日志
开始学习 →
25
数据可视化
matplotlib
成功率趋势图
耗时分布图
开始学习 →
26
设备管理
自动识别串口
多设备状态管理
热插拔处理
开始学习 →
27
固件差分烧录
只烧录变化部分
差分算法简介
实现与验证
开始学习 →
28
实战项目一:单板烧录验证工具
从脚本到GUI
完整工具链
验证集成
开始学习 →
29
实战项目二:多板并行烧录系统
并行烧录与验证
报告生成
性能监控
开始学习 →
30
课程总结与进阶方向
常见FAQ
推荐学习资源
下一步路径
开始学习 →