
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、arm7系統(tǒng)中實現(xiàn)cf卡存儲的文件系統(tǒng)設計隨著微控制器性能的不斷提高,應用越來越廣泛。但是目前市場上的大型商用嵌入式實時系統(tǒng),價格昂貴,而且都針對特定的硬件平臺。對于中小型系統(tǒng)開發(fā),購買商用實時系統(tǒng)并不劃算。目前我們正著手將嵌入式系統(tǒng)軟件應用于汽車衛(wèi)星導航儀系統(tǒng)的一步開發(fā)。傳統(tǒng)的嵌入式應用并不包括文件系統(tǒng),而我們要實現(xiàn)的文件系統(tǒng)需要在車輛導航系統(tǒng)中實現(xiàn)地圖數(shù)據(jù)文件的讀寫。因此它既要支持與ms-dos兼容的文件系統(tǒng)也要支持其它類型的文件系統(tǒng)。 另一方面,從數(shù)碼相機到mp3播放機,從掌上電腦到數(shù)碼攝像機,cf(compactflash)卡因為具有體積小、兼容性強、價格相對低廉等諸多優(yōu)點,在數(shù)碼設備
2、上的應用越來越廣泛。但若想在cf卡與pc之間傳遞數(shù)據(jù),通常不得不借助于特地的讀卡器,這給pc的用戶帶來了不小的棘手。 compactflash卡全稱為“標準閃存卡”,簡稱“cf卡”。cf卡的應用空間比較廣,最頻繁的是在數(shù)碼照相機中用于照片的存儲。因為cf卡內(nèi)部采納模擬硬盤控制器的設計,使得cf卡可以比較簡單地通過ide接口實現(xiàn)與電腦的銜接,一定程度上可以起到移動存儲的作用。普通的嵌入式系統(tǒng)不會提供讀寫cf卡的接口,所以需要在文件系統(tǒng)中特地設計一個驅(qū)動程序。1 基本原理圖1所示的cf卡中,主機系統(tǒng)的控制器接口允許數(shù)據(jù)從flash介質(zhì)讀寫。cf卡的存取方式有三種:memory方式、i/o方式以及t
3、rue ide方式。我們挑選的是true ide方式。需要注重的是,當主機電源向來接通時,拔插cf卡將會使其從本來的true ide方式重新配置成pc card ata方式。所以要讓cf卡向來工作在true ide,需要在電源加電啟動時將oe輸入信號接地。此方式也支持8位存取,但我們挑選了16位存取。一次最多存取的扇區(qū)數(shù)可由指令碼ech中的第47參數(shù)字打算。cf卡跟硬盤的結構相同,2所示。在引導區(qū)中裝實用于啟動系統(tǒng)的代碼,以及有關文件系統(tǒng)的重要信息,隨后是記錄全部磁盤空間的表,再下來就是根名目,然后是全部其它的東西。引導扇區(qū)在其末尾處包含有分區(qū)表。此表包含了用以標示每個分區(qū)開頭和結束的表項,最
4、多可以有四個分區(qū),每個分區(qū)可包含不同的文件系統(tǒng)。緊隨引導區(qū)之后的是fat(文件分配表),用來記錄設備中全部的磁盤空間的信息(此表與unix中的i-node表和空閑表具有相同的功能)。設計軟件時,同時考慮了通用性及可擴展性,目的在于使該文件系統(tǒng)無需分離修改便能夠?qū)f卡、ide硬盤、ram disk、盤、sd等不同的存儲介質(zhì)舉行操作;讀出這些存儲介質(zhì)中的數(shù)據(jù),并且可以將數(shù)據(jù)輸送到不同存儲設備上。為了達到這些目的,我們針對不同cpu的不同處理辦法,對硬件操作程序舉行分別,將設備有關的底層程序變成與設備無關的上層操作。這樣,當系統(tǒng)新增功能之后,不必更改每個子程序,只需要在某些接口文件的數(shù)據(jù)結構中添加
5、或者更改數(shù)據(jù)項即可;又考慮到用戶對上層操作的透亮性,我們采納面對對象的辦法,上層結構中存取操作的driver結構(含read、write數(shù)據(jù)項)是虛擬的,在底層才將它詳細化為cf卡的讀寫扇區(qū)指令(操作碼為:20h、30h)。軟件程序的主要流程3所示。2 系統(tǒng)設計實現(xiàn)按照上述原理,可完成軟件設計,其基本框架4所示,分為六個主要部分。其中,cf卡驅(qū)動程序設計的關鍵是cf卡的存取操作函數(shù)所采納的指令碼有些不同。另外,我們用法驅(qū)動程序?qū)ο髞泶韈f卡設備驅(qū)動程序。該驅(qū)動程序?qū)ο髮τ谟脩羰遣糠植煌噶恋模瑪?shù)據(jù)項包括讀寫函數(shù)的指針,這些函數(shù)由文件系統(tǒng)程序輸出(包括兩部分函數(shù),用戶可見api函數(shù)調(diào)用和用戶不見
6、驅(qū)動存取函數(shù))。此對象的數(shù)據(jù)結構聲明如下:typedef struct cf_xfile_driverbyte driver_name; /*介質(zhì)標示;cf卡、ide硬盤、flash卡、ramdisk等,刪除驅(qū)動的話,需要重新記錄driver號*/ /*irp處理函數(shù)*/cf_xfile_driver;假如有多個cf卡,需要用另外一個特定的數(shù)據(jù)結構next_driver來把它們水平銜接在一起。然后,用鏈表來管理這些數(shù)據(jù)結構,管理方式類似于wdm(windows driver model)。3 測試分析經(jīng)過調(diào)試運行,該文件系統(tǒng)性能良好。與我們之前已經(jīng)移植過的nucleus、c/os- ii、unix的操作系統(tǒng)的文件系統(tǒng)相比,本文介紹的文件系統(tǒng)可移植性更強;除了文中著重介紹的cf卡,經(jīng)過對底層驅(qū)動的容易修改就可以應用于其它存儲介質(zhì)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美容能量石培訓
- 混凝土樓梯施工合同范本
- 門店商品供貨合同范本
- 聘用住家保姆合同范本
- 家庭除螨服務合同(2篇)
- 外墻砂漿合同范本
- 2025至2030年中國手搖電筒電機行業(yè)發(fā)展研究報告
- 2025至2030年中國手動三偏心電動蝶閥市場調(diào)查研究報告
- 2025至2030年中國異型并溝線夾市場分析及競爭策略研究報告
- 2025至2030年中國廣告燈箱用電子鎮(zhèn)流器行業(yè)投資前景及策略咨詢報告001
- 高速公路路網(wǎng)數(shù)字底座研究與建設
- 藥學專業(yè)崗位分析報告范文
- JT-T-1246-2019公路與鐵路兩用橋梁技術要求
- 河南省南陽市唐河縣2023-2024學年八年級下學期期末數(shù)學試題
- 2023-2024學年浙江省杭州市學軍中學高一(下)期中數(shù)學試卷(含解析)
- 3D打印混凝土技術的發(fā)展與展望
- 2024年山東省棗莊市薛城區(qū)中考二模數(shù)學試題
- 醫(yī)院檢驗科實驗室生物安全程序文件SOP
- 中考語文復習??济?.《革命烈士詩抄》-有答案
- 山東浪潮數(shù)字企業(yè)技術有限公司社會招聘筆試真題2023
- JTG D70-2-2014 公路隧道設計規(guī)范 第二冊 交通工程與附屬設施
評論
0/150
提交評論