打印

stm32 IAP 应用程序地址改为0X8002020,不能正常运行?

[复制链接]
3077|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qbasic|  楼主 | 2010-5-10 10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问版主
我用IAP下载时,如果应用程序设为0X8002000,应用程序下载和运行都正常,但是如果地址改为0X8002020,加载正常读出来的数据也对,但运行却不正常,请问这是为何,难道是字节对齐的问题???
沙发
ST_ARM| | 2010-5-10 10:51 | 只看该作者
中断向量的Offset在NVIC里改了吗?

使用特权

评论回复
板凳
mcuisp| | 2010-5-10 10:54 | 只看该作者
中断向量表有对齐要求,0x8002020显然不满足

使用特权

评论回复
地板
qbasic|  楼主 | 2010-5-10 10:59 | 只看该作者
我的中断向量设置如下
#ifdef RELEASE
   NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x2020);
#else
   NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x0);
#endif
请问中断向量地址是如何对齐?

使用特权

评论回复
5
mcuisp| | 2010-5-10 11:35 | 只看该作者
保险起见,最好按512字节对齐,即你的向量表地址的低9位为0.

使用特权

评论回复
6
qbasic|  楼主 | 2010-5-10 12:17 | 只看该作者
知道了,谢谢!!

使用特权

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

本版积分规则

12

主题

34

帖子

0

粉丝