打印
[STM32F4]

关于F407嵌入式SRAM映射为0x20020000的问题。

[复制链接]
25|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
flycamelaaa|  楼主 | 2025-1-15 16:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人在做F407的IAP功能时,首先调用了以前在F103上面的跳转代码,并根据网上资料写出了在F407芯片下运行的IAP跳转代码。然后就出现问题了,发送跳转函数不执行,调试后发现下面的if语句无法进入。
我很奇怪,因为不管是以前的IAP跳转程序还是网上的跳转程序,在这条语句上都是一致的,按理来说最不应该出问题的就是这句语句。然后通过调试发现,对地址取值按位或得到的数值为0x20020000,与0x20000000不匹配,所以进不去。然后我通过Prg查看寄存器值,如下所示:
发现0x08008000地址的值确实为0x20020000。所以我将if语句中的判断换成了0x20020000,代码就正常运行,可以实现跳转了。关于这个问题,后来我查询了数据手册,确实有一定的记载,如下所示:
但是我用的芯片为STM32F407VET6,并不是F42和F43系列的,按照手册上的表示,应该是0x20000000,而不是0x20020000,因此产生了矛盾。
在网上查询了许久,也没有找到答案,望各位大神指点指点小弟。

使用特权

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

本版积分规则

670

主题

2941

帖子

0

粉丝