打印
[STM32F0]

STM32F030RC擦除某个 Flash 页时CPU 崩溃

[复制链接]
677|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
田舍郎|  楼主 | 2025-3-19 22:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用 STM32CubeIDE 开发一个STM32F030RC项目。
当使用“HAL_FLASHEx_Erase”功能擦除某个 Flash 页时(在 Flash 末尾没有代码),CPU 崩溃。
测试可能中断将其打断。所以在擦除之前用 __disable_irq 禁用了中断,并在擦除后用 __enable_irq 启用终端。
擦除完成启用中断后,CPU 仍旧崩溃。


使用特权

评论回复
沙发
公羊子丹| | 2025-3-20 08:20 | 只看该作者
我之前也遇到过类似的问题,最后发现是擦除时 Flash 访问冲突导致的。你有没有检查擦除时是否还有代码或数据被访问?

使用特权

评论回复
板凳
周半梅| | 2025-3-20 08:21 | 只看该作者
你试过在擦除 Flash 之前,把代码跑到 RAM 里执行吗?有时候 Flash 操作时 CPU 读取指令会出问题。

使用特权

评论回复
地板
帛灿灿| | 2025-3-20 08:22 | 只看该作者
你是在哪个中断里调用的擦除操作?如果是在 SysTick 或者其他高优先级中断里执行,可能会导致崩溃。

使用特权

评论回复
5
童雨竹| | 2025-3-20 08:23 | 只看该作者
试试看在擦除 Flash 之前,先关闭 Prefetch 和 ART(如果有的话),然后再执行擦除。

使用特权

评论回复
6
万图| | 2025-3-20 08:24 | 只看该作者
擦除操作完成后,你有没有手动执行 __DSB(); __ISB(); 这些指令来确保 Flash 操作完成并同步?

使用特权

评论回复
7
Wordsworth| | 2025-3-20 08:25 | 只看该作者
你有没有试过在擦除前后加上 HAL_FLASH_Lock(); 和 HAL_FLASH_Unlock();,有时候这个顺序也会影响执行?

使用特权

评论回复
8
Bblythe| | 2025-3-20 08:26 | 只看该作者
可能是擦除某个 Flash 页时影响了 Vector Table?你可以试试把 Vector Table 重新映射到 SRAM 里看看是否还有问题。

使用特权

评论回复
9
Pulitzer| | 2025-3-20 08:27 | 只看该作者
如果只擦除这一页就崩溃,那有没有试过擦除其他页看看?有可能是 Flash 这块区域损坏了?

使用特权

评论回复
10
Uriah| | 2025-3-20 08:28 | 只看该作者
你试过不用 HAL 库,直接操作 FLASH 指令擦除吗?有时候 HAL 库的封装会隐藏一些细节,导致问题不好排查。

使用特权

评论回复
11
Clyde011| | 2025-3-20 08:29 | 只看该作者
你有没有打开 Debug,在崩溃后看下 PC 和 LR 寄存器的值,看看 CPU 到底是跑飞到哪里了?

使用特权

评论回复
12
cr315| | 2025-3-20 11:12 | 只看该作者
电源电压不稳定可能导致MCU在擦除Flash时崩溃。

使用特权

评论回复
13
jcky001| | 2025-3-20 12:28 | 只看该作者
软件中存在bug,如堆栈溢出、内存泄漏等,可能导致CPU在擦除Flash时崩溃。

使用特权

评论回复
14
elephant00| | 2025-3-20 12:28 | 只看该作者
外部电磁干扰、静电干扰等可能影响MCU的正常运行,导致擦除Flash时崩溃。

使用特权

评论回复
15
两只袜子| | 2025-3-20 13:00 | 只看该作者
如果复位电路异常,MCU可能在上电或擦除Flash时无法正常启动,导致崩溃。

使用特权

评论回复
16
jinyi7016| | 2025-3-20 17:42 | 只看该作者
在STM32Cube_FW_F0_V1.11.2\Projects\STM32F030R8-Nucleo\Examples\FLASH中,是有例程的,先跑一下例程,看对不对吧

使用特权

评论回复
17
jcky001| | 2025-3-20 18:20 | 只看该作者
Flash擦除操作不当引起的?

使用特权

评论回复
18
逆鳞风暴| | 2025-3-20 22:34 | 只看该作者
把代码跑到 RAM 里执行这个建议听起来不错,那具体怎么操作呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

84

主题

1964

帖子

2

粉丝