flash写保护原理

您所在的位置:网站首页 stm32的flash读写 flash写保护原理

flash写保护原理

2024-01-18 16:00| 来源: 网络整理| 查看: 265

大家周末愉快!本次分享关于STM32内部FLASH的笔记。

STM32 芯片内部的 FLASH 存储器,主要用于存储我们代码。

如果内部FLASH存储完我们的代码还有剩余的空间,那么这些剩余的空间我们就可以利用起来,存储一些需要掉电保存的数据。

本文以STM32103ZET6为例。STM32103ZET6属于大容量产品,其闪存模块组织如下:

ce6aecc09f02abd3c41df08b78f8bd49.png

其主存储器大小为512KB,分为256页,每页大小都为2KB。我们的程序一般默认烧写到第0页的起始地址(0x08000000)处。

当BOOT0引脚和BOOT1引脚都接GND时,就是从这个地址开始运行代码的。这个地址在keil中可以看到:

9d055b612864a5200428ac7e7d8a6647.png

假如我们要下载的程序大小为4.05KB,则第0、1、2页用于保存我们的程序,我们需要掉电保存的数据只能保存在第3~第255页这一部分空间内。

我们最终要下载的程序大小可在工程对应的.map文件中看到。.map文件可以双击工程的Target的名字快速打开,如:

477c87bea1747aefee04418e58927738.png

下面对STM32内部FLASH进行简单的读写测试:

内部FLASH读写测试

流程图如下:

本流程图省略异常情况,只考虑成功的情况:

937af92e7defebd68d8d60e615cc2ede.png

示例代码:

本例的关键代码如下(以读写第255页为例):

左右滑动查看全部代码>>>

/********************************************************************************************************------------------------------------------STM32 Demo---------------------------------------------------** 工程说明:STM32内部FLASH实验* 作 者&


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3