BootLoader的制作和IAP升级

这次来分析下Bootloader的制作和IAP升级
现在升级肯定是必不可少的,IAP(在应用中升级就是比较常见的)
首先FLASH划分为BootLoader区,APP应用区,备份FLASH区。
基本流程是这样,
1.在APP里接收完bin文件(包括版本号,整个文件大小,整个文件的CRC),
2.并且存储到备份FLASH区中,
3.对备份FLASH里的数据做CRC校验,和下发bin文件的整个文件CRC做对比。
4.确定无误后软复位重启
5.重启后程序进入bootLoader区域,这时候会判断版本号
6.如果确定版本号不同,就进行升级模式,将备份FLASH拷贝到APP FLASH中。拷贝完之后,对APP FLASH做CRC校验,确保写入APP FLASH是正确不出错的
7.在FLASH里更新版本号
8.BootLoader跳转到APP去。

注意事项:
1.在BootLoader中首先判断版本号,备份FLASH里的版本号和APP的版本号做对比,如果一样则直接跳转到APP。如果不一样,进入升级状态。
1.如果在下载过程中出现断电了,那么这个时候备份FLASH里接收到的文件是不完整的。重启到BootLoader时按照整个文件大小进行CRC校验,会发现CRC校验不通过,认定程序是错误的。因此不会进入升级模式,直接跳转到APP
2.如果备份FLASH是完整的,但是在拷贝到APP中出现错误,可以让它软复位重启,再次将备份FLASH拷贝到APP中。也可以什么不做,断电重启后,自己还是会将备份FLASH拷贝到APP中。如果在拷贝到APP一直出错,导致CRC校验一直没通过,这是其它情况了。正常来说是不会出现这样的情况。
3备份FLASH只有在APP接收完bin文件的情况下才会擦除覆盖

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值