中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
基于FAT32文件系統(tǒng)的SD卡向Nand Flash中拷貝數(shù)據(jù)

讀出SD卡中的數(shù)據(jù),然后拷貝到Nand中,這個過程需要文件系統(tǒng)的支持,和MCU的控制,本文文件系統(tǒng)采用的是FAT32,MCU是STC12LE5A56S2。

第一章 Fat32在SD卡中的實現(xiàn)

1.Fat32在SD中的分布

圖1-1-1 Fat32在SD卡中的分布

BootSector大小是一個扇區(qū),512個字節(jié);ReservedSector是保留扇區(qū),在本SD卡中保留扇區(qū)的個數(shù)是36個;Fat1與Fat2是分區(qū)表,二者內(nèi)容完全一樣;RootDirector是根目錄,所在簇號是2,占用一簇8個扇區(qū);DataArea即為數(shù)據(jù)存取部分。

2.BootSector解剖

圖1-2-1 BootSector 內(nèi)容

BootSector是操作系統(tǒng)引導(dǎo)扇區(qū),又被稱為DBR(Dos Boot Sector),用WinHex打開后的內(nèi)容如圖1-2-1所示。在DBR中真正對我們有用的是BPB(BIOS Parameter Block),BPB位于DBR的12-90字節(jié)處。BPB詳細(xì)內(nèi)容如下:

字段名稱 長度 含義 偏移量
jmpBoot 3 跳轉(zhuǎn)指令 0
OEMName 8 這是一個字符串,標(biāo)識了格式化該分區(qū)的操作系統(tǒng)的名稱和版本號 3
BytesPerSec 2 每扇區(qū)字節(jié)數(shù) 11
SecPerClus 1 每簇扇區(qū)數(shù) 13
RsvdSecCnt 2 保留扇區(qū)數(shù)目 14
NumFATs 1 此卷中FAT表數(shù) 16
RootEntCnt 2 FAT32為0 17
TotSec16 2 FAT32為0 19
Media 1 存儲介質(zhì) 21
FATSz16 2 FAT32為0 22
SecPerTrk 2 磁道扇區(qū)數(shù) 24
NumHeads 2 磁頭數(shù) 26
HiddSec 4 FAT區(qū)前隱扇區(qū)數(shù) 28
TotSec32 4 該卷總扇區(qū)數(shù) 32
FATSz32 4 FAT表扇區(qū)數(shù) 36
ExtFlags 2 FAT32特有 40
FSVer 2 FAT32特有 42
RootClus 4 根目錄簇號 44
FSInfo 2 文件系統(tǒng)信息 48
BkBootSec 2 通常為6 50
Reserved 12 擴(kuò)展用 52
DrvNum 1 64
Reserved1 1 65
BootSig 1 66
VolID 4 67
FilSysType 11 71
FilSysType1 8 82

表1-2-1 BPB內(nèi)容介紹

在BPB中對我們最重要的是紅色標(biāo)記的部分,根據(jù)圖1-1,知道了保留扇區(qū)的數(shù)目就可以求得FAT所在的扇區(qū);知道了FAT表的個數(shù),每個FAT表所占的扇區(qū)以及FAt表的起始扇區(qū),就可以求得根目錄所在的起始扇區(qū)了。

3.FAT表解剖

圖1-3-1 FAT表中的內(nèi)容

Fat表中的內(nèi)容如圖1-3-1所示,開始的8個字節(jié)“F8 FF FF 0F FF FF FF FF”為FAT表的開始標(biāo)志字節(jié)。記錄是從簇2開始的,簇2中的內(nèi)容是“FF FF FF 0F”表示簇2沒有后繼簇—即該文件一個簇就可以裝下;簇3中的內(nèi)容是“04 00 00 00”表示簇3的下一簇是簇4—Fat采用的是小段模式。

4.根目錄解剖

圖1-4-1 RootDirectory中的內(nèi)容

在根目錄中使用32字節(jié)來表示一個文件(目錄也被當(dāng)作文件來看待),這32個字節(jié)的含義如表1-4-1所示。

表 1-4-1 文件屬性說明

在這32字節(jié)中,對我們來說最重要的就是起始簇了,因為知道了起始簇就能找到文件所在的扇區(qū)位置。

5.單片機(jī)讀SD卡流程


 
 
 
 
 
 
 
 
 
 
 
    圖1-5-1 讀SD卡流程

采用的單片機(jī)是STC12LE5A56S2,有1280字節(jié)的RAM,每次讀一個扇區(qū),512字節(jié)。啟動扇區(qū)(BootSector)對于SD卡來說一般是0扇區(qū),知道了啟動扇區(qū)就能知道該SD卡中的保留扇區(qū)、FAT表的起始扇區(qū)以及FAT表所占扇區(qū),進(jìn)而求得根目錄。在根目錄中可以通過文件名或?qū)傩詠聿檎宜枰奈募M(jìn)而找到文件的起始簇,有了起始簇在通過FAT表來判斷是否是結(jié)束簇,若不是FAT表會告知下一簇,若是則讀過程結(jié)束。

第二章 Fat32在Nand Flash中的實現(xiàn)

采用的單片機(jī)僅僅有1280字節(jié)的RAM,緩沖區(qū)的大小只能是一個扇區(qū)512字節(jié),要實現(xiàn)SD卡中的數(shù)據(jù)拷貝到Nand Flash中,采用的思想便是SD卡中的數(shù)據(jù)與Nand Flash進(jìn)行一一映射,而不再進(jìn)行數(shù)據(jù)的處理(只有少許改動)。這樣不僅節(jié)省了RAM,而且在完成了向Nand Flash中寫入數(shù)據(jù)后,就可以將Nand Flash當(dāng)作SD卡來對待,不用再重新寫Nand Flash文件系統(tǒng)的讀過程。

FAT32 在Nand Flash上的分布如表1-1所示:

表2-1

紅色部分是在讀出SD卡的0扇區(qū)內(nèi)容后需要做的修改,然后再寫進(jìn)Nand Flash的0扇區(qū)中。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
硬盤故障大全
基于單片機(jī)和FAT16的SD卡讀寫系統(tǒng)設(shè)計 (3)
圖文并茂 SD/TF卡 FAT文件系統(tǒng)徹底剖解(二)
硬盤數(shù)據(jù)恢復(fù)入門教程(邏輯盤BPB表篇)
FAT16存儲原理:
關(guān)于FAT,FDT,DATA區(qū)相關(guān)資料共享.(適用于FAT16/FAT32). - 其他開...
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服