有没有可靠稳定的gprs stm32 远程程序升级方案?

2019-12-11 18:20发布

要求能回滚到上一个版本
最好有成熟产品
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
29条回答
sddp001
1楼-- · 2019-12-12 21:24
直接 bootloader上来就把路走错了
dalarang
2楼-- · 2019-12-13 02:39
zhangsusu 发表于 2015-9-30 03:40
我们设想的方案 是用一个stm8 + flash 当做stm32的下载器 gprs 把程序交给stm8 stm8通过swd 更新stm32的代 ...


我觉得没必要,STM8通过SWD更新STM32的话,还要吃透SWD才行,这方面容易出问题。

不会有完整的方案,顶多给个思路而已,具体的东西还要自己做才行。
IAP升级说白了就是代码区的覆盖,将新代码覆盖到代码区而已,我们所作的就是围绕这一目标怎么去实现它。
完全可以外挂个FLASH作为代码临时存储,通过GPRS接收IAP升级数据存储到外部FLASH,在接收完毕后如果校验完毕,复位进入bootloader,在bootloader中将原有的APP代码区复制到指定存储区作为回滚备份,然后执行正常的IAP升级覆盖即可。如果想回滚,复位后在bootloader按照一定方式将备份的代码覆盖回代码区即可。
这样有个问题就是如果升级文件本身有问题,导致升级后进入APP卡死,不能复位到bootloader也不能连接GPRS升级。这时候就可以通过增加一个STM8作为复位控制,当STM8检测到STM32启动后未能正确运行,通过对RST的控制使STM32复位进入bootloader,bootloader在跳转至APP之前进行判断,如果是升级后无法正常运行而多次复位的话,自动回滚。
styleno1
3楼-- · 2019-12-13 08:28
联网设备,要稳定可靠,可以考虑部署到公有云。
Excellence
4楼-- · 2019-12-13 11:19
 精彩回答 2  元偷偷看……
smithding
5楼-- · 2019-12-13 12:14
OTA 要做好不容易,高可靠,高效,特别是gprs低速情况下
10xjzheng
6楼-- · 2019-12-13 14:55
zhangsusu 发表于 2015-9-30 03:38
您有没有验证过的方案 莫元给您没问题

我验证过啦,比如也不会一下子拿出那张图

一周热门 更多>