STM32在线升级方案

目前做的一个MH1902项目,在线升级部分设计这样的功能逻辑,目前没有什么问题运行正常

    1. 上电进入IAP程序,先判断升级标志位jrTerminalParam.ProgramUpState,0x31为升级,0x21不升级
    1. 若标志位为0x31,通信,擦写APP数据,标志位写0x21,重启
    1. 若标志位为0x21,校验APP程序,没问题修改跳转到APP,修改中断向量表,初始化
    1. 校验APP程序有问题,则继续运行IAP,上报升级失败
    1. 正常运行时检测到进入升级,修改标志位jrTerminalParam.ProgramUpState为0x31,重启

查阅网上其他的方案,其中有点设置IAP, APP1, APP2三个区的方案,上电从IAP开始运行,跳到APP1,接收到升级文件,存储在APP2区域,再次重启时判断APP2区域升级文件是否正确,校验成功则复制到APP1区域,清空APP2,再跳转到APP1继续工作,这也是种方案。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值