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

STM32G031进hardfault的问题

[复制链接]
Hyacincher 提问时间:2021-8-23 11:13 /
收藏 评论6 发布时间:2021-8-23 11:13

举报

6个回答
Hyacincher 回答时间:2021-8-23 11:18:59
1234568
Hyacincher 回答时间:2021-8-23 11:25:12
项目使用的STM32G031G8U6这个片子,最新hal库。经过反复测试发现,在IWDG没有init的情况下,调用IWDG_Refresh会造成FLASH操作随机进hardfault。
每次进hardfault之前的最后操作都是FLASH_LOCK,也就是FLASH->CR的bit31,只要写这个就有几率进hardfault。有时候是hardfault,有时候是能擦除但flash值不是0xff,有时候是flash擦除成功且值也改成了0xff。
而且不管是擦除还是写入双字,只要写了FLASH->CR的LOCK都有可能触发。请问这个是由什么原因造成的呢?
Hans.he 回答时间:2021-8-23 11:40:06
Hyacincher 发表于 2021-8-23 11:25
项目使用的STM32G031G8U6这个片子,最新hal库。经过反复测试发现,在IWDG没有init的情况下,调用IWDG_Refre ...

https://shequ.stmicroelectronics ... d=631073&extra=
请看这个帖子 我这个问题也会导致你说的hardfault。我发现过。
不过我目前找原厂,原厂还没有解决,只是简单证明他那里说是没问题。
xmshao 回答时间:2021-8-23 12:59:14
你在fash编程过程中要竭力避免电源波动或复位操作,否则可能发生flash-cr寄存器被锁住的情形,并导致总线错误,产生hardfualt中断。
Hans.he 回答时间:2021-9-17 12:01:34
Hyacincher 发表于 2021-8-23 11:25
项目使用的STM32G031G8U6这个片子,最新hal库。经过反复测试发现,在IWDG没有init的情况下,调用IWDG_Refre ...

我发现你这个问题应该是CR寄存器中的CFGBSY为1的情况下 操作了LOCK。导致出现hardfault故障。
Hans.he 回答时间:2021-9-17 12:02:27
Hyacincher 发表于 2021-8-23 11:25
项目使用的STM32G031G8U6这个片子,最新hal库。经过反复测试发现,在IWDG没有init的情况下,调用IWDG_Refre ...

我发现你这个问题应该是CR寄存器中的CFGBSY为1的情况下 操作了LOCK。导致出现hardfault故障。你可以仿真一下 keil软件会出现这个情况,我测试发现了这个问题。

所属标签

相似问题

官网相关资源

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