stm32f103flash擦除
stm32f103flash擦除
在STM32F103系列微控制器中,对内部Flash存储器进行擦除需要遵循特定的操作流程。以下是关键步骤和注意事项:
操作步骤
-
解锁Flash控制寄存器
- STM32的Flash默认处于写保护状态,需先解锁才能操作:
FLASH->KEYR = 0x45670123; // 写入解锁KEY1 FLASH->KEYR = 0xCDEF89AB; // 写入解锁KEY2 - 若解锁失败,需先清除
FLASH->SR中的错误标志(如PGAERR,WRPRTERR)。
- STM32的Flash默认处于写保护状态,需先解锁才能操作:
-
擦除操作
- 扇区擦除(以擦除某1KB扇区为例):
FLASH->CR |= FLASH_CR_PER; // 选择扇区擦除模式 FLASH->AR = 0x0800XXXX; // 输入待擦除扇区的起始地址(如0x08004000) FLASH->CR |= FLASH_CR_STRT; // 启动擦除 while (FLASH->SR & FLASH_SR_BSY); // 等待擦除完成 FLASH->CR &= ~FLASH_CR_PER; // 关闭擦除模式 - 全片擦除(谨慎使用,可能需逐扇区操作):
FLASH->CR |= FLASH_CR_MER; // 使能全片擦除 FLASH->CR |= FLASH_CR_STRT; while (FLASH->SR & FLASH_SR_BSY); FLASH->CR &= ~FLASH_CR_MER;
- 扇区擦除(以擦除某1KB扇区为例):
-
重新上锁Flash
FLASH->CR |= FLASH_CR_LOCK; // 操作完成后恢复写保护
注意事项
-
中断与代码位置
- 擦除期间需关闭全局中断(或确保代码未运行在待擦除的Flash区域)。
- 建议将擦除代码加载到RAM中执行,避免擦除时程序崩溃。
-
电源稳定性
- 确保VDD电压稳定(2.7-3.6V),避免擦写过程中断电。
-
擦除时间
- 扇区擦除约需数ms,全片擦除时间更长。需通过
FLASH_SR_BSY位等待完成。
- 扇区擦除约需数ms,全片擦除时间更长。需通过
-
扇区划分
- 不同型号扇区大小不同(如小容量16KB/扇区,中容量1KB或2KB/扇区),需查阅数据手册确认。
-
选项字节保护
- 若启用了写保护(RDP),需先解除保护才能擦除。
库函数简化操作(使用标准外设库)
#include "stm32f10x_flash.h"
void EraseFlashSector(uint32_t SectorAddress) {
FLASH_Unlock();
FLASH_Status status = FLASH_ErasePage(SectorAddress); // 扇区擦除
if (status != FLASH_COMPLETE) {
// 处理错误
}
FLASH_Lock();
}
常见问题
- 擦除失败:检查电源、解锁步骤、地址是否合法,或是否存在硬件写保护(如BOOT0/BOOT1引脚状态)。
- 数据残留:擦除后所有位应为
0xFF,写入前需确保数据正确(Flash只能将1写0,擦除恢复为1)。
如需进一步调试,可通过FLASH->SR寄存器分析错误标志(如编程错误、写保护错误等)。
STM32F103RET6 FLASH擦除失败的原因?怎么解决?
MCU是STM32F103RET6,512K大容量型,我现在程序内进行掉电存储,用到的地址是第224页到254页,共60kb,芯片上电后第一次擦除是成功的,然后写入一次数据,再读出数据是对的,之后
STM32F103VET6
1970-01-01 08:00:00 至 1970-01-01 08:00:00
STM32F103RCT6
1970-01-01 08:00:00 至 1970-01-01 08:00:00
STM32F103xC/STM32F103xD/STM32F103xE微控制器手册
STM32F103xC/D/E的更多详细信息家庭,请参阅第2.2节:整个家庭的完全兼容性。高密度STM32F103xC/D/E数据表应与STM32F
资料下载
十里寂
2023-05-17 11:25:42
GD32F103与STM32F103的区别 2021.6.2
GD32F103和STM32F103区别介绍关键词Key words:GD32F103、
资料下载
李杰
2021-12-08 11:06:03
解决stm32f103同一个扇区flash只能擦除一次,再次擦除报FLASH_ERROR_PG错误问题
项目中用到stm32内部flash存储一些系统运行数据,每次上电重新加载保存的数据。早先用法如下图所示,擦除之前每次要关闭总中断,解锁
资料下载
佚名
2021-12-02 11:51:13
STM32F103:内部Flash模拟EEPROM
内部Flash模拟EEPROM一、原因由于STM32F103系列的单片机内部Flash的擦写次数仅有10k次,如果遇到想要存储又多变,又需要掉电
资料下载
1123127317
2021-12-02 11:36:21
STM32擦除内部FLASH时间过长导致IWDG复位
STM32擦除内部FLASH时间过长导致IWDG复位(嵌入式开发一般采用什么方式?)-客户反馈在使用
资料下载
佚名
2021-07-30 11:06:36
STM32F103RCT6自动擦除FLASH会导致产品变砖怎么解决?
本人最近在使用STM32F103RCT6这款芯片做产品,但是发现有个别芯片出现在掉点瞬间有上电时,MCU自动擦除了第一个FLASH扇区现象,导致
stm32f103 flash模拟eeprom
,STM32F103的Flash存储器可以模拟EEPROM的功能,在本文中我们将详细介绍如何使用STM32F103的
2024-01-09 11:21:36
意法半导体STM32F103RCXX系列型号解读
这些型号均属于意法半导体(STMicroelectronics)的STM32F103系列微控制器,其特点如下: STM32F103RCT6:512 KB
2023-08-24 18:54:49
STM32F103C8T6读写内部flash
大家好,今天和大家分享一下STM32F103C8T6读写内部flash,关于103系列的单片机大家可以参考选项手册查看
2021-09-30 15:48:18
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机
- 元宇宙概念龙头股一览