stm32 iap 远程升级方案讨论

2019-12-27 19:01发布

我想通过GPRS实现STM32的远程升级,想法是把512kflash分成两个应用程序区,平常工作在A区,如果收到升级数据就先写入B区,全部写完后如果校验通过就在某个位置上置标志位然后重启系统。系统在引导区的时候根据标志位来运行A区或B区。有谁能提供个思路呢???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
100条回答
Alvin007
2019-12-29 23:57
回复【11楼】lcslxh  
回复【8楼】Alvin007 
关注中 
lz的思路时将内置flash分成3个区吧 
引导区  应用区A  应用区B 
其实这里的B区完全作为一个外置数据存储器来用了 
如果是这样何不在引导区加入“升级”程序 直接覆盖A区  
如果像4楼所说真的意外中断了 
也只是没有完成升级 引导程序没遭到破坏 
只需要重新升级即可 
不知这样是否可行
--------------------------------------------------------------------
你的这种思路有一个问题是,如果程序已经在运行了呢?在要升级的时候如何转到引导区呢?如何判断是在升级程序还是转到正常运行状态呢
-----------------------------------------------------------------------

有个比较简单的办法 启动的时候直接进入引导区 通过按键等外部接口做选择
例如某些路由器 按住一个RESET键上电即可
我猜想应该是这个思路吧

一周热门 更多>