嵌入式测试学习第 18 天:固件基础:烧录、升级、OTA
固件基础:烧录、升级、OTA
- 一、固件是什么
- 二、固件烧录(本地烧录)
- 1. 实物:烧录器+目标板
- 2. 核心接口(SWD/JTAG)
- 3. 烧录流程(PC端)
- 4. 测试要点
- 5. 常见故障
- 三、固件升级(本地升级)
- 1. 概念
- 2. 实物:USB/串口+目标板
- 3. 升级流程(IAP:In‑Application Programming)
- 4. 测试要点
- 四、OTA升级(远程无线升级)
- 1. 概念
- 2. 实物:带无线模块的开发板
- 3. 核心原理(双分区备份,防变砖)
- 4. 典型架构
- 5. 测试要点
- 五、烧录/升级/OTA 对比速览
一、固件是什么
固件(Firmware)是写入芯片Flash中的程序+配置+参数,相当于嵌入式设备的“系统+APP”。
- 格式:
.hex/.bin/.elf - 存放:MCU内部Flash或外部SPI Flash(如W25Q64)
- 作用:硬件上电后运行固件,实现功能(采集、控制、通信)
二、固件烧录(本地烧录)
1. 实物:烧录器+目标板
常见工具:ST‑LINK、J‑LINK、DAP‑LINK、脱机烧录器
- ST‑LINK/V2:STM32最常用,USB连PC、SWD连目标板
- J‑LINK:速度快、支持多内核(ARM/RISC‑V)
- 脱机烧录器:工厂量产,无需PC,一键烧录
2. 核心接口(SWD/JTAG)
以STM32为例(4线SWD最常用):
- SWCLK:时钟
- SWDIO:数据
- VCC:3.3V
- GND:地
3. 烧录流程(PC端)
- 安装驱动与软件(如STM32CubeProgrammer、J‑Link Commander)
- 烧录器USB插PC,SWD线接目标板
- 打开软件→选择芯片→加载
.hex/.bin - 点击“Download”→自动擦除→编程→校验
- 提示“Verify OK”即成功
4. 测试要点
- 烧录后上电能正常启动(LED/串口有输出)
- 校验通过:防止数据错误
- 重复烧录10次以上,无失败、无坏块
- 异常:连接失败、校验错误、上电不运行
5. 常见故障
- 接线错(SWDIO/SWCLK反了)
- 目标板未供电或电压不足
- Flash写保护未解除
- 烧录器驱动不匹配
三、固件升级(本地升级)
1. 概念
升级=旧固件→新固件(同硬件、功能迭代)
- 本地升级:USB/串口/SD卡,需现场接线或插卡
- 区别于烧录:不擦除Bootloader,只更新应用区
2. 实物:USB/串口+目标板
- USB虚拟串口(VCP):开发板Micro/Type‑C直连PC
- 串口模块(CH340):TX/RX交叉接目标板
3. 升级流程(IAP:In‑Application Programming)
- 芯片有Bootloader(引导程序)
- PC发新固件(
.bin)→USB/串口→目标板 - Bootloader接收并写入应用Flash区
- 重启→运行新固件
4. 测试要点
- 升级后功能正常、版本号更新
- 升级过程不掉电、不断连
- 断电后重启,新固件不丢失
- 异常:升级失败、重启回退旧版、功能错乱
四、OTA升级(远程无线升级)
1. 概念
OTA(Over‑the‑Air)=空中下载,通过Wi‑Fi/蓝牙/4G远程更新固件,无需现场、无需拆机。
- FOTA:Firmware OTA(底层固件)
- SOTA:Software OTA(应用层)
2. 实物:带无线模块的开发板
ESP32:Wi‑Fi+蓝牙,内置Flash,支持OTA
STM32+Wi‑Fi模块(ESP‑01S):外接无线,远程升级
4G模块(WH‑GM5):物联网设备远程维护
3. 核心原理(双分区备份,防变砖)
- Flash分A(运行区)、B(备份区)
- 设备联网→连云平台→检测新版本
- 后台下载新固件到B分区
- 校验(MD5/CRC)→标记B为启动区
- 重启→从B分区运行新固件
- 失败则回退A分区,永不死机
4. 典型架构
设备端(ESP32/STM32+无线)→路由器/基站→云服务器(版本仓库)
5. 测试要点
- 正反场景:正常升级、网络中断、断电重启、版本回退
- 稳定性:连续升级5次,无失败、无丢包
- 安全性:固件加密+签名校验,防篡改
- 性能:下载速度、升级耗时、内存占用
- 异常:下载卡死、校验失败、重启后变砖、反复重启
五、烧录/升级/OTA 对比速览
| 方式 | 连接方式 | 适用场景 | 核心风险 |
|---|---|---|---|
| 烧录 | SWD/JTAG(有线) | 量产、首次写入 | 接线错、芯片锁死 |
| 本地升级 | USB/串口/SD卡 | 现场维护、小批量 | 掉电变砖、数据损坏 |
| OTA升级 | Wi‑Fi/蓝牙/4G(无线) | 海量设备、远程维护 | 网络攻击、版本兼容 |
