嵌入式测试学习第 18 天:固件基础:烧录、升级、OTA
固件基础烧录、升级、OTA一、固件是什么二、固件烧录本地烧录1. 实物烧录器目标板2. 核心接口SWD/JTAG3. 烧录流程PC端4. 测试要点5. 常见故障三、固件升级本地升级1. 概念2. 实物USB/串口目标板3. 升级流程IAPIn‑Application Programming4. 测试要点四、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/V2STM32最常用USB连PC、SWD连目标板J‑LINK速度快、支持多内核ARM/RISC‑V脱机烧录器工厂量产无需PC一键烧录2. 核心接口SWD/JTAG以STM32为例4线SWD最常用SWCLK时钟SWDIO数据VCC3.3VGND地3. 烧录流程PC端安装驱动与软件如STM32CubeProgrammer、J‑Link Commander烧录器USB插PCSWD线接目标板打开软件→选择芯片→加载.hex/.bin点击“Download”→自动擦除→编程→校验提示“Verify OK”即成功4. 测试要点烧录后上电能正常启动LED/串口有输出校验通过防止数据错误重复烧录10次以上无失败、无坏块异常连接失败、校验错误、上电不运行5. 常见故障接线错SWDIO/SWCLK反了目标板未供电或电压不足Flash写保护未解除烧录器驱动不匹配三、固件升级本地升级1. 概念升级旧固件→新固件同硬件、功能迭代本地升级USB/串口/SD卡需现场接线或插卡区别于烧录不擦除Bootloader只更新应用区2. 实物USB/串口目标板USB虚拟串口VCP开发板Micro/Type‑C直连PC串口模块CH340TX/RX交叉接目标板3. 升级流程IAPIn‑Application Programming芯片有Bootloader引导程序PC发新固件.bin→USB/串口→目标板Bootloader接收并写入应用Flash区重启→运行新固件4. 测试要点升级后功能正常、版本号更新升级过程不掉电、不断连断电后重启新固件不丢失异常升级失败、重启回退旧版、功能错乱四、OTA升级远程无线升级1. 概念OTAOver‑the‑Air空中下载通过Wi‑Fi/蓝牙/4G远程更新固件无需现场、无需拆机。FOTAFirmware OTA底层固件SOTASoftware OTA应用层2. 实物带无线模块的开发板ESP32Wi‑Fi蓝牙内置Flash支持OTASTM32Wi‑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无线海量设备、远程维护网络攻击、版本兼容