• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    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()。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 平顶山市| 南陵县| 崇州市| 龙山县| 扎囊县| 沾益县| 恩施市| 比如县| 鹤峰县| 枣阳市| 红原县| 那曲县| 运城市| 双柏县| 刚察县| 揭阳市| 阜康市| 弥渡县| 桐庐县| 博白县| 永定县| 河西区| 长葛市| 海原县| 新巴尔虎左旗| 宁乡县| 军事| 眉山市| 石河子市| 水富县| 天台县| 勃利县| 白银市| 澎湖县| 芜湖县| 泽普县| 常州市| 弥渡县| 蓝田县| 白山市| 南江县|