色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于INTEL StrataFlash在VxWorks上構(gòu)建TrueFFS文件系統(tǒng)

          基于INTEL StrataFlash在VxWorks上構(gòu)建TrueFFS文件系統(tǒng)

          作者: 時(shí)間:2012-05-21 來源:網(wǎng)絡(luò) 收藏

          一 前言

          是美國WindRiver公司于1983年推出的一種嵌入式(RTOS),它以突出的可靠性,實(shí)時(shí)性,可裁減性等特點(diǎn)被廣泛應(yīng)用于航空,航天,軍事,通信,安防等領(lǐng)域。

          在嵌入式系統(tǒng)中,通常用flash作為永久存儲介質(zhì),用來存儲系統(tǒng)引導(dǎo)程序、操作系統(tǒng)映像、用戶應(yīng)用程序以及系統(tǒng)的配置參數(shù)等?;?a class="contentlabel" href="http://cafeforensic.com/news/listbylabel/label/VxWorks">VxWorks 操作系統(tǒng),在flash上建立TureFFS,可以使用戶操作flash時(shí),就像操作硬盤一樣,支持文件的建立、拷貝、刪除等操作。

          StrataFlash系列flash是2005年初INTEL公司推出的在技術(shù)上有重大突破的產(chǎn)品,它開創(chuàng)了在單個(gè)晶體管中存儲兩位數(shù)據(jù)的存儲技術(shù),從而大大地降低了成本,一經(jīng)推出,迅速被廣泛采用。在其上構(gòu)建TrueFFS,可以為其他開發(fā)者提供有益的借鑒。

          二 TrueFFS介紹

          TrueFFS文件系統(tǒng)為種類繁多的flash存儲設(shè)備提供了統(tǒng)一的塊設(shè)備接口,它具有可重入性、線程安全等特點(diǎn)。在TrueFFS的支持下,應(yīng)用程序?qū)lash設(shè)備的操作就好像對有DOS文件系統(tǒng)支持的硬盤設(shè)備的操作一樣。

          TrueFFS文件系統(tǒng)包括一個(gè)核心層(Core Layer)和三個(gè)功能層:轉(zhuǎn)換層(Translation Layer)、驅(qū)動層(Memory Technology Driver (MTD) Layer)、套接層(Socket Layer),共四層。層次結(jié)構(gòu)如圖 1所示。

          核心層的主要功能是使其他各層互相連接,為其他層的通信提供通道以及完成一些象碎片收集,定時(shí)器管理等全局任務(wù)。WindRiver公司通常以二進(jìn)制代碼的形式提供核心層模塊,開發(fā)者不需對核心層進(jìn)行任何修改。

          轉(zhuǎn)換層主要負(fù)責(zé)維護(hù)一個(gè)文件系統(tǒng)的邏輯塊和flash中刪除塊之間的映射圖。這個(gè)映射圖主要是用來實(shí)現(xiàn)對flash的平衡磨損策略,以及進(jìn)行錯(cuò)誤恢復(fù)。所謂平衡磨損是指,flash的壽命通常是有限的,每個(gè)塊的擦寫次數(shù)大概在十萬次左右(實(shí)際上要少的多),因此在擦寫時(shí)不能一直對某一個(gè)塊重復(fù)擦寫,即使是對同一個(gè)數(shù)據(jù)改寫時(shí)也是這樣,一個(gè)數(shù)據(jù)改寫前在這個(gè)塊中存放,改寫后可能就存放到另外一塊了,而且flash是先寫后刪,這就可以在寫入發(fā)生錯(cuò)誤時(shí)進(jìn)行錯(cuò)誤恢復(fù)了。轉(zhuǎn)換層也是以二進(jìn)制代碼的形式提供的。

          驅(qū)動層是對不同種類的flash提供底層的操作,如映射(map),讀(read),寫(write),刪(erase)等。構(gòu)建TrueFFS文件系統(tǒng)的主要工作就是針對不同類型的flash芯片編寫相應(yīng)的驅(qū)動層代碼。

          套接層是提供TrueFFS和硬件之間的接口,提供訪問特定硬件的訪問進(jìn)程。包括套接字注冊,電源管理,寫保護(hù)等。WindRiver公司為開發(fā)者提供一個(gè)套接層模板,需要針對特定的硬件進(jìn)行修改。

          三 INTEL StrataFlash系列FLASH上構(gòu)建TrueFFS文件系統(tǒng)

          本文以INTEL StrataFlash系列中常用的32Mbit 28F320J3A為例說明構(gòu)建TrueFFS文件系統(tǒng)的過程。

          1 修改相關(guān)系統(tǒng)文件

          修改config.h文件,此文件一般存放在BSP文件夾中,在此文件中定義支持TrueFFS功能以及其他相關(guān)功能的宏,包括:

          #define INCLUDE_

          #ifdef INCLUDE_

          #define INCLUDE_DOSFS

          #define INCLUDE_SHOW_ROUTINES

          #endif

          修改sysTffs.c文件,此文件一般存放在BSP文件夾中,此文件定義哪個(gè)MTD驅(qū)動和轉(zhuǎn)換層模塊被包含到TrueFFS中,以及定義flash的基地址和大小,會有以下定義出現(xiàn):

          #define INCLUDE_MTD_I28FJ3A

          #define INCLUDE_TL_FTL

          #define FLASH_BASE_ADRS 0x10000000

          #defineFLASH_SIZE 0x00400000

          修改sysLib.c文件,此文件一般存放在BSP文件夾中,在數(shù)組sysPhysMemDesc[]中加入FLASH_BASE_ADRS、 FLASH_SIZE所指定的地址段,MMU屬性設(shè)為VM_STATE_WRITABLE和VM_STATE_CACHEABLE_NOT等。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉