自由的羽毛 发表于 2025-1-14 15:08:14

STM32-Flash存储

 目录
1.0 闪存模块组织
2.0 Flash基本结构
3.0 Flash解锁
4.0 指针访问存储器所在
5.0 步调存储器编程
6.0 选项字节
7.0 选项字节编程
8.0 选项字节擦除
9.0 电子签名
10.0 手册解读
    定义:
 STM32F1系列的FLASH包含步调存储器、系统存储器和选项字节三个部分,通过闪存存储器接口(外设)可以对步调存储器和选项字节举行擦除和编程
读写FLASH的用途:利用步调存储器的剩余空间来生存掉电不丢失的用户数据     通过在步调中编程(IAP),实现步调的自我更新
在线编程(In-Circuit Programming – ICP)用于更新步调存储器的全部内容,它通过JTAG、SWD协议或系统加载步调(Bootloader)下载步调
在步调中编程(In-Application Programming – IAP)可以利用微控制器支持的任一种通讯接口下载步调
https://i-blog.csdnimg.cn/direct/2efac6c6a3cc442aa402226ffa8eb367.png
1.0 闪存模块组织

https://i-blog.csdnimg.cn/direct/7c7a700176d448e1ae6ad54edb5829de.png
2.0 Flash基本结构

https://i-blog.csdnimg.cn/direct/0ce9fd8f85dd480bb17c27c02ec17b64.png
3.0 Flash解锁

https://i-blog.csdnimg.cn/direct/97f66f74453c4fc6ba7f5fd65b4d3780.png
4.0 指针访问存储器所在

指针访问存储器所在需要解引用:在C语言中解引用表示的就是取值的意思
https://i-blog.csdnimg.cn/direct/8e86333ed5b94fa1a2de5d2a53a69e38.png
5.0 步调存储器编程

注:在单片机中有字节,半字,一字的说法,字节表示的是8个bit位,半节表示的是uint16_t,一个字节表示的是uint32_t个字节。
https://i-blog.csdnimg.cn/direct/4a7376512174408b8381e5cf0723c439.png
https://i-blog.csdnimg.cn/direct/71b01f2257414b34a81437c60ac41e7f.png
https://i-blog.csdnimg.cn/direct/ad90ff5879534175bac8626f196d8605.png
6.0 选项字节

https://i-blog.csdnimg.cn/direct/9f74f2f4d10d4d21a5022518fe50f972.png
7.0 选项字节编程

检查FLASH_SR的BSY位,以确认没有其他正在举行的编程操纵
解锁FLASH_CR的OPTWRE位
设置FLASH_CR的OPTPG位为1
写入要编程的半字到指定的所在
等候BSY位变为0 读出写入的所在并验证数据
https://i-blog.csdnimg.cn/direct/168ce0a0fe024a8582094aadafe3064d.png
8.0 选项字节擦除

检查FLASH_SR的BSY位,以确认没有其他正在举行的闪存操纵
解锁FLASH_CR的OPTWRE位
设置FLASH_CR的OPTER位为1
设置FLASH_CR的STRT位为1
等候BSY位变为0 读出被擦除的选择字节并做验证
https://i-blog.csdnimg.cn/direct/8077ea65c0574e80b1f3f21cb6b6381b.png
9.0 电子签名

https://i-blog.csdnimg.cn/direct/377a6841d35740dd9f13bd7357b3155d.png
10.0 手册解读

......

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: STM32-Flash存储