打印

STM32 的IAP应用问题

[复制链接]
3783|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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能进入中断吗?

使用特权

评论回复
5
TuBie| | 2009-12-31 21:31 | 只看该作者
哪位大侠能讲讲IAP的原理啊?尤其是针对STM32的执行过程,这个本人没有搞懂,着急想知道,而且也不跑中断。谢谢!

使用特权

评论回复
6
香水城| | 2009-12-31 22:24 | 只看该作者
本帖最后由 香水城 于 2009-12-31 22:25 编辑
哪位大侠能讲讲IAP的原理啊?尤其是针对STM32的执行过程,这个本人没有搞懂,着急想知道,而且也不跑中断。谢谢!
TuBie 发表于 2009-12-31 21:31

看看我的博客:什么是IAP?如何实现IAP?

使用特权

评论回复
7
火箭球迷| | 2010-1-1 11:44 | 只看该作者
看了,感觉不错

使用特权

评论回复
8
TuBie| | 2010-1-1 14:15 | 只看该作者
6# 香水城

香主万岁万岁万万岁!

使用特权

评论回复
9
xzq1019|  楼主 | 2010-1-1 20:10 | 只看该作者
谢谢lxyppc,香主还有各位同仁的热心回答,我把问题解决了问题是我在boot程序中执行跳转指令是在CAN接受中断中执行的
问题是在这里产生的,当从CAN接受中断中跳转到应用区时,整个应用区程序都是Boot程序中CAN接收中断的ISR,于是在应用区中任何优先级低于CAN接受中断的中断程序都是得不到执行的。
具体解决过程见我博客
http://xzq1019.blog.163.com/blog/static/5996566520100181146689/

使用特权

评论回复
10
hsbjb| | 2010-1-2 16:19 | 只看该作者
看完楼主的贴,就知道APP应该是被中断打断了,以前我也遇到过,中断没用好,很容易使程序跑乱

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

168

帖子

2

粉丝