[STM32F1] 请教stm32 IAP多个app的问题

[复制链接]
 楼主| terminator-04 发表于 2016-10-22 10:49 | 显示全部楼层
本帖最后由 terminator-04 于 2016-10-22 10:52 编辑
Thor9 发表于 2016-10-21 21:44
从APP1跳转到APP2之前,把APP1内所有开启的硬件模块都关闭/复位

我试了一下,也是不行,不过我关闭所有使用的模块的方法是关闭他们的时钟,这样可以吗?或者有其他关闭的方法?
我用了IWDG,由于IWDG一旦开启是无法关闭的,我怕最后是不是还剩下这个造成的,最后我改程序压根就不用iwdg了,但还是不行。。很费解。
shashaa 发表于 2016-10-22 10:50 | 显示全部楼层
看下API 应该需要进行复位操作的吧
 楼主| terminator-04 发表于 2016-10-22 19:49 | 显示全部楼层
shashaa 发表于 2016-10-22 10:50
看下API 应该需要进行复位操作的吧

我看了一下ST官网上的例程,它在完成升级后,是可以直接选择跳转到新程序的复位中断的,不需要复位。
xmshao 发表于 2016-10-24 14:43 | 显示全部楼层
terminator-04 发表于 2016-10-20 23:32
APP1跳到APP2最先不是先跳到APP2复位函数里吗?我仿真了一下,地址是对的。
我还有一个疑问,APP1和APP2 ...

嗯,当你从APP1跳到APP2时,堆和栈都重新初始化了,运行的是另外一套程序环境。
所以RAM这里不存在共用的问题。
建议你检查确认下中断矢量表的配置。
之前就碰到有人外边正确配置一次,结果systeminit()里又按错误的配置运行一次。
ren0zhe 发表于 2017-5-8 17:19 | 显示全部楼层
你好,你生成的bin文件,需要修改IROM1的地址吗?需要和将要放置的flash区域相对应吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部