arm9板子中,如何規避nandflash FAT檔案系統的損壞???
uj5u.com熱心網友回復:
在基于WinCE的嵌入式系統中,通常NandFlash + FAT檔案系統是最為常用的資料存盤方式。在一些應用中,需要對同一個大檔案進行頻繁寫操作,例如寫日志檔案、修改系統組態檔等等。對大檔案操作時,不僅涉及到檔案內容的修改,同時由于NandFlash的塊/扇區結構,還涉及到FAT表的修改。這些修改可能導致大規模的NandFlash塊擦除及資料搬動。當此時CPU負載還比較重時,FAT檔案系統內部的某種缺陷就可能暴露出來,從而危害設備的穩定運行。為了規避FAT檔案系統的這種風險,我們專門針對此類應用撰寫了新的檔案讀寫API函式,新API函式僅在函式名稱上多了“Em”兩個字母,其函式引數與標準API函式完全一致,應用程式很容易替換。
新的API函式,把原來的大容量檔案映射成一個目錄 + 目錄中包的括若干個大小為NandFlash扇區Size的量子檔案。由于量子檔案的大小總是一個扇區,因此在FAT表中就成為單獨項,沒有鏈表存在。在系統進入穩定運行后,量子檔案的數目瞬間不會有大的變化,甚至完全沒有變化(組態檔情形,或日志檔案達到應用程式設定的上限),這樣新的API對FAT檔案系統的FAT表、目錄區的負載會降到最低,從而大大避免FAT檔案系統的關鍵區域被隨機斷電等意外情況破壞的可能性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/104991.html
標籤:Qualcomm開發
下一篇:救救孩子吧!
