[家电应用] 家电OTA升级失败后变砖,如何设计安全回滚机制?

[复制链接]
152|6
唯一代号 发表于 2026-1-19 15:19 | 显示全部楼层 |阅读模式
我们家电主控用双Bank Flash做OTA,但测试时断电导致新固件写了一半,Bootloader无法跳转,整机瘫痪。现在考虑加一个“升级标志位+校验和”机制:只有完整写入且CRC通过才切换启动区。但担心标志位本身被擦坏。有没有成熟的轻量级方案?比如用最后一页Flash做原子写保护?求经验!
cr315 发表于 2026-1-22 10:52 | 显示全部楼层
推荐采用“双标志位+CRC校验+原子操作”的轻量级方案
duo点 发表于 2026-1-22 11:53 | 显示全部楼层
STM32的Dual Bank OTA方案
永久冻结 发表于 2026-1-22 17:23 | 显示全部楼层
家电 OTA 防砖安全回滚机制设计:1. 划分双分区(主分区 + 备份分区),升级包先写入备份区;2. 校验升级包完整性与签名,校验失败不启动更新;3. 升级后运行自检,异常则触发回滚,BootLoader 引导备份分区启动;4. 加断电保护,中断时不覆盖主分区,保留可恢复状态。
私藏人间 发表于 2026-2-9 15:54 | 显示全部楼层
固件分运行区和备份区,升级包先写入备份区,校验完整性 / 合法性后再切换;
加启动标志位,升级失败则从备份区启动;
关键步骤加 CRC 校验,供电异常 / 校验失败时,MCU 复位后自动回滚至原运行区固件。
总结
核心是固件分区存储,区分运行区和备份区;
升级前校验固件完整性,失败则触发回滚;
靠启动标志位和复位逻辑保障降级可用。
玫瑰凋零日记 发表于 2026-5-13 16:28 | 显示全部楼层
采用双分区架构,划分 App 运行区与备份固件区。OTA 先校验固件完整性、合法性,写入备份区。升级异常立刻触发硬件看门狗复位,自动回滚至旧版可用程序。增加升级锁、断电保护与校验机制,禁止损坏固件覆盖原程序,保障家电升级永不变砖。
老橘树下的桥头 发表于 2026-5-27 16:34 | 显示全部楼层
采用双分区设计,划分App 运行区、备份固件区。OTA 先写入备份区,校验固件完整性与签名;校验通过再切换运行。升级中途断电失败,系统自动检测固件异常,从备份区安全回滚启动。禁止覆盖原运行固件,搭配硬件看门狗,启动自检超时立即回滚,彻底防变砖。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

54

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
0