新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM9和μC/OS-II的SD卡文件系統設計與實現

        基于ARM9和μC/OS-II的SD卡文件系統設計與實現

        作者: 時間:2012-08-09 來源:網絡 收藏

        2.2 文件系統設計
        2.2.1 FAT32文件系統概述
        Windows95 OSR2和Windows 98開始支持FAT32文件系統,它是對早期DOS的FAT文件系統的增強,由于文件系統的核心一文件分配表FAT擴充為32位,所以稱為FAT32文件系統。FAT32包含DBR、保留扇區、FAT1、FAT2(第一個FAT的備份)、根目錄、數據區5部分。DBR(Dos Boot Rec ord)是操作系統引導記錄區;保留扇區是為了對DBR作備份或留待以后升級時用;文件分配表區共保存了兩個相同的FAT表,文件所占用的存儲空間(簇鏈)及空閑空間的管理都是通過FAT實現的;FAT32根目錄區(ROOT區)不再是固定區域、固定大小,可看作是數據區的一部分;數據區用來存放真正要記錄的文件數據,本系統定義的一簇為4K個字節。
        2.2.2 文件系統初始化
        文件系統初始主要是讀取的DBR扇區(0扇區),并分析該扇區內容,從而獲取每扇區字節數,每簇扇區數,FAT開始扇區號,根目錄開始扇區號等關鍵信息,為文件的創建,讀寫等操作做準備,文件系統初始化函數代碼如下:

        e.JPG

        2.2.3 文件創建
        上創建文件或目錄的過程就是在文件目錄表FDT中申請登記項的過程,為此程序設計時定義了如下結構體:

        f.JPG


        g.JPG


        在文件目錄項FDT中申請登記項動作就是通過對上述結構體的操做來完成的,操作流程,也是文件創建流程如圖3所示,當把插入卡插槽時,系統首先初始化SD卡,即讀取SD卡的DBR扇區(0扇區)獲取相關信息,接下來打開所要創建文件的路徑,如果路徑不存在,創建該路徑,如果存在,搜尋FAT表,找空閑簇。再接下來把要創建的文件的相關信息(文件名,文件大小,創建時間,屬性等)填入上述結構體,把該結構體寫入文件目錄項FDT,相應的扇區寫入數據,最后更新FAT鏈表。文件創建實現函數為FAT32_Creat_File()。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 望都县| 阳东县| 华蓥市| 仲巴县| 辛集市| 牟定县| 临海市| 彰化县| 枣庄市| 广州市| 贞丰县| 吴桥县| 清水河县| 柘荣县| 湘潭县| 莱芜市| 西林县| 淮阳县| 民县| 长子县| 班戈县| 丰顺县| 南靖县| 涿州市| 贵定县| 宁化县| 达日县| 禹城市| 洪洞县| 平果县| 秦皇岛市| 麻江县| 鄂托克旗| 竹溪县| 于田县| 阳山县| 弥勒县| 韩城市| 磴口县| 内丘县| 临安市|