新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設(shè)計(jì)應(yīng)用 > 基于TMS320LF2407A支持FAT32文件系統(tǒng)嵌入式軟件的實(shí)現(xiàn)

基于TMS320LF2407A支持FAT32文件系統(tǒng)嵌入式軟件的實(shí)現(xiàn)

作者:■北京理工大學(xué)電子工程系 王海軍 安建平 卜祥元 時(shí)間:2004-11-04 來(lái)源:電子設(shè)計(jì)應(yīng)用2003年第6期 收藏

摘   要: 本文介紹了 文件系統(tǒng)結(jié)構(gòu),分析了基于支持 文件系統(tǒng)結(jié)構(gòu)的嵌入式軟件實(shí)現(xiàn)。
關(guān)鍵詞: ;

本文引用地址:http://2s4d.com/article/3709.htm

引言
近幾年來(lái),隨著閃爍存儲(chǔ)技術(shù)的進(jìn)步,由于Flash閃爍存儲(chǔ)體系具有容量大和功耗低等優(yōu)點(diǎn),被廣泛用于數(shù)碼相機(jī)、媒體播放器和PDA等各種數(shù)碼產(chǎn)品中。當(dāng)前各種流行的嵌入式操作系統(tǒng)雖然功能完備,但在許多具體的應(yīng)用中,仍需要編寫(xiě)特定的系統(tǒng)控制軟件。數(shù)碼產(chǎn)品中一個(gè)必要的軟件模塊就是對(duì)一種或多種文件系統(tǒng)的支持。FAT32文件系統(tǒng)被Windows和Linux等當(dāng)前流行的PC操作系統(tǒng)廣泛支持,這也是許多數(shù)碼產(chǎn)品選擇FAT32的原因。本文介紹了FAT32文件系統(tǒng)結(jié)構(gòu)和基于 TMS320LF2407A為硬件平臺(tái)支持 FAT32文件系統(tǒng)結(jié)構(gòu)的嵌入式軟件實(shí)現(xiàn)。

圖1  FAT32文件系統(tǒng)的實(shí)現(xiàn)機(jī)制

FAT32文件系統(tǒng)結(jié)構(gòu)簡(jiǎn)介
單FAT32分區(qū)的磁盤(pán)或閃爍存儲(chǔ)器(以下沒(méi)有特殊情況均指單FAT32分區(qū)情況)由主引導(dǎo)區(qū)(MBR)、系統(tǒng)引導(dǎo)區(qū)、文件分配表FAT1、文件分配表備份FAT2、文件根目錄FDT和文件數(shù)據(jù)區(qū)組成,它們?cè)诖疟P(pán)上是順序分布的,如圖1所示。
主引導(dǎo)區(qū)從物理第一扇區(qū)開(kāi)始,記錄了第一磁盤(pán)分區(qū)的入口和剩余磁盤(pán)分區(qū)的入口信息、第一分區(qū)的文件系統(tǒng)格式、起始扇區(qū)號(hào)和大小。接下來(lái)就是FAT32文件系統(tǒng)的引導(dǎo)區(qū),存放著B(niǎo)PB參數(shù)和系統(tǒng)引導(dǎo)程序,如圖1左上方表格所示。然后是文件分配表及其備份FAT1和FAT2,用于管理和分配文件區(qū)的磁盤(pán)空間,其位置和大小由系統(tǒng)引導(dǎo)區(qū)中的參數(shù)計(jì)算可得。簇是FAT表給文件分配磁盤(pán)空間的最小單位,每個(gè)簇在FAT表中占有一個(gè)登記項(xiàng),簇的編號(hào)與FAT登記項(xiàng)的編號(hào)一一對(duì)應(yīng)。FAT表從第2個(gè)表項(xiàng)開(kāi)始分配給文件,最開(kāi)始兩個(gè)表項(xiàng)即序號(hào)為0和1的表項(xiàng)為保留表項(xiàng)值為:0FFFFFF8和FFFFFFFF。其它的表項(xiàng)則以鏈表的形式存放下一個(gè)在邏輯上連續(xù)的簇號(hào)值,結(jié)束用0FFFFFFF標(biāo)記表示不再有后續(xù)的表項(xiàng),用00000000表示該簇沒(méi)有被使用,F(xiàn)AT管理磁盤(pán)空間的工作機(jī)理如圖1所示。磁盤(pán)空間的最后的部分為根目錄和文件區(qū),根目錄FDT、普通文件目錄和文件具體內(nèi)容由FAT表統(tǒng)一管理,與FAT16文件系統(tǒng)為根目錄劃出專(zhuān)用的磁盤(pán)空間不同,這也是FAT32與FAT16的最大區(qū)別之一。在系統(tǒng)引導(dǎo)區(qū)第一扇區(qū)偏移量為2Ch處存放著根目錄的入口簇號(hào),根據(jù)FAT32系統(tǒng)信息可計(jì)算出根目錄的具體位置,一般根目錄的入口簇號(hào)為00000002。FAT32文件系統(tǒng)的文件登記表格式請(qǐng)參考圖1,限于篇幅這里不介紹超長(zhǎng)文件名。
另外,對(duì)于支持ATA協(xié)議標(biāo)準(zhǔn)塊存儲(chǔ)設(shè)備有物理尋址(CHS)和邏輯尋址(LBA)兩種方式。在物理尋址方式下,存儲(chǔ)空間通過(guò)磁頭(Head)、柱面(Cylinder)和扇區(qū)(Sector)三個(gè)參數(shù)組織起來(lái)的,每一組H/C/S參數(shù)唯一確定存儲(chǔ)載體中的一個(gè)扇區(qū),通常一個(gè)扇區(qū)擁有512個(gè)字節(jié)的數(shù)據(jù)空間。邏輯尋址方式下,按照連續(xù)的邏輯扇區(qū)編號(hào)進(jìn)行尋址,使用28個(gè)數(shù)據(jù)位來(lái)表示邏輯扇區(qū)的地址。下面給出物理尋址方式與邏輯尋址方式的對(duì)應(yīng)關(guān)系,設(shè)NS為每磁道扇區(qū)數(shù),NH為磁頭數(shù),C、H、S分別表示磁盤(pán)的柱面、磁頭和扇區(qū)編號(hào),LBA表示邏輯扇區(qū)號(hào),Div為整除計(jì)算,mod為求余計(jì)算,則:LBA=NH



關(guān)鍵詞: DSP FAT32 TMS320LF2407A

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉