[STM32H5] 读取 Data Flash 莫名触发硬 fault 无数据写入也出现

[复制链接]
393|56
dspmana 发表于 2026-2-13 12:05 | 显示全部楼层
访问Data Flash时需关闭对应缓存属性,否则会触发硬Fault异常。
tabmone 发表于 2026-2-13 15:01 | 显示全部楼层
通过HardFault处理器的输出,重点看CFSR寄存器的DACCVIOL、MMARVALID、BFARVALID位
macpherson 发表于 2026-2-13 15:26 | 显示全部楼层
检查地址是否在有效 Flash 范围内且对齐
cemaj 发表于 2026-2-13 16:06 | 显示全部楼层
是否调用了 HAL_FLASH_Unlock()?
deliahouse887 发表于 2026-2-13 22:08 | 显示全部楼层
若栈 / 堆配置过小,或局部变量 / 数组过大,程序运行到读 Flash 时栈已溢出,触发 HardFault。
wilhelmina2 发表于 2026-2-14 11:01 | 显示全部楼层
先精准定位 HardFault 的触发点
adolphcocker 发表于 2026-2-14 13:40 | 显示全部楼层
访问未关闭缓存属性的只读数据区域也会触发硬Fault异常。
jkl21 发表于 2026-2-14 15:08 | 显示全部楼层
极少数情况 Flash 单元物理损坏,但新芯片概率极低
chenci2013 发表于 2026-2-14 16:29 | 显示全部楼层
未解锁 Flash 就读是最常见原因
kkzz 发表于 2026-2-14 17:48 | 显示全部楼层
校验地址与权限              
iyoum 发表于 2026-2-15 09:39 | 显示全部楼层
Flash 等待周期 配置错误              
claretttt 发表于 2026-2-15 11:30 | 显示全部楼层
使用 HardFault Handler 获取寄存器状态
elsaflower 发表于 2026-2-15 16:16 | 显示全部楼层
检查故障地址              
明日视界 发表于 2026-2-16 14:45 | 显示全部楼层
使用工具实时监测指令,展现故障发生前函数调用路径。
线稿xg 发表于 2026-2-24 15:49 | 显示全部楼层
写入单个扇区失败,先检查写指令和数据,再查扇区地址和读写时序。
Pretext 发表于 2026-2-27 13:53 | 显示全部楼层
获取硬故障和错误状态寄存器信息,能帮你找到问题根源。
物联万物互联 发表于 2026-2-28 22:21 | 显示全部楼层
避免直接用裸指针访问Flash地址,因为这可能导致不稳定或损坏。使用库函数或特定指令来安全访问。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0