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

基于STM32的IAP问题

[复制链接]
带刺儿 提问时间:2013-10-29 09:33 /
最近在做基于STM32的IAP,我想把FALSH分为4个区,1个BOOT区(8002000H开始),2个应用程序区(1区:8002000H开始,2区:8008000开始),1个存储标志位的区(800F000H开始)。在BOOT里面通过读取FLASH里的标志位,来决定跳到应用程序区1还是跳转到应用程序区2。现在能够正常跳转到应用程序区1,不能跳转到应用程序区2,大致问题应该是中断向量表的问题。我应用程序里面的中断向量表设置也是通过读取FLASH标志位来设置,如果APP在1区,则设置为8002000H,在2区设置为8008000。keilc里面设置的编译段为8002000H。
 
请问哪里不对
收藏 评论11 发布时间:2013-10-29 09:33

举报

11个回答
回答时间:2013-10-29 11:28:44

RE:基于STM32的IAP问题

NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
记得设置向量列表
看起来很黑 回答时间:2013-10-29 21:53:36

RE:基于STM32的IAP问题

向量列表的地址也要写正确
tchxttt 回答时间:2013-10-30 20:53:22

回复:基于STM32的IAP问题

设置了NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);能够正常运行APPI,但是不能正常执行APP2啊,并且在Keilc里面也只能设置一个偏移地址啊
 
wenshijian 回答时间:2013-10-30 21:19:13

RE:基于STM32的IAP问题

我晕,你一个芯片里面一个IAP两个APP,这个复杂度挺高的阿,围观你什么时候放弃。
wenshijian 回答时间:2013-10-30 21:21:05

RE:基于STM32的IAP问题

劝你尽早放弃这种想法,否则光中断向量就够你受的
111-418106 回答时间:2013-10-30 22:04:52

RE:基于STM32的IAP问题

两个app还是建立两个工程文件,放在同一个workspace里就行,这样keil设置方便
xing16880 回答时间:2013-10-30 23:34:13

RE:基于STM32的IAP问题

有几种做法:1种是生成一个BOOT工程,再做一个应用工程,通过FLASH-ARM把两个HEX文件合并一下。另一种方法,把BOOT工程生成BIN文件。再把这个BIN文件转换成表格文件。以.H的形式加载到应用工程。
Hiker 回答时间:2013-10-31 13:43:13

回复:基于STM32的IAP问题


你的两块应用程序,要按上图 进行设置。注意,有两处。
story_xjj 回答时间:2013-11-1 21:43:38

RE:基于STM32的IAP问题

围观一下,看解决方案
12下一页
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版