打印
[STM32F2]

关于IAP跳转失败

[复制链接]
1441|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jeckboy|  楼主 | 2015-10-16 19:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
香版主:我用的CPU为STM32F205VE,之前一直用的IAP功能,很正常。可是这次的工程编译出来以后,总是跳转失败,经过仿真发现是跳转函数里这句过不去:if((JumpAddress & 0x2FFF0000 ) == 0x20000000),查看了JumpAddress值是0x2001d003,也就是我的工程编译出来的bin文件开头4个字节就是这个值,而我之前用的正常的工程文件,都是0x2000xxxx的,但是不知道是什么导致的,之前没有仔细研究过。我把编译地址改成0,编译结果还是0x2001xxxx,把优化什么的都去掉,还是不变,烧写到CPU里是能够正常运行的,各项功能也正常,但就是这个地址不是0x2000,实在搞不懂跟什么有关,特来请教专家,盼尽快解决,折腾好几天了!
沙发
zchong| | 2015-10-17 17:46 | 只看该作者
1、首先你要搞明白你编译出来的bin文件最开始的4个直接的含义:你应用程序的栈指针
2、0x2FFF0000的意思应该是说你的处理器内存不大于64K,如果栈超过64K说明你程序必然有问题了

使用特权

评论回复
评论
jeckboy 2015-10-18 22:58 回复TA
完全正解!谢谢大侠! 
评分
参与人数 1威望 +4 收起 理由
jeckboy + 4 赞一个!
板凳
mintspring| | 2015-10-18 11:15 | 只看该作者
跳转的地址不对,没有跟你的芯片型号对应上吧。还有你写入APP的地址要跟跳转目的地址一样才行。

使用特权

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

本版积分规则

7

主题

30

帖子

0

粉丝