您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Flash是如何模擬EEPROM,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
很多的MCU控制器不帶有片上EEPROM,但是我們有時候鑒于成本的考慮又不想外擴EEPROM,所以經常用Flash來模擬EEPROM存儲,但是Flash都是塊擦除,所以需要考慮頻繁擦除的影響,需要借鑒軟件算法來綜合考慮,最近經常在使用NXP的KE系片子,KE系列除過KE02帶有256字節的片上EEPROM外,KE04和KE06都不帶片上EEPROM,所以我們采用Flash來模擬。
還好官方提供了很好的一篇參考筆記AN4903,可字節編程或字編程且可擦除的電可擦可編程只讀存儲器(EEPROM) 在汽車電子控制單元 (ECU) 中經常使用。編程和擦除操作的靈活性使得它適合用于斷電時必須保留的以及在運行時需要單獨更新的應用變量的數據存儲。對于不帶 EEPROM 存儲器的設備,可以通過 EEPROM 仿真軟件,使用頁面可擦除的 Flash
存儲器來仿真 EEPROM,一個可擦除 Flash 單元相當于一個扇區。由于 Flash 編程只能在已擦除的地址中進行,因此,在編程之前必須擦除 Flash 存儲器。不使用軟件算法直接在 Flash 中編程數據會導致頻繁擦除 Flash,頻繁的擦除會縮短 Flash 的壽命,增加數據寫入的時間。在該筆記中提到的軟件設計圖(本圖片來源于原應用筆記,版權歸原作者所有)
此筆記描寫很清楚,而且提供樣例代碼可以分方便的修改和移植到你自己的工程,
但是這個例程和驅動不是基于SDK的flash驅動,如果想使用SDK的flash驅動,需要修改一些接口參數和函數,這個難度不大,我們將他移植到KE06的SDK中測試下,
可以看到移植的工程可以正常工作,且使用Flash來模擬EEPROM也可以正常工作,完成移植的目的,運用于正式的工程和項目,還要做一些修改,根據實際定好起始地址,并且做些容錯處理。
看完上述內容,你們對Flash是如何模擬EEPROM有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。