打印
[STM32]

咨询个STM32 IAP的问题,求大神解答

[复制链接]
842|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
suwerty0000|  楼主 | 2017-6-5 14:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在代码中有一句
if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)   
//判断栈定地址值是否在0x2000 0000 - 0x 2000 2000之间

这个App的值算出来应该是xx1x 0000 0000 000x 0000 0000 0000 0000(x代表0或1都可以)
=0x2000 0000 ~ 0xF001 0000

为什么官方说这句话是判断App值是在0x2000 0000 ~ 0x 2000 2000之间呢

相关帖子

沙发
coody| | 2017-6-5 14:48 | 只看该作者
没毛病的,是你理解错误。
这个App的值算出来应该是xx1x 0000 0000 000x xxxx xxxx xxxx xxxx(x代表0或1都可以)

使用特权

评论回复
板凳
suwerty0000|  楼主 | 2017-6-5 15:03 | 只看该作者
coody 发表于 2017-6-5 14:48
没毛病的,是你理解错误。
这个App的值算出来应该是xx1x 0000 0000 000x xxxx xxxx xxxx xxxx(x代表0或1都 ...

谢谢,刚才算错了,确实是xx1x 0000 0000 000x xxxx xxxx xxxx xxxx,
但是那也等于0x2000 0000 ~ 0xF002 0000吧
怎么编程成0x2000 0000 ~ 0x 2000 2000之间呢

使用特权

评论回复
地板
suwerty0000|  楼主 | 2017-6-5 15:03 | 只看该作者
coody 发表于 2017-6-5 14:48
没毛病的,是你理解错误。
这个App的值算出来应该是xx1x 0000 0000 000x xxxx xxxx xxxx xxxx(x代表0或1都 ...

谢谢,刚才算错了,确实是xx1x 0000 0000 000x xxxx xxxx xxxx xxxx,
但是那也等于0x2000 0000 ~ 0xF002 0000吧
怎么变成       0x2000 0000 ~ 0x2000 2000之间呢

使用特权

评论回复
5
fengfeng的恒| | 2017-6-6 09:18 | 只看该作者
STM32中,代码的最开始保存的是栈的栈顶地址,入栈的时候SP会移动的,那表示栈就是在一个范围了。至于范围有多大,看你设置了。

使用特权

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

本版积分规则

3

主题

9

帖子

0

粉丝