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

stm32G0擦除FLASH进入hardFault?

[复制链接]
华仔 提问时间:2023-5-27 10:29 / 未解决

请教各位大佬,我再使用STM32g051c8tb时,发现擦除单页时,会出现HardFault中断,然后读取FLASH状态显示为CFGBSY一直为1,用软件清不了零,不清楚是什么原因?有时候可以正常擦除,擦除数据地址可以被8整除的。

image.png

通过仿真执行擦除这段代码,有时可以正常,有时就异常进入HardFault里面。

image.png

这是我要保存到芯片内部FLASH的数据内容,指定起始地址,可以被8整除的。

通过百度也查询了一下解决措施,将未初始化的变量都初始化了,没有用的变量都去掉了,擦除页错误还是会偶尔出现的。

收藏 评论2 发布时间:2023-5-27 10:29

举报

2个回答
lemonboard 回答时间:2023-5-27 16:29:43

需要按页擦除,而不是按8字节擦除。

话说,为什么要指定内存地址啊~~

你这段内存地址可以被系统分配了哟

butterflyspring 回答时间:2023-5-29 10:18:41
指定的地址应该是FLASH中的地址要对齐。楼主也可以参考有下库中的例程。另外仿真擦除部分代码时可平时其他的会稍有区别,不同编译器的状态也会有不同,所以断点最好不要放在中间,最后结果正常就达到目的了。 stm32g051 programming flash.PNG




所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版