[APM32E0] 在使用模拟EEPROM的时候时常hardfault

[复制链接]
880|41
野玫瑰 发表于 2026-3-23 11:39 | 显示全部楼层
模拟 EEPROM 触发 HardFault 多因三类问题:一是地址越界,访问超出模拟 EEPROM 的存储区域;二是时序冲突,读写操作未做互斥保护导致数据错乱;三是栈溢出 / 内存踩踏,中断中频繁读写模拟 EEPROM 耗尽栈空间。需添加地址校验、关中断保护读写、优化栈大小,定位时可查 HardFault 中断寄存器锁定错误源。
总结
核心诱因是地址越界、时序冲突、栈溢出 / 内存踩踏;
解决关键是地址校验、互斥保护、优化栈空间,结合寄存器定位错误。
梦境摆渡人 发表于 2026-5-15 09:12 | 显示全部楼层
我建议你检查一下你的代码逻辑,确保在写入EEPROM之前,flash页面已经被正确擦除。有时候逻辑错误也会导致hardfault。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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