2021-04-30

STM32 掉电不丢失,内部Flash读写流程

1.解锁,往flash密钥寄存器FLASH_KEYR中写入KEY1=0x45670123,再往Flash密钥寄存器FLASH_KEYR中写入KEY2=0xCDEF89AB

2.擦除扇区:检查FLASH_SR状态寄存器中的“忙碌寄存器位BSY”,确认当前未执行任何Flash操作;

在FLASH_CR控制寄存器中,将“”“激活页擦除寄存器位PER”置1

用FLASH_AR地址寄存器选择要擦除的页;

将FLASH_CR控制寄存器中的“开始擦除寄存器位STRT”置1,开始擦除

等待BSY位被清零时,表示擦除完成

3.写入数据:检查FLASH_SR状态寄存器中的“忙碌寄存器位BSY”,确认当前未执行任何Flash操作;

FLASH_CR控制寄存器中,将“”“激活编程寄存器位PG”置1

向指定的FALSH存储器地址执行数据写入操作,每次只能以16位的方式写入;

等待BSY位被清零时,表示写入完成

写入的地址要在程序存储空间地址之外

查询存储空间的方式:点击demo,弹出map文件 查看存储空间

 

空间大致分为

STM32flash空间

 

MDK下载设置时需要注意(第一个选项下载时会擦除掉整页)

验证结果:

程序概述 应用flash库函数编写简单很多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值