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

STM32G030F6P6TR 48MHz下Flash擦写必HardFault?官方库疑似有坑,求勘误或替代方案

[复制链接]
红豆沙 提问时间:2026-8-27 17:15 / 已解决

各位大佬好,求助一个底层硬件问题: 我使用的是 STM32G030F6P6TR 芯片,系统主频配置为 48MHz。在调用官方底层库函数进行 Flash 擦写时,程序会直接进入 HardFault 跑飞。

【已排查项】

  1. 传参、地址位置、字节长度全部严格按照参考手册对齐,单步调试看内存数据均正常,确认非应用层逻辑问题。
  2. 查阅手册,Flash 等待周期已按 48MHz 要求正确配置,但官方给的等待周期方案实测依然不管用。
  3. 目前唯一的临时解决办法是把擦写代码搬到 SRAM 中执行才能跑通,但这不符合常规开发逻辑。

【核心诉求】

  1. 请问官方是否有针对 STM32G030 系列的 Flash 擦写勘误表(Errata)?
  2. 48MHz 主频下,官方是否有修复版的底层库函数或正确的寄存器配置推荐?
  3. 如果官方库确实存在兼容性问题,能否提供一份稳定的底层寄存器操作代码框架?

感谢各位技术支持大佬帮忙解答!

收藏 评论2 发布时间:2026-8-27 17:15

举报

2个回答
butterflyspring 最优答案 回答时间:2026-8-28 15:35:29
没发现这个问题和勘误表上有这样的描述。

你是不是直接调用了底层函数,实际上擦除是有例程的,建议参考例程试试。

好多小伙伴都是参照例程的方式擦除和改写数据,并非自己调用函数实现的。


在FLASH中执行擦除时,是会暂停取指一定时间,这时候要考虑应用是否能接受这点时间,单步调试时就能感受到。
xmshao 回答时间:2026-8-31 10:34:14

我这边基于STM32G031芯片和官方固件库【hal 库】做了验证测试,擦写时并无出现fault的必然。 你现在遇到问题,可能还是要结合你具体代码来分析,注意flash擦写时CPU的临时堵塞问题,是否因此导致了异常,你再分析下。

image.png

所属标签

相似问题

官网相关资源

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