新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > MC9S12UF32的嵌入式文件系統(tǒng)數(shù)據(jù)存儲模塊

MC9S12UF32的嵌入式文件系統(tǒng)數(shù)據(jù)存儲模塊

作者: 時間:2010-04-01 來源:網(wǎng)絡(luò) 收藏

在表2中,對ff.h中主要配置宏的含義進行了說明,同時給出了本文所介紹的采用的取值。

本文引用地址:http://m.butianyuan.cn/article/151973.htm

4 FatFS的使用
FatFS中涉及2個基本的結(jié)構(gòu):(磁盤)的結(jié)構(gòu)FATFS和文件的數(shù)據(jù)結(jié)構(gòu)FIL。這兩個結(jié)構(gòu)是FatFS軟件主要的RAM開銷,F(xiàn)ATFS數(shù)據(jù)結(jié)構(gòu)中有針對磁盤的512字節(jié)讀寫緩存,F(xiàn)IL則有針對每個文件的緩存。而采用Tiny FatFS配置則不會開設(shè)文件讀寫緩存,節(jié)約RAM。
依次使用f_mount、f_open、f_rcad/f_write、f_close可以完成基本的讀寫。FatFS允許對同一文件同時復(fù)數(shù)讀取,但完全不支持對同一文件同時復(fù)數(shù)的寫入操作,因為這會引起文件系統(tǒng)錯誤。具體每一個函數(shù),特別是字符串讀寫、格式化讀寫等,可以參見原始幫助和例程。
此外,由于系統(tǒng)具有突然掉電的可能性,一些關(guān)鍵代碼段可能導(dǎo)致文件系統(tǒng)錯誤,所以要注意調(diào)用f_sync()及時寫入。當然,如果是一組連續(xù)的f_write()寫入,而每次寫完都f_sync(),則會極大地影響速度,可以全部寫完后f_sync()。
V0.07以后版本的FatFS,增加了以下新的功能:
①_FS_TINY。Tiny模式變成了一個宏選項,而不是獨立的代碼包。
②_FS_RPATH。決定是否有當前路徑的概念,這將影響兩個相關(guān)函數(shù)的參數(shù)。
③_USE_LFN。啟用長文件名支持,可為1或2,為2時可重入。由于長文件名存在堆棧上,而且啟用LFN會依據(jù)代碼頁增加一個很大的轉(zhuǎn)換表,占掉幾十~幾百KB,所以不推薦。
④_LFN_UNICODE。長文件名使用Unicode,實驗階段,尚未正式寫入文檔。

結(jié)語
單片機內(nèi)部集成的SDHC,可將SD總線轉(zhuǎn)換為單片機內(nèi)部的IP總線,開發(fā)者只需要對SD協(xié)議的基本內(nèi)容有所了解,通過讀寫相應(yīng)的寄存器就可以方便地實現(xiàn)對SD卡的底層讀寫,大大簡化了硬件的開發(fā)過程。同時,獨立于硬件平臺的FatFS軟件包可以方便地移植到各種系統(tǒng)中,研發(fā)者只需要對該軟件包的diskio.c和ff.h進行修改,即可完成移植,從而使用FatFS提供的豐富且易于使用的各種接口函數(shù)。
應(yīng)用上述主要技術(shù)實現(xiàn)的具有文件系統(tǒng)的數(shù)據(jù)如圖4所示。


該模塊體積小巧、數(shù)據(jù)的靈活性和通用性很高,可以通過模塊自帶的串行通信接口接收數(shù)據(jù),并以文件的形式起來。用戶既可以直接通過USB接口將本模塊識別為U盤進行數(shù)據(jù)讀寫和分析,也可以將micro SD卡拔出,在任意一個具有micro SD讀卡器功能的設(shè)備上讀寫數(shù)據(jù)。上述功能特性使得這款數(shù)據(jù)存儲模塊具有很良好的應(yīng)用前景。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉