新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM9-μC/OS-II軟硬件平臺的SD卡文件系統(tǒng)的設(shè)計與實現(xiàn)

        基于ARM9-μC/OS-II軟硬件平臺的SD卡文件系統(tǒng)的設(shè)計與實現(xiàn)

        作者: 時間:2013-03-01 來源:網(wǎng)絡(luò) 收藏

        2.1.2 卡讀寫

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

        2.2

        2.2.1 FAT32概述

        Windows95 OSR2和Windows 98開始支持FAT32,它是對早期DOS的FAT文件系統(tǒng)的增強,由于文件系統(tǒng)的核心一文件分配表FAT擴充為32位,所以稱為FAT32文件系統(tǒng)。FAT32包含DBR、保留扇區(qū)、FAT1、FAT2(第一個FAT的備份)、根目錄、數(shù)據(jù)區(qū)5部分。DBR(Dos Boot Rec ord)是操作系統(tǒng)引導(dǎo)記錄區(qū);保留扇區(qū)是為了對DBR作備份或留待以后升級時用;文件分配表區(qū)共保存了兩個相同的FAT表,文件所占用的存儲空間(簇鏈)及空閑空間的管理都是通過FAT的;FAT32根目錄區(qū)(ROOT區(qū))不再是固定區(qū)域、固定大小,可看作是數(shù)據(jù)區(qū)的一部分;數(shù)據(jù)區(qū)用來存放真正要記錄的文件數(shù)據(jù),本系統(tǒng)定義的一簇為4K個字節(jié)。

        2.2.2 文件系統(tǒng)初始化

        文件系統(tǒng)初始主要是讀取SD卡的DBR扇區(qū)(0扇區(qū)),并分析該扇區(qū)內(nèi)容,從而獲取每扇區(qū)字節(jié)數(shù),每簇扇區(qū)數(shù),F(xiàn)AT開始扇區(qū)號,根目錄開始扇區(qū)號等關(guān)鍵信息,為文件的創(chuàng)建,讀寫等操作做準(zhǔn)備,文件系統(tǒng)初始化函數(shù)代碼如下:

        2.2.3 文件創(chuàng)建

        SD卡上創(chuàng)建文件或目錄的過程就是在文件目錄表FDT中申請登記項的過程,為此程序時定義了如下結(jié)構(gòu)體:



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 大同市| 清镇市| 小金县| 镇坪县| 哈巴河县| 禹城市| 吴堡县| 成安县| 镇平县| 衡水市| 开封县| 沁阳市| 开阳县| 儋州市| 灌阳县| 格尔木市| 平山县| 志丹县| 广宁县| 长垣县| 莱西市| 舞钢市| 徐水县| 山阳县| 梧州市| 石楼县| 德钦县| 平原县| 渭源县| 平顶山市| 手机| 崇明县| 边坝县| 金山区| 西吉县| 石家庄市| 丹巴县| 正安县| 延川县| 陇南市| 隆德县|