本帖最后由 muyichuan2012 于 2022-1-8 13:55 编辑
AN0002—AT32 MCU如何使用片上Flash来实现EEPROM功能
当前诸多嵌入式应用场景都需要用到 EEPROM 作为非易失性的数据存储设备。出于客户低成本的考虑,AT32 系列部分型号的 MCU 并未搭载片上 EEPROM,但是在此我们将介绍一种使用片上 Flash来模拟 EEPROM 使用的方法,以作为对此应用需求的补充。
本文档将详细阐述在 AT32 系列 MCU 上使用片上 Flash 来模拟 EEPROM 的应用原理和软件使用方法。
Flash 与 EEPROM 的不同
以应用的角度来看,Flash 和 EEPROM 最大的不同在于以下两点:a) EEPROM可以按位(实际应用通常按字节)擦写,Flash需按页进行擦除。b) Flash的页擦除寿命周期大概是10000次,EEPROM的擦除寿命周期更优。针对以上两个大的不同点进行分析,取 EEPROM 易于擦写和高擦写寿命周期的特点来对 Flash 中的存储流程进行优化,以达到 Flash 模拟 EEPROM 的目的。
Flash 模拟 EEPROM 原理
Flash 模拟 EEPROM 的方案综合考虑了操作 Flash 的限制和要求。根据工程应用中 Flash 空间的使用情况和 MCU Chip 型号的不同,在片上 Flash 中找到至少两个 Page 大小的 Flash 未使用区域(地址应 Page 对齐)作为数据的交换存储区,各 Page 存储区按 Page 状态机制进行交替使用,构建的大致模型如下:
Note;相关文档和源代码请查看附件。
|