新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于M25P32 SPI Flash的TFFS設(shè)計(jì)與實(shí)現(xiàn)

基于M25P32 SPI Flash的TFFS設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2010-06-17 來(lái)源:網(wǎng)絡(luò) 收藏
0 引言

在VxWorks的應(yīng)用系統(tǒng)中,基于flash的文件系統(tǒng)通常都采用DOS+FAT+FTL的結(jié)構(gòu)。

一般情況下,磁盤(pán)文件系統(tǒng)大多是基于sector的文件系統(tǒng),磁盤(pán)按照物理上分為柱面、磁盤(pán)、扇區(qū),扇區(qū)是基于塊的文件系統(tǒng)操作的基本存儲(chǔ)單位,磁盤(pán)的容量都是根據(jù)這些數(shù)據(jù)計(jì)算出來(lái)的,每個(gè)扇區(qū)大小通常都是512bytes。

VxWorks文件系統(tǒng)中的DOSFS是MS-DOS兼容的文件系統(tǒng),可基于塊對(duì)物理介質(zhì)進(jìn)行操作。由于Fish的物理特性,對(duì)作基于塊(不同于的擦除塊)的操作必須由軟件作封裝實(shí)現(xiàn),這就是所起的作用。

1 VxWorks文件系統(tǒng)的總體結(jié)構(gòu)

VxWorks文件系統(tǒng)的總體結(jié)構(gòu)以及在整個(gè)文件系統(tǒng)的位置如圖l所示。



Tomado下的文件系統(tǒng)是Tornado的一個(gè)可選組件,它可為種類繁多的設(shè)備提供一個(gè)統(tǒng)一的塊設(shè)備接口。在Tornado2.2版本中自帶的TFFS版本為2.0,在文件系統(tǒng)中,TFFS的功能相當(dāng)于磁盤(pán)驅(qū)動(dòng),通過(guò)TFFS可使上層的DOSFS或RTll文件系統(tǒng)像操作普通的標(biāo)準(zhǔn)磁盤(pán)一樣來(lái)操作Flash。

2 TFFS文件系統(tǒng)的分層

圖2所示為T(mén)FFS文件系統(tǒng)的分層圖。圖中的Core Layer內(nèi)核層可將其他層連接起來(lái)協(xié)同工作;翻譯層主要實(shí)現(xiàn)DOS和TFFS之間的交互、管理文件系統(tǒng)和Flash各個(gè)物理塊的關(guān)系,同時(shí)支持TFFS的各種功能,如磨損均衡、錯(cuò)誤恢復(fù)等;MTD層執(zhí)行底層的程序驅(qū)動(dòng)(map、read、write、erase等);socket層的名稱來(lái)源于可以插拔的socket存儲(chǔ)卡,主要提供與具體的硬件板相關(guān)的驅(qū)動(dòng)。



3 FTL層分析

FTL是TFFS文件系統(tǒng)的核心,它是PCMCIS的一項(xiàng)標(biāo)準(zhǔn),意思是Flash Translation Laycr Specification,這種類型的文件系統(tǒng)是目前嵌入式系統(tǒng)中最流行的,很多公司都提供這種文件系統(tǒng)的相關(guān)解決方案。

PTL為DOS BPB/FAT與Flash之間的中間層,F(xiàn)TL利用現(xiàn)成的基于塊的文件系統(tǒng)(例如DOSFS)來(lái)實(shí)現(xiàn)應(yīng)用層的操作,實(shí)質(zhì)上就是在Flash設(shè)備上模擬磁盤(pán)塊設(shè)備的實(shí)現(xiàn),為基于塊的文件系統(tǒng)提供統(tǒng)一的接口。FTL通過(guò)以下幾步來(lái)模擬磁盤(pán)驅(qū)動(dòng):首先是在Flash擦除塊之外定義小的讀寫(xiě)塊(相當(dāng)于磁盤(pán)扇區(qū));其次是邏輯扇區(qū)(對(duì)塊文件系統(tǒng)如DOSFS呈現(xiàn)的地址)和物理地址(Flash的實(shí)際地址)之間的轉(zhuǎn)換;然后管理Flash,使得能在空閑的地方寫(xiě)入數(shù)據(jù)。其核心就是將DOS上的扇區(qū)映射到Flash上去。

上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: M25P32 Flash TFFS SPI

評(píng)論


相關(guān)推薦

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

關(guān)閉