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