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