STM32 的IAP应用问题

[复制链接]
 楼主| xzq1019 发表于 2009-12-30 22:12 | 显示全部楼层 |阅读模式
有人做过STM32 的IAP吗
我用CAN接口做了IAP
有两个程序区
8000000-8002000是BOOT区,写入的启动代码,引导应用程序写入的。
8002000-结尾是应用区,APP程序区
现在的问题是进行APP程序后,不响应中断
如果不用中断程序,在APP工作一切正常,用中断程序的话就不正常
有没有高手做过啊,帮忙解答一下,说一下我的设置
在应用程序区APP区,
IROM设置8002000-801E000共56K为应用程序区。
在LINKer中设置R/O base为8002000
在NVIC初始化时设置:  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);
其它地方没有动过,请高手解秋为何不进中断啊,郁闷我N天了。
司徒老鹰 发表于 2009-12-30 22:12 | 显示全部楼层
没做过……
 楼主| xzq1019 发表于 2009-12-30 22:13 | 显示全部楼层
通过CAN把生成的二进制代码写进去后不响应中断,真让人郁闷
lxyppc 发表于 2009-12-30 23:37 | 显示全部楼层
你在什么时候调用的NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);
在Boot中有没有用到中断,你可以用调试器跟一下,看中断时代码执行到了什么地方
还有,你的代码如果不用Bootloader写入,定位到0x0800 0000能进入中断吗?
TuBie 发表于 2009-12-31 21:31 | 显示全部楼层
哪位大侠能讲讲IAP的原理啊?尤其是针对STM32的执行过程,这个本人没有搞懂,着急想知道,而且也不跑中断。谢谢!
香水城 发表于 2009-12-31 22:24 | 显示全部楼层
本帖最后由 香水城 于 2009-12-31 22:25 编辑
哪位大侠能讲讲IAP的原理啊?尤其是针对STM32的执行过程,这个本人没有搞懂,着急想知道,而且也不跑中断。谢谢!
TuBie 发表于 2009-12-31 21:31

看看我的博客:什么是IAP?如何实现IAP?
火箭球迷 发表于 2010-1-1 11:44 | 显示全部楼层
看了,感觉不错
TuBie 发表于 2010-1-1 14:15 | 显示全部楼层
6# 香水城

香主万岁万岁万万岁!
 楼主| xzq1019 发表于 2010-1-1 20:10 | 显示全部楼层
谢谢lxyppc,香主还有各位同仁的热心回答,我把问题解决了问题是我在boot程序中执行跳转指令是在CAN接受中断中执行的
问题是在这里产生的,当从CAN接受中断中跳转到应用区时,整个应用区程序都是Boot程序中CAN接收中断的ISR,于是在应用区中任何优先级低于CAN接受中断的中断程序都是得不到执行的。
具体解决过程见我博客
http://xzq1019.blog.163.com/blog/static/5996566520100181146689/
hsbjb 发表于 2010-1-2 16:19 | 显示全部楼层
看完楼主的贴,就知道APP应该是被中断打断了,以前我也遇到过,中断没用好,很容易使程序跑乱
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

167

帖子

2

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