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

st-img
chrome
st-img
firefox
st-img
safari
st-img
ie8及以上
shequ.stmicroelectronics.cn
  • ST意法半导体官网
  • STM32中文官网
  • ST全球论坛
登录/注册
  • 首页
  • 技术问答
  • 技术帖
  • 话题
  • 资源
  • 创客秀
  • 视频
  • 标签
  • 积分商城
  • 每日签到
Spirit Lee

Spirit Lee

 

回答数 0 关注数 0
关注 私信
  • 动态99
  • 提问
  • 回答0
  • 创客秀 0
  • 分享 0
  • 关注0
2 回答

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

STM32H7 STM32MPU
butterflyspring butterflyspring 回答时间: 昨天 16:35

可以看看是不是ECC双位错误。 1.H7 内部 Flash 是以256bit(32 字节)为一个 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 物理内容已经被擦除/ 损坏,会随机触发总线异常

赞1
Spirit Lee Spirit Lee


阅读作者更多的帖子

所在话题

参与活动

  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16