



全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于VxWorks的TrueFFS文件系統(tǒng)的構(gòu)建與設(shè)計(jì) VxWorks是一種的高性能實(shí)時(shí)操作系統(tǒng),其強(qiáng)實(shí)時(shí)性、高可靠性、良好的可剪裁特性、友好的集成開發(fā)環(huán)境Tornado,使VxWorks成為實(shí)時(shí)操作系統(tǒng)中最有特色的操作系統(tǒng)之一。加之VxWorks對ARM系列芯片有著良好的支持,使其在軍事、航天、通信、工業(yè)控制等諸多方面應(yīng)用十分廣泛。但是目前大多數(shù)的嵌入式軟件開發(fā)人員都僅僅是開發(fā)了一些驅(qū)動(dòng)程序,這樣也可以讓系統(tǒng)運(yùn)行起來,然而僅僅做到這些是不夠的,構(gòu)建文件系統(tǒng),采用文件系統(tǒng)的方式對各個(gè)程序加以細(xì)化的管理和操作,將更加有利于提高整個(gè)系統(tǒng)的效率和可靠性。 TrueFFS是一種硬盤仿真技術(shù),TrueFFS應(yīng)用程序能從閃存中讀寫,其過程如同從磁性介質(zhì)的機(jī)械硬盤驅(qū)動(dòng)器上的MS-DOS文件系統(tǒng)中讀寫一樣。TrueFFS用磨損測評(píng)技術(shù)和無用單元收集算法,像硬盤一樣最合理的分配和使用每一個(gè)區(qū)塊,減少了區(qū)塊遷移和區(qū)塊過度使用,讓閃盤更可靠、使用壽命更長??梢栽谠S多嵌入式系的DOC中得以廣泛應(yīng)用。 VxWorks操作系統(tǒng)在文件系統(tǒng)與設(shè)備驅(qū)動(dòng)程序之間使用一種標(biāo)準(zhǔn)的I/O操作接口, 這樣使得在單個(gè)VxWorks操作系統(tǒng)中可以運(yùn)行多個(gè)相同或者不同類型的文件系統(tǒng)。依據(jù)這些標(biāo)準(zhǔn)接口協(xié)議,用戶可以為VxWorks操作系統(tǒng)編寫自己的文件系統(tǒng),并且可融入自己編寫的設(shè)備驅(qū)動(dòng)程序,以實(shí)現(xiàn)兩者的自由組合。有較高的靈活性和可擴(kuò)展性。1 軟件結(jié)構(gòu) Window下的文件系統(tǒng)如FAT、NTFS往往不適合用在嵌入式應(yīng)用系統(tǒng)中,因?yàn)榈谝唬呵度胧綉?yīng)用系統(tǒng)工作條件往往比較惡劣。第二:實(shí)際的嵌入式應(yīng)用系統(tǒng)往往資源很有限、不便于支持大型的文件系統(tǒng)。第三:閃存的過編程易造成閃存的損壞。 VxWorks中可支持的文件系統(tǒng)有:dosFs文件系統(tǒng)、TrueFFS文件系統(tǒng)(TrueFFS支持閃存設(shè)備)、rawFs文件系統(tǒng)、tapeFs文件系統(tǒng)、cdromFs文件系統(tǒng)、TSFS目標(biāo)服務(wù)器文件系統(tǒng)。其中dosFs文件系統(tǒng)適合于塊存儲(chǔ)設(shè)備的實(shí)時(shí)操作,與MS-DOS文件系統(tǒng)兼容。TrueFFS提供面向多種閃存設(shè)備的塊設(shè)備接口,可以重進(jìn)入、線程安全、并支持所有裝載VxWorks的CPU結(jié)構(gòu)。由于閃存非常適合移動(dòng)設(shè)備、手持設(shè)備和大多數(shù)的嵌入式系統(tǒng),而這些要求對于機(jī)械硬盤而言則難以滿足。TureFFS與dosFs文件系統(tǒng)是兼容的所以很有實(shí)用價(jià)值。 TureFFS與dosFs的區(qū)別在于TrueFFS不支持分區(qū)表,也不支持ioctl。值得注意的是,Tornado的這個(gè)版本支持SSFDC規(guī)范的NAND器件,但不支持NOR器件。VxWorks中的軟件體系結(jié)構(gòu)如圖1所示。 至底向上依次是硬件設(shè)備、塊存取設(shè)備、文件系統(tǒng)、設(shè)備驅(qū)動(dòng)、應(yīng)用程序。硬件設(shè)備是閃存、DRAM、串口、網(wǎng)口等;塊存取設(shè)備驅(qū)動(dòng)程序主要是面向設(shè)備的啟動(dòng)層;文件系統(tǒng)主要有dosFs和TrueFFS,這部分是非常重要的,一個(gè)良好而高效的嵌入式系統(tǒng)必須要有這樣一個(gè)或者多個(gè)文件系統(tǒng)。接著是I/O系統(tǒng)接口,VxWorks操作系統(tǒng)中的I/O系統(tǒng)可以提供簡單、統(tǒng)一、與任何設(shè)備無關(guān)的接口,包括基本I/O和緩沖I/O系統(tǒng),適應(yīng)高實(shí)型的要求。最頂部是用戶的編寫應(yīng)用程序與下層的代碼也不直接與硬件聯(lián)系。2 TureFFS層次架構(gòu)圖2 TrueFFS具有分層結(jié)構(gòu)1.核心層:該層將其他各層連接起來,并處理全局事務(wù),如后臺(tái)處理、碎片搜集、計(jì)時(shí)器和其他系統(tǒng)資源,核心層只有二進(jìn)制形式。2.轉(zhuǎn)換層:該層包含了存儲(chǔ)媒質(zhì)的文件系統(tǒng)視圖與閃存擦除之間的映射。轉(zhuǎn)換層只有二進(jìn)制形式。3.MTD層:MTD執(zhí)行閃存媒質(zhì)的低級(jí)編程(映射、讀、寫、擦除),MTD具有源代碼和二進(jìn)制形式。4.Socket層:Socket層提供TrueFFS與板級(jí)硬件之間的接口,提供指定板硬件的存取程序。Socket驅(qū)動(dòng)程序只具有源代碼形式。3 構(gòu)建支持TrueFFS系統(tǒng)的步驟 選擇MTD組件,MTD是軟件模塊既可以用WINDRIVER公司的產(chǎn)品也可以用戶自己編寫。MTD支持的閃存設(shè)備有CFI接口的也有SCS接口,根據(jù)自己的Flash芯片,決定采用什么樣的BSP組件。確定Socket驅(qū)動(dòng)程序、sysTffs.c文件中執(zhí)行、在相應(yīng)的BSP中也要有所定義。配置系統(tǒng)。添加dosFs和其他組件。并且必須要有一個(gè)核心組件INCLUDE_TFFS。構(gòu)建項(xiàng)目。在這里包含多種組件,主要是與選擇的Flash種類有關(guān),各種公司生產(chǎn)的閃存設(shè)備都對應(yīng)了不同的組件。如INCLUDE_MTD_AMD就是包含AMD、Fujitsu的閃存設(shè)備。引導(dǎo)目標(biāo)機(jī)以及格式化驅(qū)動(dòng)程序。安裝驅(qū)動(dòng)程序。使用usrTffsConfig()函數(shù)將文件系統(tǒng)安裝在TrueFFS閃存驅(qū)動(dòng)器。檢測驅(qū)動(dòng)程序。確保文件操作的正確性。啟動(dòng)系統(tǒng),注冊Socket驅(qū)動(dòng)程序后,調(diào)出shell程序,用tfsDevFormat()格式化Flash。由于系統(tǒng)中有一部分是下載的系統(tǒng)映象文件,所以這部分區(qū)域不能被格式化,所以創(chuàng)建啟動(dòng)鏡像區(qū)域是有必要的。4 閃存驅(qū)動(dòng)程序設(shè)計(jì) 這部分的程序應(yīng)該放在MTD層中實(shí)現(xiàn)。通用設(shè)備驅(qū)動(dòng)程序是放在子程序usrRoot()中、而BSP專用設(shè)備驅(qū)動(dòng)程序是放在子程序sysHWInit()中。硬件的行為和特性是通過內(nèi)部寄存器來控制的,對內(nèi)部寄存器的訪問,有兩種方式,I/O方式和存儲(chǔ)器映射閃存方式,在ARM系統(tǒng)里把外設(shè)I/O與內(nèi)存統(tǒng)一編址。驅(qū)動(dòng)程序是界于硬件和上層應(yīng)用軟件之間的低層程序代碼,驅(qū)動(dòng)程序負(fù)責(zé)低層硬件和上層應(yīng)用程序間的數(shù)據(jù)交換,直接面向硬件操作。驅(qū)動(dòng)程序?qū)懙煤脛t使得上層應(yīng)用程序的工作量相對減少很多。為防止阻塞,在驅(qū)動(dòng)程序中設(shè)置狀態(tài)檢查至關(guān)重要,對硬件操作延時(shí)必然會(huì)產(chǎn)生,延時(shí)可以測出,通過時(shí)間判斷延時(shí)和死機(jī)等異常情況,從而做出相應(yīng)處理。對Flash可以分扇區(qū)擦除也可以整片擦除,對閃存的寫數(shù)據(jù)其實(shí)也是先擦除再寫入,讀出數(shù)據(jù)也是分塊讀出數(shù)據(jù),可以按照周期時(shí)序規(guī)則對指定的寄存器寫入指令和讀出或者寫入數(shù)據(jù)。盡量循環(huán)擦除以避免造成閃存某一個(gè)區(qū)域的過編程,這樣可以有效利用各個(gè)塊的存儲(chǔ)空間也可以延長壽命。還必須注意數(shù)據(jù)的長度和數(shù)據(jù)類型的選擇,使內(nèi)存地址必須對齊,否則可能造成系統(tǒng)不可預(yù)知的問題。下面是部分代碼。/定義_廠各種指令代碼#define FLASH_CMD_FIRST 0xaa#define FLASH_CMD_SECOND 0x55/定義了總線周期地址#define FLASH_REG_FIRST_CYCLE *(unsigned short *)(0x2000000+0x555*2)#define FLASH REG_SECOND_CYCLE *(unsigned short *)(Ox2000000+Ox2aa*2)#define FLASH_CMD_PROGRAM1 0x80#define FLASH_CMD_PROGRAM2 0x10/flash按扇區(qū)擦除STATUS sysFlashEraseSector(unsigned int addr)/flash整片擦除STATUS sysFlashChipErase(void)/flash讀出整塊數(shù)據(jù)void FLASH_READ(unsigned int addr,unsigned short int *pread,int nwords)/flash寫入整塊數(shù)據(jù)STATUS sysFlashWrite (unsigned short int data,short int size,unsigned int addr) 為了盡可能的延長使用壽命,TrueFFS使用了一種稱為磨損測評(píng)的技術(shù)和無用單元收集算法。磨損測評(píng)可以緩解“過編程”的現(xiàn)象,平衡整個(gè)介質(zhì)的磨損情況,使每個(gè)單元的擦除次數(shù)近似相等。無用存儲(chǔ)單元收集技術(shù)對已經(jīng)擦除塊進(jìn)行再次聲明,便于循環(huán)使用。5 小結(jié) 本文介紹了TrueFFS文件系統(tǒng)的建立過程,分析了各個(gè)層次架構(gòu),介紹了Flash驅(qū)動(dòng)程序。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 27534.8-2025畜禽遺傳資源調(diào)查技術(shù)規(guī)范第8部分:兔
- 2025年軟件開發(fā)技術(shù)趨勢試題及答案
- 加油站電路火災(zāi)應(yīng)急預(yù)案(3篇)
- 行政法學(xué)的實(shí)踐案例分析方法試題及答案
- 2025年軟考設(shè)計(jì)師備考試題及答案全解
- 2025年軟考設(shè)計(jì)師考試命題動(dòng)態(tài)觀察試題及答案
- 行政法學(xué)考試沖刺試題及答案
- 2025年VB編程實(shí)戰(zhàn)試題及答案解析
- 跨平臺(tái)開發(fā)考試試題及答案分享
- 2025年軟考考試技巧與試題及答案分享
- 物流專線合作協(xié)議書
- 企業(yè)價(jià)值評(píng)估2課件
- 盆腔器官脫垂的中國診治指南(2023年)
- 如何做好醫(yī)患溝通
- 江蘇省南師附中、天一中學(xué)、海門中學(xué)、海安中學(xué)2022-2023學(xué)年高二下學(xué)期6月四校聯(lián)考化學(xué)試題
- 食品安全責(zé)任保險(xiǎn)課件
- 國開電大《應(yīng)用寫作(漢語)》形考任務(wù)1-6答案
- 兒童腦癱康復(fù)課件
- 施工現(xiàn)場建筑垃圾處置方案
- 固體料倉 (2.26)設(shè)計(jì)計(jì)算
- DB63-T 2112-2023 餐飲厲行節(jié)約實(shí)施指南
評(píng)論
0/150
提交評(píng)論