[STM32L1] 擦除STM32L151RCT6的完整内部存储器扇区。

[复制链接]
 楼主| SocialButterfly 发表于 2025-7-30 12:01 | 显示全部楼层 |阅读模式
擦除STM32L151RCT6微控制器的完整内部存储器扇区。

在加载代码时,我只能看到部分扇区(例如从0到30扇区或0到64扇区)被擦除并加载新程序...

请问我如何使用STM32Cube IDE在STM32控制器中擦除完整的内部存储器扇区。

公羊子丹 发表于 2025-7-31 13:16 | 显示全部楼层
你是在用CubeIDE烧录时擦除不完整吗?可以试试看在“Run Configurations”里设置为“Full chip erase”。
周半梅 发表于 2025-7-31 13:16 | 显示全部楼层
STM32L1的Flash结构不是按页编号统一的,分Main memory和Data EEPROM,可能你只擦了一部分。
帛灿灿 发表于 2025-7-31 13:17 | 显示全部楼层
我一般用STM32CubeProgrammer手动擦除,选“Full Erase”比较保险。
童雨竹 发表于 2025-7-31 13:18 | 显示全部楼层
你用的L151RCT6是256KB Flash的,确保擦除时地址范围是从0x08000000到0x0803FFFF。
万图 发表于 2025-7-31 13:18 | 显示全部楼层
有些时候IDE默认只擦“used sector”,你需要在下载配置里手动改为擦除全部。
Wordsworth 发表于 2025-7-31 13:19 | 显示全部楼层
你有没有试过用 HAL_FLASHEx_Erase() 自己在程序里擦?可以一次性全清。
Bblythe 发表于 2025-7-31 13:20 | 显示全部楼层
如果你是想搞Bootloader升级,擦除逻辑最好自己控制,这样安全性高。
Pulitzer 发表于 2025-7-31 13:21 | 显示全部楼层
你在“Debug Configurations”里如果没改擦除方式,它就默认擦你程序占用的部分。
Uriah 发表于 2025-7-31 13:21 | 显示全部楼层
你也可以写段测试代码循环擦整个Flash,看能不能正常清空。
Clyde011 发表于 2025-7-31 13:22 | 显示全部楼层
ST官方有个叫“STM32FlashLoader”的工具,也能手动选区块擦除,比较适合调试时用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

40

帖子

0

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