F429 IAP程序升级方案

2019-07-20 13:59发布

之前没有做过IAP方式的程序升级,看了些资料,大多都是在BootLoader里面串口接收程序升级包然后进行升级在进入主程序。我现在是想在主应用程序中接收升级包然后复位板子进入BootLoader让其进行升级,那么有什么好的方案呢?我这样想可行吗:我BootLoader程序的设置是 360截图20170613101552932.jpg 即留了64K字节的空间给BootLoader,主应用程序的地址就是0x8010000。主程序负责接收程序升级包,升级包存放在没有用到的ROM区域,BootLoader的作用就是把升级包拷到0x8010000地址然后启动新的程序,这样可行吗,或者有其他好的方式?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
DongInker
2019-07-21 09:52
我觉得你是想实现 主程序跳转到boot,并更新主程序的功能吧。
我的设计方法是
1 主程序要进入升级,触发升级事件。
2 标记内存记号。
3 主程序软重启。
4 重启boot代码检测内存标记对比(前提boot工程设计是“不对”内存标记的地址初始化,保证主程序写入重启数据不倍擦除)
5 对比符合进入boot更新代码。

一周热门 更多>