
本帖最后由 厦门浪子 于 2017-11-13 15:29 编辑 为了做到能IAP升级,分为bootloader与APP。 当第一次更新升级后,APP应用在run,下次如果还要下一版本的软件升级(即每次更新固件代码都要重启硬件),又要先进入到bootloader区才能实现APP区的刷新。 那么如果设备放在很远的地方进行TFTP更新,为了重启硬件进入bootloader区有什么好方法? 如果更新后运行出错,又要回滚回原始版本,方案如何考虑? |
楼主,我的建议是你在FLASH的某个空余地址设成标志,根据标志决定是加载APP代码还是直接启动已有的代码,我是IAP+APP1+APP2。比如芯片正在跑APP1,然后接受到升级命令先改变之前说的FLASH的某个地址的标志,然后复位开始IAP,APP1可以是现在的代码,升级的代码可以放到APP2的地址,如果不成功还是跳回去![]() |