你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 IAP远程升级

[复制链接]
walkout 提问时间:2014-12-10 11:12 /
我现在使用IAP升级,升级方式是一个IAP程序+2个APP程序+标志位,开始使用JLINK下载IAP程序,IAP下载APP1,然后每次启动根据标志启动APP1或者APP2;和面APP1和APP2都可以升级对方,只有一个APP在运行都可以升级另外一个APP程序,现在的问提是APP1(或者APP2)升级完APP2(或者APP1)后STM32必须重启一下,不然运行一点时间当前的APP后死掉,不知道哪位遇见过这样的情况,当前APP不升级另外一个APP就好好的运行,只有当前APP升级另一个APP后,过一段时间就会死掉,也不知道死在那个地方,APP都升级成功了。。。。。
收藏 评论7 发布时间:2014-12-10 11:12

举报

7个回答
chaplin1999-262 回答时间:2014-12-11 12:34:01
你这个升级思路不对,所有应用程序必须由iap程序升进去。
如当前运行app1,要升级app2,并运行,应该在app1中,改写标志,然后复位跳转到iap程序中,通过iap升级app2 ,升级成功后,改写标志,映射app2 的中断向量到sram,然后跳转app2 执行。反之也一样。我们目前产品就是这么做,一直很稳定!
wambob 回答时间:2014-12-11 20:05:03
没有远程升级过,但是升级的步骤如果不对的话,肯定不会成功
奔跑小蜗牛 回答时间:2014-12-14 13:11:13
只能靠iap升级app,app自身直接升来升去的,程序运行指针搞乱套了的都,还有一些变量在升级完也不是初始状态,中断向量跳来跳去跳乱套。
Dylan疾风闪电 回答时间:2014-12-28 21:51:59
mark
备用学习
回答时间:2014-12-29 10:36:44
主要是一些向量不能冲突,2个APP生成的BIN文件不要在同一个区域。要用实际的FLASH地址区分开。
APP BOOTLAODER 先运行,然后判断标志位是要执行哪个区域的代码。再JAMP到指定的入口地址。
Tension-419367 回答时间:2014-12-29 16:56:32
我之前是采用的也是整体升级,进入升级模式后,加载代码至RAM,开始覆盖升级。
cjq_enjoy-15073 回答时间:2015-1-13 11:29:12
不错
关于 意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版