新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM7系統中CF卡存儲的文件系統設計實現

        ARM7系統中CF卡存儲的文件系統設計實現

        作者: 時間:2013-11-09 來源:網絡 收藏

        為了達到這些目的,我們針對不同CPU的不同處理方法,對硬件操作程序進行分離,將設備有關的底層程序變成與設備無關的上層操作。這樣,當系統新增功能之后,不必更改每個子程序,只需要在某些接口文件的數據結構中添加或者更改數據項即可;又考慮到用戶對上層操作的透明性,我們采用面向對象的方法,上層結構中存取操作的Driver結構(含Read、Write數據項)是虛擬的,在底層才將它具體化為的讀寫扇區命令(操作碼為:20h、30h)。

        軟件程序的主要流程如圖3所示。

        2 系統設計實現

        根據上述原理,可完成軟件設計,其基本框架如圖4所示,分為六個主要部分。

        其中,驅動程序設計的關鍵是的存取操作函數所采用的命令碼有些不同。另外,我們使用驅動程序對象來代表CF卡設備驅動程序。該驅動程序對象對于用戶是部分不透明的,數據項包括讀寫函數的指針,這些函數由文件系統程序輸出(包括兩部分函數,用戶可見API函數調用和用戶不見驅動存取函數)。此對象的數據結構聲明如下:

        Typedef Struct CF_XFILE_DRIVER{

        BYTE Driver_name; /*介質標示;CF卡、IDE硬盤、Flash卡、RAMDISK等,刪除驅動的話,需要重新記錄DRIVER號*/

        …… /*IRP處理函數*/

        }CF_XFILE_DRIVER;

        如果有多個CF卡,需要用另外一個特定的數據結構Next_Driver來把它們水平連接在一起。然后,用鏈表來管理這些數據結構,管理方式類似于WDM(Windows Driver Model)。

        3 測試分析

        經過調試運行,該文件系統性能良好。與我們之前已經移植過的Nucleus、ΜC/OS- II、UNIX的操作系統的文件系統相比,本文介紹的文件系統可移植性更強;除了文中著重介紹的CF卡,經過對底層驅動的簡單修改就可以應用于其它存儲介質如RAMdisk、IDE硬盤、Flash等(其中IDE硬盤和Flash也已經調試成功)。另外,本文介紹的文件系統對硬件平臺的配置要求降低,并且對于文件操作的運行速度并未減慢。


        上一頁 1 2 下一頁

        關鍵詞: ARM CF卡 微控制器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 中超| 昌邑市| 康马县| 汉中市| 宁夏| 上犹县| 商都县| 苏州市| 陈巴尔虎旗| 元阳县| 马龙县| 寻甸| 沁水县| 正镶白旗| 昔阳县| 五常市| 来安县| 朔州市| 邯郸县| 盱眙县| 科技| 习水县| 安徽省| 库车县| 和平区| 嘉鱼县| 新野县| 佛学| 株洲市| 靖西县| 扶绥县| 镇原县| 桦南县| 南投市| 阆中市| 从江县| 金昌市| 鄂托克前旗| 平舆县| 博爱县| 都江堰市|