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

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于MCF51QE128的SD卡文件系統設計

    基于MCF51QE128的SD卡文件系統設計

    作者: 時間:2010-09-10 來源:網絡 收藏

    摘要:隨著系統的發展,越來越多的設備需要處理大量的數據,使用文件系統將成為這類應用的一個必然趨勢。本文基于Freescale公司MCF51QEl28微控制器和SD卡,結合實驗數據深入探討了FATl6文件系統及其存儲原則,實現了文件的創建、打開和多扇區數據的讀寫。
    關鍵詞:MCF51QEl28;SD卡;FATl6文件系統

    本文引用地址:http://www.czjhyjcfj.com/article/151574.htm

    引言
    MCF51QEl28微控制器是Freescale公司生產的8位/32位兼容的低功耗微處理器。工作電壓的典型值是3.6V,與SD卡的工作電壓兼容,可直接與SD卡連接而無需電平轉換電路。SD卡因為其體積小、功耗低、容量大且成本低,目前被廣泛應用于各類嵌入式數據采集系統中。本文針對此類應用,通過實測512MB SD卡數據,以實例的形式深入解析了FATl6文件系統的存儲原則,并給出了實現方案。

    1 FATl6文件系統
    SD卡格式化為FAT文件系統時,一般只采用1個分區,以便于存儲空間的管理。FATl6主要由圖1所示的6個陰影部分組成。通常情況下,每扇區的大小為512字節。

    6a.jpg


    1. 1 主引導記錄
    MBR(Master Boot Record,主引導記錄)總是位于存儲卡的起始位置,即扇區O。圖2是主引導記錄的詳細信息。由于只有1個分區,所以由偏移量0x1BE可找到第1分區的入口,接著由偏移量0x08找到第1分區的相對起始扇區,即第1分區引導記錄所在的扇區。以512 MB SD卡為例,讀取圖2中地址OxlC6~OxlC9處的4個字節數據(由高位向低位讀取),即Ox000000E9。可知,第1分區引導記錄位于SD卡的第0xE9個扇區。

    6b.jpg


    1.2 分區引導記錄
    分區BR(Boot Record,引導記錄)位于分區的第O扇區。它由跳轉代碼,OEM(Original Eqtlipment Manufacturer,原始設備制造商),BPB(BIOs Parameter Block,BIOS參數塊),擴展BPB,引導代碼和結束標志(Ox55 AA)組成。圖3重點列出了分區引導記錄中BPB的各項參數。讀圖3中Ox000000E9扇區,由偏移量0x0B處2字節數據Ox0200=512可知,SD卡每扇區的字節數為512。類似地,可得到其他相關參數。

    6c.jpg


    1.3 FAT表和文件存儲原則
    FATl6文件系統主要通過FAT表(FATl和FAT2)、根目錄和數據區實現對文件的存儲管理。FAT表記錄了數據文件的存儲鏈表,對數據的讀取極為重要,通常都會有一個或多個備份。這里,FAT2就是對FATl的備份,必須隨著FATl即時同步更新。根目錄一般以32字節為單位來存放文件記錄。

    linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

    上一頁 1 2 3 下一頁

    關鍵詞: 嵌入式

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 海淀区| 巴楚县| 柘荣县| 永修县| 桓台县| 镇江市| 陇川县| 连云港市| 潞西市| 新源县| 义乌市| 巴林左旗| 玉山县| 玛多县| 五常市| 济源市| 余干县| 巧家县| 广丰县| 红安县| 泸定县| 随州市| 自贡市| 扎赉特旗| 吉木萨尔县| 龙州县| 永和县| 莆田市| 大同县| 稷山县| 晋江市| 交口县| 毕节市| 安庆市| 德江县| 文成县| 澳门| 义马市| 景泰县| 连江县| 灌云县|