OTA 最怕的不是升级失败,而是「升级失败之后连旧版本也回不去」。本文实现一套 A/B 双分区 IAP:协议帧、分块校验、状态元数据双备份、试运行计数与自动回滚,并把丢帧、CRC 错、升级中途掉电、新固件起不来全部实测一遍。
往 Flash 里存参数最容易踩的坑是「写一半掉电」和「擦写寿命」。本文用日志式记录 + 双 bank 轮换 + CRC16 做一套完整的 KV 存储,并用一个能模拟掉电和位翻转的 Flash 仿真器把每种故障都实测一遍。