• <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卡文件系統的設計與實現

    作者: 時間:2013-03-01 來源:網絡 收藏

    2.1.2 卡讀寫

    初始化完戚之后,就可對卡進行讀寫操作,通過設置I數據控制寄存器SDIDCON來確定SD卡的讀寫長度,讀操作時數據長度作沒有明確限制,寫操作時,每次寫的長度必須為BLOCK的倍數。SD卡的讀寫可以一次性讀寫單塊數據,也可以一次性讀寫多塊數據,多塊數據的讀寫結束時,要發送CMD12結束指令。主要函數:Write_Card_Block()-寫入單塊數據;Write_Card_Data()-寫入多塊數據;Read_Card_Block()-讀多塊數據;Read_Card-Data()-讀多塊數據。

    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 文件系統初始化

    文件系統初始主要是讀取SD卡的DBR扇區(0扇區),并分析該扇區內容,從而獲取每扇區字節數,每簇扇區數,FAT開始扇區號,根目錄開始扇區號等關鍵信息,為文件的創建,讀寫等操作做準備,文件系統初始化函數代碼如下:

    2.2.3 文件創建

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



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 东乡| 天门市| 鄱阳县| 富民县| 东光县| 霍林郭勒市| 林周县| 通城县| 二连浩特市| 淄博市| 师宗县| 大城县| 讷河市| 平乡县| 灵丘县| 延川县| 乐都县| 青岛市| 玉树县| 阜宁县| 甘洛县| 伊金霍洛旗| 沙河市| 宿迁市| 攀枝花市| 淮阳县| 香港| 弥勒县| 曲靖市| 峨眉山市| 通江县| 绩溪县| 兴隆县| 石屏县| 屏南县| 涞源县| 石狮市| 沽源县| 长汀县| 保亭| 屏边|