資料介紹
摘 要: 本文介紹了DSP TMS320LF2407A和FAT32文件系統(tǒng)結(jié)構(gòu),分析了基于TMS320LF2407A支持 FAT32文件系統(tǒng)結(jié)構(gòu)的嵌入式軟件實(shí)現(xiàn)。
關(guān)鍵詞: TMS320LF2407A;FAT32;DSP
引言
近幾年來(lái),隨著閃爍存儲(chǔ)技術(shù)的進(jìn)步,由于Flash閃爍存儲(chǔ)體系具有容量大和功耗低等優(yōu)點(diǎn),被廣泛用于數(shù)碼相機(jī)、媒體播放器和PDA等各種數(shù)碼產(chǎn)品中。當(dāng)前各種流行的嵌入式操作系統(tǒng)雖然功能完備,但在許多具體的應(yīng)用中,仍需要編寫特定的系統(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)和基于DSP TMS320LF2407A為硬件平臺(tái)支持 FAT32文件系統(tǒng)結(jié)構(gòu)的嵌入式軟件實(shí)現(xiàn)。
FAT32文件系統(tǒng)結(jié)構(gòu)簡(jiǎn)介
單FAT32分區(qū)的磁盤或閃爍存儲(chǔ)器(以下沒(méi)有特殊情況均指單FAT32分區(qū)情況)由主引導(dǎo)區(qū)(MBR)、系統(tǒng)引導(dǎo)區(qū)、文件分配表FAT1、文件分配表備份FAT2、文件根目錄FDT和文件數(shù)據(jù)區(qū)組成,它們?cè)诖疟P上是順序分布的,如圖1所示。
主引導(dǎo)區(qū)從物理第一扇區(qū)開(kāi)始,記錄了第一磁盤分區(qū)的入口和剩余磁盤分區(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ū)的磁盤空間,其位置和大小由系統(tǒng)引導(dǎo)區(qū)中的參數(shù)計(jì)算可得。簇是FAT表給文件分配磁盤空間的最小單位,每個(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管理磁盤空間的工作機(jī)理如圖1所示。磁盤空間的最后的部分為根目錄和文件區(qū),根目錄FDT、普通文件目錄和文件具體內(nèi)容由FAT表統(tǒng)一管理,與FAT16文件系統(tǒng)為根目錄劃出專用的磁盤空間不同,這也是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分別表示磁盤的柱面、磁頭和扇區(qū)編號(hào),LBA表示邏輯扇區(qū)號(hào),Div為整除計(jì)算,mod為求余計(jì)算,則:LBA=NH×NS×C+NS×H+S-1;C=(LBA div NS)div NH;H=(LBA div NS)mod NH;S=(LBA mod NS)+1。了解了FAT32文件系統(tǒng)的結(jié)構(gòu),就可以獲取相關(guān)文件系統(tǒng)參數(shù)(參見(jiàn)圖1),對(duì)文件進(jìn)行管理,包括一下幾個(gè)方面:
*系統(tǒng)引導(dǎo)扇區(qū)開(kāi)始的邏輯扇區(qū)號(hào),由主分區(qū)第一扇區(qū)即物理第一扇區(qū)偏移量1C6h處獲得。
*計(jì)算文件分配表及備份FAT1和FAT2的位置和大小:FAT1的起始邏輯扇區(qū)號(hào)=保留扇區(qū)的大小+系統(tǒng)引導(dǎo)扇區(qū)開(kāi)始的邏輯扇區(qū)號(hào);FAT2的邏輯扇區(qū)號(hào)=FAT1的邏輯扇區(qū)號(hào)+每個(gè)FAT所占的扇區(qū)數(shù)。
*根據(jù)根目錄的起始簇號(hào)計(jì)算根目錄的位置:根目錄的起始邏輯扇區(qū)號(hào)=FAT2的邏輯扇區(qū)號(hào)+每個(gè)FAT所占的扇區(qū)數(shù)+(根目錄的起始簇號(hào)-2)×每簇扇區(qū)數(shù)。這也是根據(jù)簇號(hào)計(jì)算邏輯扇區(qū)號(hào)的公式。

關(guān)鍵詞: TMS320LF2407A;FAT32;DSP
引言
近幾年來(lái),隨著閃爍存儲(chǔ)技術(shù)的進(jìn)步,由于Flash閃爍存儲(chǔ)體系具有容量大和功耗低等優(yōu)點(diǎn),被廣泛用于數(shù)碼相機(jī)、媒體播放器和PDA等各種數(shù)碼產(chǎn)品中。當(dāng)前各種流行的嵌入式操作系統(tǒng)雖然功能完備,但在許多具體的應(yīng)用中,仍需要編寫特定的系統(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)和基于DSP TMS320LF2407A為硬件平臺(tái)支持 FAT32文件系統(tǒng)結(jié)構(gòu)的嵌入式軟件實(shí)現(xiàn)。
FAT32文件系統(tǒng)結(jié)構(gòu)簡(jiǎn)介
單FAT32分區(qū)的磁盤或閃爍存儲(chǔ)器(以下沒(méi)有特殊情況均指單FAT32分區(qū)情況)由主引導(dǎo)區(qū)(MBR)、系統(tǒng)引導(dǎo)區(qū)、文件分配表FAT1、文件分配表備份FAT2、文件根目錄FDT和文件數(shù)據(jù)區(qū)組成,它們?cè)诖疟P上是順序分布的,如圖1所示。
主引導(dǎo)區(qū)從物理第一扇區(qū)開(kāi)始,記錄了第一磁盤分區(qū)的入口和剩余磁盤分區(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ū)的磁盤空間,其位置和大小由系統(tǒng)引導(dǎo)區(qū)中的參數(shù)計(jì)算可得。簇是FAT表給文件分配磁盤空間的最小單位,每個(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管理磁盤空間的工作機(jī)理如圖1所示。磁盤空間的最后的部分為根目錄和文件區(qū),根目錄FDT、普通文件目錄和文件具體內(nèi)容由FAT表統(tǒng)一管理,與FAT16文件系統(tǒng)為根目錄劃出專用的磁盤空間不同,這也是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分別表示磁盤的柱面、磁頭和扇區(qū)編號(hào),LBA表示邏輯扇區(qū)號(hào),Div為整除計(jì)算,mod為求余計(jì)算,則:LBA=NH×NS×C+NS×H+S-1;C=(LBA div NS)div NH;H=(LBA div NS)mod NH;S=(LBA mod NS)+1。了解了FAT32文件系統(tǒng)的結(jié)構(gòu),就可以獲取相關(guān)文件系統(tǒng)參數(shù)(參見(jiàn)圖1),對(duì)文件進(jìn)行管理,包括一下幾個(gè)方面:
*系統(tǒng)引導(dǎo)扇區(qū)開(kāi)始的邏輯扇區(qū)號(hào),由主分區(qū)第一扇區(qū)即物理第一扇區(qū)偏移量1C6h處獲得。
*計(jì)算文件分配表及備份FAT1和FAT2的位置和大小:FAT1的起始邏輯扇區(qū)號(hào)=保留扇區(qū)的大小+系統(tǒng)引導(dǎo)扇區(qū)開(kāi)始的邏輯扇區(qū)號(hào);FAT2的邏輯扇區(qū)號(hào)=FAT1的邏輯扇區(qū)號(hào)+每個(gè)FAT所占的扇區(qū)數(shù)。
*根據(jù)根目錄的起始簇號(hào)計(jì)算根目錄的位置:根目錄的起始邏輯扇區(qū)號(hào)=FAT2的邏輯扇區(qū)號(hào)+每個(gè)FAT所占的扇區(qū)數(shù)+(根目錄的起始簇號(hào)-2)×每簇扇區(qū)數(shù)。這也是根據(jù)簇號(hào)計(jì)算邏輯扇區(qū)號(hào)的公式。

下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于TMS320LF2407A DSP的全數(shù)字舵機(jī)伺服系統(tǒng)設(shè)計(jì)
- 控制器TMS320LF2407A系列數(shù)據(jù)手冊(cè) 13次下載
- FAT32文件系統(tǒng)基礎(chǔ)知識(shí) 31次下載
- FAT32文件系統(tǒng)的存儲(chǔ)機(jī)制及其在單片機(jī)上的實(shí)現(xiàn) 22次下載
- FAT32文件系統(tǒng)的存儲(chǔ)機(jī)制介紹和在單片機(jī)上的實(shí)現(xiàn)說(shuō)明 14次下載
- FAT32文件系統(tǒng)的詳細(xì)資料介紹 33次下載
- FAT32文件系統(tǒng)說(shuō)明 16次下載
- TMS320LF2407A匯編指令 33次下載
- 基于TMS320LF2407A的SVPWM變頻系統(tǒng)的研究及實(shí)現(xiàn) 14次下載
- 基于TMS320LF2407A的SVPWM變頻系統(tǒng)的設(shè)計(jì) 19次下載
- 基于TMS320LF2407A的SVPWM變頻調(diào)速系統(tǒng)的應(yīng)用 34次下載
- 基于TMS320LF2407A直流電機(jī)閉環(huán)調(diào)速控制系統(tǒng)的設(shè)計(jì)
- FAT32文件系統(tǒng)結(jié)構(gòu)的技術(shù)參數(shù)分析
- FAT32文件系統(tǒng)淺析
- 基于TMS320LF2407A DSP的矩陣變換器控制系統(tǒng)
- 事務(wù)性日志結(jié)構(gòu)文件系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn) 770次閱讀
- Linux 文件系統(tǒng)層的主要結(jié)構(gòu) 1034次閱讀
- 文件系統(tǒng)概述及代碼移植 1910次閱讀
- 基于DSP實(shí)現(xiàn)異步串行數(shù)據(jù)通訊系統(tǒng)的應(yīng)用設(shè)計(jì) 2635次閱讀
- debian安裝zfs文件系統(tǒng) 1w次閱讀
- 基于DSP和SD卡的生理信號(hào)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì) 3729次閱讀
- 基于DSP芯片TMS320LF2407控制的數(shù)字開(kāi)關(guān)電源綜述 5846次閱讀
- 基于TMS320LF2407A控制SED1335液晶顯示方案 3000次閱讀
- 基于DSP的智能電源系統(tǒng)設(shè)計(jì) 5531次閱讀
- 基于TMS320LF2407A的全數(shù)字單相變頻器的設(shè)計(jì) 1627次閱讀
- TMS320LF2407A實(shí)現(xiàn)教育機(jī)器人硬件平臺(tái) 1838次閱讀
- 基于DSP視頻系統(tǒng)的CF卡FAT文件系統(tǒng)設(shè)計(jì) 1723次閱讀
- 基于DSP芯片TMS320LF2407的天然氣發(fā)動(dòng)機(jī)控制系統(tǒng) 1570次閱讀
- 基于TI DSP系統(tǒng)的心電監(jiān)護(hù)儀系統(tǒng)設(shè)計(jì) 1472次閱讀
- TMS320LF2407 DSP控制器的串行通信設(shè)計(jì) 2345次閱讀
下載排行
本周
- 1GD100PIX120C6SNA規(guī)格書
- 0.98 MB | 3次下載 | 免費(fèi)
- 2一款入耳式耳機(jī)的仿真與分析
- 0.44 MB | 2次下載 | 免費(fèi)
- 3Eurotherm TKS Temperature 用戶手冊(cè)
- 1.46 MB | 2次下載 | 免費(fèi)
- 4人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
- 4.27 MB | 2次下載 | 免費(fèi)
- 5無(wú)線系統(tǒng)中天線和RF元件電磁建模
- 7.48 MB | 1次下載 | 4 積分
- 6Multisim模擬電路仿真教程
- 1.93 MB | 1次下載 | 3 積分
- 7DMP300C1型微機(jī)變壓器保護(hù)測(cè)控裝置技術(shù)說(shuō)明書
- 4.11 MB | 次下載 | 10 積分
- 8用MT3540芯片設(shè)計(jì)BOOST電路 1(可下載)
- 445.66 KB | 次下載 | 免費(fèi)
本月
- 1晶體三極管的電流放大作用詳細(xì)說(shuō)明
- 0.77 MB | 32次下載 | 2 積分
- 2Python從入門到精通背記手冊(cè)
- 18.77 MB | 27次下載 | 1 積分
- 3雙極型三極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費(fèi)下載
- 4.03 MB | 25次下載 | 1 積分
- 4AIWA HS-J303 MKⅡ維修手冊(cè)
- 22.47 MB | 23次下載 | 10 積分
- 5多級(jí)放大電路的學(xué)習(xí)課件免費(fèi)下載
- 1.81 MB | 21次下載 | 2 積分
- 6九陽(yáng)豆?jié){機(jī)高清原理圖
- 2.47 MB | 20次下載 | 1 積分
- 7AIWA HS-J202/HS-J202M/HS-J800維修手冊(cè)
- 13.60 MB | 15次下載 | 10 積分
- 81875功放原理圖
- 0.04 MB | 11次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191382次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183337次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81585次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論