[STM32G0] 如何在STM32CubeIDE中擦除指定位置的flash。

[复制链接]
1411|23
zhouyou99 发表于 2025-10-1 16:15 | 显示全部楼层 |阅读模式
对于我的具体使用需求,我将配置数据存储在闪存的最后一页,目前正在研究如何擦除它,以便在程序中重写某一部分,但我也希望通过重新编程来配置它。我可以检查该页是否为空并将设置写入其中,但我还没有找到在STM32CubeIDE中擦除它的方法,据我所知,我需要配合ST-Link Utility才能擦除闪存。


sesefadou 发表于 2025-10-10 09:59 | 显示全部楼层
ST官方提供的编程工具,支持擦除、编程和验证Flash。
bartonalfred 发表于 2025-10-10 14:58 | 显示全部楼层
调用HAL库的擦除函数,启动目标区域的擦除。
qiufengsd 发表于 2025-10-11 11:24 | 显示全部楼层
在代码中调用HAL_FLASHEx_Erase()函数来擦除指定扇区。
iyoum 发表于 2025-10-11 12:21 | 显示全部楼层
通过代码动态擦除指定扇区/页              
51xlf 发表于 2025-10-11 13:31 | 显示全部楼层
STM32 芯片要求擦除操作必须按扇区对齐,否则会报错。
vivilyly 发表于 2025-10-11 16:34 | 显示全部楼层
​​扇区大小不可分割​              
dspmana 发表于 2025-10-11 18:46 | 显示全部楼层
大扇区擦除耗时较长              
jf101 发表于 2025-10-12 22:16 | 显示全部楼层
配合ST-Link Utility擦除闪存试一下
yorkbarney 发表于 2025-10-14 14:31 | 显示全部楼层
HAL_FLASH_Unlock();  // 解锁Flash
HAL_FLASHEx_Erase(&erase_init, &sector_error); // 擦除扇区
HAL_FLASH_Lock();    // 锁定Flash
mollylawrence 发表于 2025-10-14 15:26 | 显示全部楼层
需要在调试前清空某个 Flash 扇区,或者验证 Flash 写入是否成功时,这是最佳选择。
primojones 发表于 2025-10-14 17:39 | 显示全部楼层
使用 STM32CubeIDE 的调试功能
youtome 发表于 2025-10-14 19:53 | 显示全部楼层
HAL库函数              
houjiakai 发表于 2025-10-14 20:58 | 显示全部楼层
需根据芯片手册查询目标地址对应的扇区号。
macpherson 发表于 2025-10-16 19:45 | 显示全部楼层
擦除操作不可逆!              
kmzuaz 发表于 2025-10-16 20:48 | 显示全部楼层
调用 HAL_FLASH_Unlock() 解除写保护。
sanfuzi 发表于 2025-10-16 21:22 | 显示全部楼层
在擦除前需解除Flash的写保护,防止误操作。
wengh2016 发表于 2025-10-17 12:01 | 显示全部楼层
需通过HAL库函数操作Flash控制器
backlugin 发表于 2025-10-18 11:59 | 显示全部楼层
STM32CubeProgrammer​
deliahouse887 发表于 2025-10-18 13:09 | 显示全部楼层
擦除的扇区内的数据现在全部变为了 0xFFFFFFFF。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

59

帖子

0

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