本文以一個PDA項目為依托,在項目中,主要是開發該設備的軟件。其工作包括:上層應用程序的開發、引導程序的編寫、Linux操作系統的移植和各種外設驅動程序的編寫以及文件系統的改進。 本文首先分析了Linux操作系統的虛擬文件系統、高速緩沖區、MTD以及驅動程序模塊。接著,本文分析了JFFS2文件系統的不足,以及在大容量閃存設備中掛載速度過慢的原因。然后,本文結合JFFS2文件系統在開發過程中所出現的各種問題,以及在大容量閃存芯片上進行掛載時的性能要求,對JFFS2文件系統作了一些實際的改進。文中的創新性貢獻包括以下幾個方面: (1)在掃描一個擦除塊之前,首先把擦除塊中的所有內容讀進內存。然后,在內存中進行所有的判斷操作以及拷貝,這樣就可以減少I/O操作。另外,由于所有的拷貝操作都在內存中進行,所以掛載速度就可以有所提升。 (2)通過加入“空閑區域管理節點”對閃存中的空閑區域進行管理。這樣,在掃描的過程中,一旦發現該節點就可以跳過它所描述的空閑區域,從而加快掛載的速度。 (3)在掃描的階段中對有效數據實體進行硬鏈接數的計算,因此,臨時目錄節點就不需要創建了,這樣也免除了臨時目錄的刪除步驟,所以對掛載速度也有明顯的提高。 最后,基于以上的研究與改進,結合本項目的實際要求,對大容量閃存設備的JFFS2文件系統的掛載過程進行了改進的實踐。
標簽:
FLASH
ARM
嵌入式閃存
實踐
上傳時間:
2013-07-26
上傳用戶:damozhi