1.本文所述內(nèi)容就是通過8051單片機(jī)對CF卡進(jìn)行讀寫。
2.CF卡的操作方式
CF卡的操作方式與計(jì)算機(jī)的硬盤操作方式類似,其扇區(qū)的尋址也有兩種方式:物理尋址(CHS)和邏輯尋址(LBA),物理尋址使用柱面、磁頭和扇區(qū)號表示一個(gè)特定的扇區(qū),起始扇區(qū)是0道、0頭、1區(qū),接下來是2區(qū)等等,邏輯尋址將整個(gè)CF卡統(tǒng)一尋址。邏輯塊尋址和物理尋址的關(guān)系為:
LBA地址=(柱面號×磁頭數(shù)+磁頭號)×扇區(qū)數(shù)+扇區(qū)數(shù)一1
在實(shí)際使用過程中,用LBA地址進(jìn)行尋址,可以大大簡化編程的工作量,避免柱面、磁頭和扇區(qū)之間的換算和切換,并且可以突破CHS對大容量的無法尋址的限制。
3.CF卡的文件管理
CF卡的文件管理系統(tǒng)和硬盤的文件管理是一樣的,他將CF卡的存儲空間分為五個(gè)部分:主引導(dǎo)記錄扇區(qū)(MBR)、DOS引導(dǎo)區(qū)(DBR)、文件分配表(FAT)、文件目錄表(FDT)和數(shù)據(jù)。
主引導(dǎo)記錄扇區(qū)(MBR)
主引導(dǎo)記錄扇區(qū)(MBR)在0柱面、0磁頭、1扇區(qū)。主引導(dǎo)記錄記錄磁盤最重要的結(jié)構(gòu)信息。主引導(dǎo)記錄是硬磁盤作分區(qū)時(shí)建立的(Fdisk)。主引導(dǎo)記錄包括一小段執(zhí)行代碼(主引導(dǎo)代碼)、磁盤特征和硬盤分區(qū)表。主引導(dǎo)記錄結(jié)束的兩個(gè)字節(jié)必須是引導(dǎo)自舉標(biāo)記0x55AA。磁盤特征位于0x01B8, 指定磁盤操作系統(tǒng)。
DOS引導(dǎo)區(qū)(DBR)
DOS引導(dǎo)區(qū)(DBR)的起始扇區(qū)在0柱面、1磁頭、1扇區(qū),磁盤的邏輯0扇區(qū)都稱為DOS引導(dǎo)扇區(qū),又稱為BOOT區(qū)。它由以下5個(gè)部分組成:
跳轉(zhuǎn)指令,占用3個(gè)字節(jié)的跳轉(zhuǎn)指令將跳至引導(dǎo)代碼,其內(nèi)容隨DOS版本變化。
廠商標(biāo)識和DOS版本號。該部分總共占用8個(gè)字節(jié),其內(nèi)容隨DOS版本而不同。
BPB(BIOS Paramenter Block, BIOS參數(shù)塊)。BPB從第12字節(jié)起占用19個(gè)字節(jié)。
DOS引導(dǎo)程序。DOS引導(dǎo)程序既是占用480字節(jié)的BOOT代碼,負(fù)責(zé)完成DOS的3個(gè)系統(tǒng)文