文件系統在EEPROM中的應用
3.2 在塊設備驅動(dòng)中訪(fǎng)問(wèn)EEPROM
為了訪(fǎng)問(wèn)EEPROM,就需要將對EEPROM的操作與塊設備驅動(dòng)關(guān)聯(lián)起來(lái)。首先是在塊設備驅動(dòng)初始化代碼中調用at91_twi_init對EEPROM進(jìn)行初始化,然后在塊設備傳輸函數block_transfer中調用AT91_TWI_Read和AT91_TWI_Write進(jìn)行讀寫(xiě)操作,這樣就使得塊設備驅動(dòng)和EEPROM關(guān)聯(lián)起來(lái)了。
為了提高效率,在對EEPROM寫(xiě)操作時(shí)采用頁(yè)寫(xiě)模式。這里要注意的是,需要對寫(xiě)入的數據進(jìn)行分割,因為AT24C512 提供的是128字節頁(yè)寫(xiě)功能,如果多于128字節,需分成128字節的倍數。同時(shí)注意,在一次寫(xiě)結束時(shí),應等待1個(gè)寫(xiě)周期時(shí)間,再進(jìn)行其他的操作;在進(jìn)行讀操作時(shí),為了提高效率,應采用連續多字節讀方式。
為了按文件方式存取EEPROM,在塊設備之上建立文件系統是必要的。由于A(yíng)T24C512只有64 KB的容量,建立文件系統時(shí),應該選擇本身占用空間少的文件系統。當然這要根據具體需求來(lái)作出決定。
下面以msdos、minix、ext2文件系統為例作個(gè)比較。首先分別使用mkdos、mkfs.minix、mke2fs 對塊設備格式化,并掛載到某個(gè)目錄下。在未寫(xiě)入任何文件數據的情況下,其結果如表1所列。
表1 文件系統對比
AT24C512 EEPROM只有64 KB容量,相比磁盤(pán)等大容量的存儲設備,除穩定性外,最主要考慮的是有效空間利用率。從表1中可以看出,在這3種文件系統中,msdos文件系統的空間利用率要高一些,minix文件系統次之,ext2文件系統最低。但是msdos文件系統的缺點(diǎn)是只支持8.3格式的文件名,而minix文件系統支持的文件名最多為14個(gè)字符,ext2文件系統支持的文件名長(cháng)度則高達255個(gè)字符。當然,實(shí)際采用何種文件系統應根據具體要求來(lái)作出選擇。
5 結論
由于A(yíng)T24C512這類(lèi)串行EEPROM本身固有的特性,在寫(xiě)入和讀取文件操作時(shí),其響應速度要低于NOR Flash、NAND Flash等存儲設備。盡管如此,EEPROM也有其優(yōu)勢,目前仍然大量應用于嵌入式系統中。在EEPROM上建立文件系統,給存取帶來(lái)了極大的便利,也大大地簡(jiǎn)化了應用程序的編寫(xiě)。
評論