引言 许多应用都需要用EEPROM(电可擦可编程只读存储器)来存储非易失性数据。低成本目的使得 STM32F101xx和 STM32F103xx器件没有使用EEPROM。而是使用了嵌入式闪存来实现 EEPROM模拟。 这篇应用笔记解释了外部 EEPROM和嵌入式闪存的区别,并且它还描述了一种软件方法,这个方法是为了使用STM32F101xx和STM32F103xx器件的片上闪存来模拟 EEPROM。 这篇文档也致力于一些针对模拟 EEPROM数据存储的嵌入式方面,这些是假定读者知道的。 术语 中等密度器件是指那些闪存存储范围在 32和 128Kb之间的STM32F101xx和 STM32F103xx微控制器。 高密度器件是指那些闪存存储范围在 256和 512Kb之间的STM32F101xx和 STM32F103xx微控制器。 目录 1 嵌入式闪存vs EEPROM:主要区别 1.1 写访问时间的区别 1.2 写方法的区别 1.3 擦除时间的区别 2 模拟EEPROM的实现 2.1 原理 2.1.1 应用举例 2.1.2 EEPROM软件描述 3 嵌入式应用方面 3.1 数据间隔尺寸管理 3.1.1 一个字一个字的编程 3.1.2 一个字节一个字节的编程 3.2 平均抹写存储区块:闪存持续时间的改善 3.2.1 平均抹写存储区块实现的举例 3.3 功率损耗下的页数据头恢复 3.4 可擦写性能 4 出版历史 表格清单 表1. 内嵌式闪存和EEPROM 之间的区别 表2. 状态组合和采取的行动 表3. 模拟EEPROM 中储存变量的最大值(10000 个周期) 表4. 文档修正历史 图清单 图 1. Page0 和Page1 之间的页状态切换 图 2. EEPROM 变量格式化 图 3. 数据更新流程 图 4. 写变量流程图 图 5. 四页的页交换计划(平均抹写存储区块) 1 嵌 入 式 闪 存 VS EEPROM: 主 要 区 别 电 可 擦 可 编 程 只 读 存 储 器 ( EEPROM) 是 许 多 嵌 入 式 应 用 程 序 的 关键 组 成 部 分 , 这 些 应 用 程 序 要 求 非 易 失 性 存 储 数 据 在 运 行 的 时 候 一 个字 或 者 一 个 字 节 的 更 新 。 另 一 方 面 , 微 控 制 器 在 那 些 系 统 中 每 次 使 用 的 时 候 更 多 的 是 基 于嵌 入 式 闪 存 。 为 了 消 除 组 件 , 节 省 硅 的 的 空 间 和 减 少 系 统 花 费 ,STM32F10xxx 是 用 闪 存 来 代 替 EEPROM 去 同 步 代 码 和 存 储 数 据 。 不 像 闪 存 , 外 部EEPROM ...