STM32-Flash存储

server/2025/1/14 17:05:31/

 目录

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)可以使用微控制器支持的任一种通信接口下载程序


1.0 闪存模块组织



2.0 Flash基本结构



3.0 Flash解锁



4.0 指针访问存储器地址


指针访问存储器地址需要解引用:在C语言中解引用表示的就是取值的意思


5.0 程序存储器编程


注:在单片机中有字节,半字,一字的说法,字节表示的是8个bit位,半节表示的是uint16_t,一个字节表示的是uint32_t个字节。




6.0 选项字节



7.0 选项字节编程


检查FLASH_SR的BSY位,以确认没有其他正在进行的编程操作

解锁FLASH_CR的OPTWRE位

设置FLASH_CR的OPTPG位为1

写入要编程的半字到指定的地址

等待BSY位变为0 读出写入的地址并验证数据


8.0 选项字节擦除


检查FLASH_SR的BSY位,以确认没有其他正在进行的闪存操作

解锁FLASH_CR的OPTWRE位

设置FLASH_CR的OPTER位为1

设置FLASH_CR的STRT位为1

等待BSY位变为0 读出被擦除的选择字节并做验证


9.0 电子签名



10.0 手册解读


......


http://www.ppmy.cn/server/158335.html

相关文章

飞凌嵌入式i.MX8M Mini核心板已支持Linux6.1

飞凌嵌入式FETMX8MM-C核心板现已支持Linux6.1系统,此次升级不仅使系统功能更加丰富,还通过全新BSP实现了内存性能的显著提升。 基于NXP i.MX8M Mini处理器设计开发的飞凌嵌入式FETMX8MM-C核心板,拥有4个Cortex-A53高性能核和1个Cortex-M4实时…

【按钮防抖】el-button和普通按钮防抖,点击一次禁用一秒再恢复

点击后的效果&#xff0c;一秒后会恢复可点击 左边是组件按钮&#xff0c;通过disabled控制 右边普通按钮通过自定义指令控制&#xff0c;这里自定义指令写法是html版本的 <body><div id"app"><el-card><p style"padding: 10px;"&g…

宁德时代C++后端开发面试题及参考答案

请阐述面向对象的三大特性。 面向对象编程有三大特性,分别是封装、继承和多态。 封装是指将数据和操作数据的方法绑定在一起,对数据的访问和操作进行限制。这样做的好处是可以隐藏对象的内部细节,只暴露必要的接口给外部。例如,我们可以把一个汽车类的内部引擎状态、速度等…

文章题目:利用Adobe Flash Player漏洞:一次针对Windows XP的渗透测试实验

文章题目&#xff1a;利用Adobe Flash Player漏洞&#xff1a;一次针对Windows XP的渗透测试实验 摘要 本文详细介绍了一次针对运行Windows XP系统的渗透测试实验。实验中&#xff0c;攻击者利用Adobe Flash Player中的一个未修补漏洞&#xff0c;通过浏览器插件执行远程代码&…

DATACOM-园区典型网络设计-复习-实验

园区典型网络 概述规划与设计组网设计基础业务设计WLAN设计可靠性设计防环设计出口NAT安全设计运维管理 部署与实施网络运维网络优化 实验简单园区组网设计 Update 2025.1.10 后续更新实验概述 规划与设计 组网设计 典型举例&#xff1a;接入层选用S3700&#xff08;百兆&#…

Spring Boot教程之五十五:Spring Boot Kafka 消费者示例

Spring Boot Kafka 消费者示例 Spring Boot 是 Java 编程语言中最流行和使用最多的框架之一。它是一个基于微服务的框架&#xff0c;使用 Spring Boot 制作生产就绪的应用程序只需很少的时间。Spring Boot 可以轻松创建独立的、生产级的基于 Spring 的应用程序&#xff0c;您可…

基于SpringBoot的中华诗词赏析文化交流平台

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

什么是“负载均衡”?在工作中如何应用?

你有没有遇到过访问一个网站时&#xff0c;速度慢得让人崩溃&#xff1f;甚至直接打不开&#xff1f;其实&#xff0c;这可能是服务器负载过重造成的&#xff0c;而“负载均衡”正是解决这一问题的关键技术。 那么&#xff0c;什么是负载均衡&#xff1f; 负载均衡&#xff0…