在飞思卡尔MC56F84xxx DSC系列中,FlexNVM的一部分或全部以及一个称为FlexRAM的1K字RAM块可用于使用内置文件系统仿真EEPROM的特性。正确配置 EEPROM 后,用户可以操作 FlexRAM 写入或读取此 EEPROM。归档系统执行所有记录备份工作,用户可以对此视而不见。
有关更多信息,请参阅 MC56F847xx 参考手册或 AN4689:在 MC56F84xxx DSC 上使用 EEPROM。在 MC56F82xxx DSC 系列中,FlexNVM 或 FlexRAM 不可用。如果需要 EEPROM,则必须通过固件在程序 Flash 上对其进行仿真。
本应用笔记介绍了MC56F84xxx和MC56F82xxx DSC系列的EEPROM驱动器。您可以直接通过本应用说明中的指南使用此驱动程序。该应用笔记还介绍了一种在 CodeWarrior10.6 中在不擦除 EEPROM 的情况下对 Flash 进行重新编程的方法。
至于 MC56F84xxx DSC 系列,该驱动程序适用于小数据模式和大数据模式,因为它是以汇编方式编写的。AN4689 还为 MC56F84xxx DSC 系列中的 EEPROM 提供了驱动程序,但它仅适用于大数据模式。对于 MC56F82xxx DSC 系列,此驱动程序使用 AN4860:闪存驱动程序中描述的闪存驱动程序库MC56F847xx 和 MC56F827xx DSC 系列的库以及 CRC 功能,可模拟 EEPROM,以实现更高的可靠性。
EEPROM 驱动程序说明
开发此驱动程序是为了使 DSC 中的 EEPROM 更易于使用。对于 MC56F84xxx 系列,有具有字节字符串、字字符串和长字字符串读写函数的 API,以及具有字节、字和长字读写函数的 API。对于 MC56F82xxx 系列,驱动程序是在 Erase Sector 模式下使用增量写入功能开发的。每次将条目写入 Flash 或从 Flash 读取条目时,都会执行 CRC,以提高可靠性。
在不擦除 EEPROM 的情况下更新固件
它可用于使用 CodeWarrior10.x 更新固件,而无需擦除 EEPROM。
• 对于 MC56F84xxx 系列,EEPROM 备份存储在 FlexNVM 中,在程序存储器映射中,范围从 0x68000 到 0x6BFFF。避免在编程过程中擦除这部分 flash。
• 对于 MC56F82xxx 系列,EEPROM 备份存储在程序闪存的前几个扇区。在第 20 页的清单 9 中使用了 3 个扇区,在程序内存映射中,它们的范围从 0x7A00 到 0x7FFF。避免在编程过程中擦除这些扇区。