基于μcosII的嵌入式文件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余3頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于cosii的嵌入式文件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)近年來(lái)隨著數(shù)碼相機(jī)、掃描儀、攝像手機(jī)等數(shù)碼設(shè)備的興起,數(shù)字照片成為人們生活中不行缺少的一部分。數(shù)碼相框作為一種新興的顯示媒介,以它大容量的存儲(chǔ)相片的能力,良好的顯示效果和多樣的功能正越來(lái)越快速的走進(jìn)千家萬(wàn)戶(hù)。隨著國(guó)家廣電總局推行電視數(shù)字化的進(jìn)程,全面鋪開(kāi)。本項(xiàng)目的開(kāi)發(fā)正是基于這兩種考慮,開(kāi)發(fā)了一種將數(shù)碼相框和數(shù)字電視相融合的產(chǎn)品。在這個(gè)產(chǎn)品的開(kāi)發(fā)過(guò)程中,一個(gè)關(guān)鍵性的問(wèn)題就是為mb86h20b數(shù)字電視平臺(tái)擴(kuò)展外部存儲(chǔ)的功能。本文中提到的基于cosii的文件系統(tǒng)的解決計(jì)劃較好的解決了這一問(wèn)題。2 嵌入式文件系統(tǒng)硬件銜接圖isp1160與mb86h20b(簡(jiǎn)

2、稱(chēng)20b)之間的硬件銜接圖1,isp的異步傳輸端口與20b上的upi(universal peripheral interface)接口相連,這是一種可以配置模式和時(shí)序的接口。在此采納了ide模式,根據(jù)isp1160的時(shí)序要求對(duì)其舉行了配置。isp1160在20b上僅僅映射2個(gè)io地址,一個(gè)為數(shù)據(jù)端口,一個(gè)為指令端口,由a0的凹凸電平區(qū)別。圖1 decoder與 host controller銜接原理圖isp1160上的int引腳銜接到20b外部中斷引腳irq1。當(dāng)中斷發(fā)生時(shí),20b進(jìn)入中斷服務(wù)程序,讀取isp1160狀態(tài)寄存器。這就構(gòu)成了isp1160到20b的數(shù)據(jù)反饋通路。3 在u盤(pán)上構(gòu)建

3、fat32文件系統(tǒng)fat32文件系統(tǒng)由三部分構(gòu)成, 這三部分在規(guī)律盤(pán)上的結(jié)構(gòu)2所示。圖2 fat32文件系統(tǒng)結(jié)構(gòu)暗示圖dbr(dos boot record)包含bios參數(shù)塊和dos引導(dǎo)程序。在bios參數(shù)塊中包含了每簇扇區(qū)數(shù),保留扇區(qū)數(shù),隱含扇區(qū)數(shù),每fat扇區(qū)數(shù),根名目fdt在data區(qū)的起始位置等重要信息。data區(qū)是從u盤(pán)根名目fdt(fat directory table)開(kāi)頭的,在根名目下用戶(hù)可以再創(chuàng)建不同的子名目或文件,根名目以及各個(gè)子名目都有自己的fdt ,fdt 定義了文件名、文件大小以及文件存放的起始簇號(hào)。通過(guò)各子名目和文件的fdt構(gòu)成的樹(shù)形文件索引結(jié)構(gòu)完成對(duì)文件的定位。

4、物理設(shè)備的最小存儲(chǔ)單位是sector(扇區(qū)),在data區(qū)中最小的存儲(chǔ)單位是cluster(簇),在u盤(pán)的flash上普通由8個(gè)section構(gòu)成一個(gè)cluster。因?yàn)橐粋€(gè)文件往往在data區(qū)上占用多個(gè)簇,fat32文件系統(tǒng)采納簇鏈的方式索引一個(gè)文件所占用的簇鏈。fat(file allocate table)記錄了data區(qū)哪些簇被用法,當(dāng)前簇的后繼簇簇號(hào)。4 fat文件系統(tǒng)的實(shí)現(xiàn)本文件系統(tǒng)的實(shí)現(xiàn),可以分為usb協(xié)議棧和fat32文件系統(tǒng)為主的四大部分。層次結(jié)構(gòu)關(guān)系3所示。圖3 軟件結(jié)構(gòu)模型4.1 協(xié)議層的實(shí)現(xiàn)大容量類(lèi)設(shè)備都可能用法 rbc、sff-8020i/mmc-2、qic-157、

5、ufi、sff-8070i和 scsi 等 6個(gè)指令集。嚴(yán)格來(lái)說(shuō),大容量類(lèi)主機(jī)端的驅(qū)動(dòng)都應(yīng)所有支持以上命令集,但事實(shí)上頻繁的大容量設(shè)備都用法 scsi 和 ufi 命令集。scsi 和 ufi 命令集中常用的指令在大容量類(lèi)協(xié)議中都可兼容。u盤(pán)的囫圇文件系統(tǒng)在主機(jī)軟件的協(xié)議層抽象為ufi(usb floppy interface)設(shè)備,通過(guò)含有ufi命令的指令塊(command block)與u盤(pán)通信。這層完成的功能有將文件系統(tǒng)中的操作翻譯為ufi命令,ufi命令打包成指令塊及其對(duì)應(yīng)的逆向操作。表1 傳輸層api函數(shù)實(shí)現(xiàn)4.2 傳輸層的實(shí)現(xiàn)傳輸處理層用于處理指令塊,包括主機(jī)傳輸指令塊到大容量類(lèi)設(shè)

6、備、主機(jī)與大容量設(shè)備之間的數(shù)據(jù)傳輸和主機(jī)接收指令塊處理狀態(tài)。大容量類(lèi)設(shè)備傳輸協(xié)議分為bulk-only協(xié)議和 cbi-only協(xié)議。該層為指令層提供了指令塊處理函數(shù)的統(tǒng)一接口,使指令層不需理睬當(dāng)前大容量類(lèi)設(shè)備的傳輸協(xié)議。傳輸層接收由協(xié)議層包裝好的指令塊,按照已注冊(cè)的mass storage class設(shè)備的信息,采納單批量(bulk only)傳輸模式從批量輸出端點(diǎn)(bulk data out endpoint)傳輸出去。類(lèi)似,也可以從批量輸入端點(diǎn)(bulk data in endpoint)接收數(shù)據(jù),向上傳遞到協(xié)議層解析。4.3 usb主機(jī)協(xié)議棧的實(shí)現(xiàn)在u盤(pán)銜接到usb電纜上后首先為isp1

7、160注冊(cè)一個(gè)root hub class,再為u盤(pán)注冊(cè)一個(gè)mass storage class的設(shè)備。接著,為了檢測(cè)u盤(pán)的銜接,啟動(dòng)查詢(xún)當(dāng)前狀態(tài)的host_serve的任務(wù)。當(dāng)isp1160 與u盤(pán)銜接后,isp1160通過(guò)中斷通知20b,20b進(jìn)入中斷服務(wù)程序轉(zhuǎn)變當(dāng)前狀態(tài)。在host_serve任務(wù)中檢測(cè)到狀態(tài)的轉(zhuǎn)變,開(kāi)頭usb協(xié)議的通信。至此,u盤(pán)(usb mass storage設(shè)備)注冊(cè)完成(大容量類(lèi)相關(guān)代碼見(jiàn)程序清單3.1,3.2,表2)。由此以后,fat32文件系統(tǒng)所要對(duì)u盤(pán)舉行的操作都經(jīng)過(guò)bulk-only傳輸完成。程序清單3.1 大容量設(shè)備描述信息數(shù)據(jù)結(jié)構(gòu)程序清單2.2 規(guī)律

8、單元描述信息數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的大容量類(lèi)的api函數(shù)如表2所示。表2 大容量類(lèi)api函數(shù)列表4.4 此文件系統(tǒng)在cosii中的移植fat32文件系統(tǒng)來(lái)源于開(kāi)源代碼,移植的主要工作是替換消息通訊函數(shù)。這些工作完成后,將對(duì)file的各種操作包裝成一個(gè)osfile任務(wù),接收應(yīng)用程序發(fā)出的文件操作要求。文件系統(tǒng)的整體結(jié)構(gòu)圖4所示。圖4 文件系統(tǒng)層次結(jié)構(gòu)5 性能測(cè)試基于已經(jīng)實(shí)現(xiàn)的計(jì)劃,舉行了具體的測(cè)試。首先,對(duì)名目的創(chuàng)建,名目的刪除,進(jìn)入名目,退出名目,文件的創(chuàng)建,文件的刪除,文件的讀取,文件的寫(xiě)入等基本功能舉行了測(cè)試,均能遺憾完成以上功能。接下來(lái)對(duì)照較關(guān)鍵的文件讀取功能舉行了詳盡的測(cè)試。測(cè)試所得到的結(jié)果徹低達(dá)到了對(duì)數(shù)字相片讀取的要求。表3 不同文件的讀取時(shí)光6 結(jié)束語(yǔ)基于20b的upi接口實(shí)現(xiàn)usb的傳輸,之前沒(méi)有可以參考的范例,徹低是出于對(duì)硬件時(shí)序和文件系統(tǒng)的理解設(shè)計(jì)了囫圇解決計(jì)劃。此計(jì)劃解決了20b芯片上外掛u盤(pán)的問(wèn)題, 從

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論