stm32 iap疑问

[复制链接]
2171|8
 楼主| Miltonliu2010 发表于 2013-1-23 19:58 | 显示全部楼层 |阅读模式
以前做STM32 IAP的时候没发现什么问题,可是今天新的时候发现一个奇怪的问题。当我把APP地址设为0x8003000的时候,代码可以下载后正常运行。可是将APP地址设为0x8004000或者更大的时候程序能下载,可是不能运行。请问这是为什么?急死我了。
uet_cache 发表于 2013-1-23 21:54 | 显示全部楼层
应用程序中的地址也要相应的改变。。。
JasonWangFAE 发表于 2013-1-24 08:23 | 显示全部楼层
Please check your NVIC offset address setting
jlass 发表于 2013-1-24 09:22 | 显示全部楼层
先确定是不是楼上所说的问题,剩下的就是内存坏块。可以更换芯片来验证。
 楼主| Miltonliu2010 发表于 2013-1-24 12:44 | 显示全部楼层
jlass 发表于 2013-1-24 09:22
先确定是不是楼上所说的问题,剩下的就是内存坏块。可以更换芯片来验证。 ...

不是一楼二楼的问题。0x8003000已经能跑了,我肯定设置了起始地址和NVIC偏移的。内存坏块?
 楼主| Miltonliu2010 发表于 2013-1-24 14:09 | 显示全部楼层
追加一个新的发现:
我之前的APP代码中使用了FREERTOS.但是当我用不含FREERTOS的代码实验时在起始地址大于0x8003000时就可以正常运行了。
jlass 发表于 2013-1-24 15:16 | 显示全部楼层
Miltonliu2010 发表于 2013-1-24 12:44
不是一楼二楼的问题。0x8003000已经能跑了,我肯定设置了起始地址和NVIC偏移的。内存坏块? ...

简单的说就是芯片个体差异:)
不过你好像已经快找到问题了:)
 楼主| Miltonliu2010 发表于 2013-1-28 13:33 | 显示全部楼层
再跟踪调试记录:同一个工程,以0x8003000为起始地址时,跳转后代码正常运行;以0x8006000为起始地址时,跳转后代码可以运行,但是速度变慢;以0x8008000wei 起始地址时,跳转后代码不运行。太TM纠结了。
 楼主| Miltonliu2010 发表于 2013-1-31 12:52 | 显示全部楼层
和硬件初始化顺序有关。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

87

帖子

3

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