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

使用STM32H743IIT6,读写MCU内部Flash固定地址与固定长度的区域,出现随机性HardFault错误,请问是什么原因?

[复制链接]
Spirit Lee 提问时间:2026-9-21 11:50 / 未解决
收藏 评论2 发布时间:2026-9-21 11:50

举报

2个回答
butterflyspring 回答时间:昨天 16:35
可以看看是不是ECC双位错误。
1.H7 内部 Flash 是以256bit32 字节)为一个 Flash Word,附带 ECC 校验位,必须一次性完整写满 32 字节,不能只写部分字节 / 部分字到同一个 Flash Word,不擦除就重复写同一个 Flash Word,会造成 Flash 内部多位损坏,触发 DBECCERR(双 bit 错误)双 bit 错误,硬件无法校正,访问该地址直接产生总线错误,进入     HardFault.

2.
Cache 一致性问题(Cortex-M7 D-Cache,高频随机崩溃)
H7 默认打开I-Cache/D-Cache。Flash 擦写是 Flash 硬件修改存储单元,CPU 的D-Cache 里还缓存着旧Flash 数据。擦除 / 写完 Flash 之后,没有对目标 Flash 区域做DCache 无效化 SCB_InvalidateDCache_by_Addr()CPU 再次读取 Flash 时,读的是Cache 里旧数据;如果Flash 物理内容已经被擦除/ 损坏,会随机触发总线异常
废鱼 回答时间:昨天 15:06

一般是数组溢出,检查一下存储的数组大小,和读取的长度是不是一致的。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版