1. 文档基础信息
本应用笔记文档编号AN1094,版本 V1.0,珠海极海半导体发布。文档以APM32F407ZE作为示例型号,讲解 APM32F4xx 系列 MCU 使用内部 Flash 实现模拟 EEPROM 的软硬件完整实现方法。
重要背景:APM32F4xx 芯片没有硬件 EEPROM 外设,需要通过软件方式,结合片内 Flash 与 RAM,模拟 EEPROM 非易失字节读写能力。
资料获取:AN1094_APM32F4xx Flash模拟EEPROM 应用笔记
2. APM32F4xx 片内 Flash 存储架构简介
APM32F4xx Flash 整体分为主存储块、信息块两大组成部分。
- 主存储块:存放应用程序、引导代码、常量数据,一共 12 个扇区。
- 扇区 0‑3:每个扇区 16KB;
- 扇区 4:64KB;
- 扇区 5‑11:每个扇区 128KB;
- 主存储块起始地址:
0x08000000。
- 信息块
BOOT0 引脚接 GND 时,芯片从主 Flash 启动;主闪存可以同时映射到启动地址与原始物理地址访问。
3. Flash 模拟 EEPROM 方案核心概述
EEPROM 为电可擦除只读存储器,特性:非易失掉电保存,支持按字节改写,改写前不需要执行扇区整体擦除。 APM32F4xx 片内 Flash 特性:擦除操作必须以整个扇区为单位,不能够单字节擦除。软件模拟 EEPROM 的核心思路:借助 RAM 缓冲区保存扇区全部内容,修改缓冲区字节,擦除整个 Flash 扇区,再把完整缓冲区回写到 Flash,对外封装出类似 EEPROM 的字节读写接口。
文档明确扇区选型约束:
- 扇区 0 存放上电启动程序,不可用作模拟 EEPROM;
- 扇区 5‑11 单扇区大小 128KB,需要同等大小 RAM 做缓存,受芯片最大 RAM 限制,不适合模拟 EEPROM;
- 可用扇区:扇区 1、扇区 2、扇区 3,单扇区均 16KB。
4. Flash 模拟 EEPROM 方案核心优势(原文复刻)
- 成本低:复用 MCU 内部 Flash,省去外部 EEPROM 芯片物料,节约 BOM 成本;
- 读写速率快:片内 Flash 访问速度高于外部 EEPROM 器件;
- 容量大:可以分配更大存储空间保存非易失业务数据;
- 抗干扰能力强:不依赖 I2C/SPI 等外部通信总线,规避外部总线电磁干扰带来通信异常。
5. 方案面向落地业务应用场景
该模拟 EEPROM 用于保存需要掉电不丢失的少量业务参数,适合 APM32F4xx 各类嵌入式设备:
提示:本方案是软件模拟实现,和真实硬件 EEPROM 存在擦写寿命、运行 RAM 开销方面差异。
阅读全文
9