本文以一個PDA項(xiàng)目為依托,在項(xiàng)目中,主要是開發(fā)該設(shè)備的軟件。其工作包括:上層應(yīng)用程序的開發(fā)、引導(dǎo)程序的編寫、Linux操作系統(tǒng)的移植和各種外設(shè)驅(qū)動程序的編寫以及文件系統(tǒng)的改進(jìn)。 本文首先分析了Linux操作系統(tǒng)的虛擬文件系統(tǒng)、高速緩沖區(qū)、MTD以及驅(qū)動程序模塊。接著,本文分析了JFFS2文件系統(tǒng)的不足,以及在大容量閃存設(shè)備中掛載速度過慢的原因。然后,本文結(jié)合JFFS2文件系統(tǒng)在開發(fā)過程中所出現(xiàn)的各種問題,以及在大容量閃存芯片上進(jìn)行掛載時的性能要求,對JFFS2文件系統(tǒng)作了一些實(shí)際的改進(jìn)。文中的創(chuàng)新性貢獻(xiàn)包括以下幾個方面: (1)在掃描一個擦除塊之前,首先把擦除塊中的所有內(nèi)容讀進(jìn)內(nèi)存。然后,在內(nèi)存中進(jìn)行所有的判斷操作以及拷貝,這樣就可以減少I/O操作。另外,由于所有的拷貝操作都在內(nèi)存中進(jìn)行,所以掛載速度就可以有所提升。 (2)通過加入“空閑區(qū)域管理節(jié)點(diǎn)”對閃存中的空閑區(qū)域進(jìn)行管理。這樣,在掃描的過程中,一旦發(fā)現(xiàn)該節(jié)點(diǎn)就可以跳過它所描述的空閑區(qū)域,從而加快掛載的速度。 (3)在掃描的階段中對有效數(shù)據(jù)實(shí)體進(jìn)行硬鏈接數(shù)的計(jì)算,因此,臨時目錄節(jié)點(diǎn)就不需要創(chuàng)建了,這樣也免除了臨時目錄的刪除步驟,所以對掛載速度也有明顯的提高。 最后,基于以上的研究與改進(jìn),結(jié)合本項(xiàng)目的實(shí)際要求,對大容量閃存設(shè)備的JFFS2文件系統(tǒng)的掛載過程進(jìn)行了改進(jìn)的實(shí)踐。
標(biāo)簽:
FLASH
ARM
嵌入式閃存
實(shí)踐
上傳時間:
2013-07-26
上傳用戶:damozhi
PLC TM卡開發(fā)系統(tǒng)匯編程序(ATM8051)
;***************** 定義管腳*************************SCL BIT P1.0SDA BIT P1.1GC BIT P1.2BZ BIT P3.6LEDI BIT P1.4LEDII BIT P1.5OK BIT 20H.1OUT1 BIT P1.3OUT2 BIT P1.0OUT3 BIT P1.1RXD BIT P3.0TXD BIT P3.1PCV BIT P3.2WPC BIT P3.3RPC BIT P3.5LEDR BIT P3.4LEDL BIT P3.6TM BIT P3.7;********************定義寄存器***********************ROMDTA EQU 30H;NUMBY EQU 61H;SLA EQU 60H;MTD EQU 2FH;MRD EQU 40H;TEMP EQU 50H;;ORG 00H;;INDEX:MOV P1, #00H;MOV P2, #0FFHMOV MTD ,#00HCALL REEMOV R0,40HCJNE R0,#01,NO;MOV P2,#1CHLJMP VIMEN MOV P2,#79HACALL TOUCHRESET ;JNC NO ;CALL READTM ;CJNE A,#01H,NO;NOPMOV MTD, #00HCALL WEENOPMOV P2,#4AHSETB BZCALL TIMECLR BZMOV PCON, #0FFHVIME:CALL TIME1CALL TOUCHRESETJNC VIMECALL READTMCJNE A, #01H,VIME;NOPNOPNOPIII: MOV MTD,#00HCALL REECALL BBJNB OK,NO1LJMP ZHUNO1:MOV MTD,#10H
標(biāo)簽:
8051
PLC
ATM
TM卡
上傳時間:
2014-03-24
上傳用戶:448949