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

Flash擦除时必须关闭数据缓存data cache 吗?

[复制链接]
miraclexue 提问时间:2019-7-6 01:13 /
如题,stm32F4系列,初始化会开启数据缓存功能,那么在擦除flash的时候,需要关闭吗?不关闭会带来什么后果?FLASH_Unlock();

FLASH_DataCacheCmd(DISABLE);
擦除flash操作;
FLASH_DataCacheCmd(ENABLE);
FLASH_Lock();



标准库貌似没有在擦除时操作data cache,但是cube库在擦除完后会Flush data cache
收藏 评论9 发布时间:2019-7-6 01:13

举报

9个回答
maxtch 回答时间:2019-7-7 15:33:02
不关闭缓存的话会发生缓存不一致现象。这种现象会引发大问题的。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

miraclexue 回答时间:2019-7-7 21:37:31
maxtch 发表于 2019-7-7 15:33
不关闭缓存的话会发生缓存不一致现象。这种现象会引发大问题的。

如果要擦除的页只是存储一些参数,没有存放程序,那会不会就没有影响呢
maxtch 回答时间:2019-7-8 10:47:13
miraclexue 发表于 2019-7-7 21:37
如果要擦除的页只是存储一些参数,没有存放程序,那会不会就没有影响呢 ...

参数读取就是要经过数据缓存的。
七哥 回答时间:2019-7-8 16:16:04
擦除未使用的Flash段,应该没有影响吧。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

generalcircuits 回答时间:2019-7-8 16:54:07
对的,不关闭缓存的话会发生缓存不一致现象。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

miraclexue 回答时间:2019-7-8 23:20:42
maxtch 发表于 2019-7-8 10:47
参数读取就是要经过数据缓存的。

两个疑问:
1、只要擦除后执行的代码只要和被擦除的页不相关,就没问题吧?
2、假如相关,擦除和写入都要关闭数据缓存吗?
miraclexue 回答时间:2019-7-8 23:22:05
toofree 发表于 2019-7-8 16:16
擦除未使用的Flash段,应该没有影响吧。

未使用指的是后面的代码没有在此flash段中,而且也没有访问此flash段?是这个意思?
miraclexue 回答时间:2019-7-8 23:22:38
generalcircuits 发表于 2019-7-8 16:54
对的,不关闭缓存的话会发生缓存不一致现象。

擦除和写入都需要关闭?
miraclexue 回答时间:2019-7-15 23:18:42
顶一个

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版