你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 IAP

[复制链接]
anobodykey 提问时间:2016-4-29 16:07 /
近日在学习IAP时遇到一个问题,在检测APP程序所处地址是否已经编写了应用代码时使用的是以下语句
  1. /* Test if user code is programmed starting from address "APPLICATION_ADDRESS" */
  2.             if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000)
复制代码
即检测栈地址是否合法处于0x2000_0000 ~ 0x2002_0000之间,但这个区间只有128KB,而STM32系列芯片有很多还有SRAM高达384KB的,即大小为0x60000,那如果栈地址设置的比较高的话,这个检测不就失效了吗?
收藏 评论3 发布时间:2016-4-29 16:07

举报

3个回答
nipenghao 回答时间:2016-4-29 16:33:07
那可以改成 ((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFA0000 ) ,反正你用什么芯片你都知道的,根据大小相应改下好了。
anobodykey 回答时间:2016-4-29 17:29:31
nipenghao 发表于 2016-4-29 16:33
那可以改成 ((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFA0000 ) ,反正你用什么芯片你都知道的,根据 ...

嗯,你说的有道理。
积木工 回答时间:2016-5-2 10:39:12
这个好
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版