在飛思卡爾MC56F84xxx DSC系列中,F(xiàn)lexNVM的一部分或全部以及一個稱為FlexRAM的1K字RAM塊可用于使用內(nèi)置文件系統(tǒng)仿真EEPROM的特性。正確配置 EEPROM 后,用戶可以操作 FlexRAM 寫入或讀取此 EEPROM。歸檔系統(tǒng)執(zhí)行所有記錄備份工作,用戶可以對此視而不見。
有關更多信息,請參閱 MC56F847xx 參考手冊或 AN4689:在 MC56F84xxx DSC 上使用 EEPROM。在 MC56F82xxx DSC 系列中,F(xiàn)lexNVM 或 FlexRAM 不可用。如果需要 EEPROM,則必須通過固件在程序 Flash 上對其進行仿真。
本應用筆記介紹了MC56F84xxx和MC56F82xxx DSC系列的EEPROM驅(qū)動器。您可以直接通過本應用說明中的指南使用此驅(qū)動程序。該應用筆記還介紹了一種在 CodeWarrior10.6 中在不擦除 EEPROM 的情況下對 Flash 進行重新編程的方法。
至于 MC56F84xxx DSC 系列,該驅(qū)動程序適用于小數(shù)據(jù)模式和大數(shù)據(jù)模式,因為它是以匯編方式編寫的。AN4689 還為 MC56F84xxx DSC 系列中的 EEPROM 提供了驅(qū)動程序,但它僅適用于大數(shù)據(jù)模式。對于 MC56F82xxx DSC 系列,此驅(qū)動程序使用 AN4860:閃存驅(qū)動程序中描述的閃存驅(qū)動程序庫MC56F847xx 和 MC56F827xx DSC 系列的庫以及 CRC 功能,可模擬 EEPROM,以實現(xiàn)更高的可靠性。
EEPROM 驅(qū)動程序說明
開發(fā)此驅(qū)動程序是為了使 DSC 中的 EEPROM 更易于使用。對于 MC56F84xxx 系列,有具有字節(jié)字符串、字字符串和長字字符串讀寫函數(shù)的 API,以及具有字節(jié)、字和長字讀寫函數(shù)的 API。對于 MC56F82xxx 系列,驅(qū)動程序是在 Erase Sector 模式下使用增量寫入功能開發(fā)的。每次將條目寫入 Flash 或從 Flash 讀取條目時,都會執(zhí)行 CRC,以提高可靠性。
在不擦除 EEPROM 的情況下更新固件
它可用于使用 CodeWarrior10.x 更新固件,而無需擦除 EEPROM。
? 對于 MC56F84xxx 系列,EEPROM 備份存儲在 FlexNVM 中,在程序存儲器映射中,范圍從 0x68000 到 0x6BFFF。避免在編程過程中擦除這部分 flash。
? 對于 MC56F82xxx 系列,EEPROM 備份存儲在程序閃存的前幾個扇區(qū)。在第 20 頁的清單 9 中使用了 3 個扇區(qū),在程序內(nèi)存映射中,它們的范圍從 0x7A00 到 0x7FFF。避免在編程過程中擦除這些扇區(qū)。