fat32.h

来自「mp4的源码,主要包括loader,usb driver,mp3 decoder」· C头文件 代码 · 共 68 行

H
68
字号
#ifndef __FAT32_H__
#define __FAT32_H__

#include "def.h"

typedef struct _MBR_BLOCK {
  U8 Res[450];
  U8 Type;
  U8 Res1[3];
  U32 StartSector;
  U32 TotalSector;
  U8 Res2[50];
} MBR_BLOCK,* PMBR_BLOCK;

typedef struct _BPB_BLOCK {
  U8 BS_jmpBoo[3];
  U8 BS_OEMName[8];
  U16 BPB_BytesPerSec;		//
  U8 BPB_SecPerClus;		//
  U16 BPB_RsvdSecCn;		//
  
  U8 BPB_NumFATs;
  U16 BPB_RootEntCnt;		//
  U16 BPB_TotSec16;
  U8 BPB_Media;
  U16 BPB_FATSz16;
  U16 BPB_SecPerTrk;
  U16 BPB_NumHeads;
  U32 BPB_HiddSec;
  
  U32 BPB_TotSec32;
  U32 BPB_FATSz32;		//
  U16 BPB_ExtFlags;
  U16 BPB_FSVer;
  U32 BPB_RootClus;		//
  
  U16 BPB_FSInfo;
  U16 BPB_BkBootSec;
  U8 BPB_Reserved[12];
  
  U8 BS_DrvNum;
  U8 BS_Reserved1;
  U8 BS_BootSig;
  U32 BS_VolID;
  U8 BS_VolLab[11];
  U8 BS_FilSysType[8];
  U8 ExecutableCode[420];
  U8 Marker[2];

} BPB_BLOCK,*PBPB_BLOCK;


/* FOR FAT32*/
#define	FirstSectorofCluster_32(clusterNum)	(U32)((clusterNum-2)*BPB_SecPerClus+RootStartSector)
#define ThisFatSecNum_32(clusterNum)		(U32)((clusterNum>>7)+FatStartSector)
#define	ThisFatEntOffset_32(clusterNum)		(U16)((clusterNum<<2)&0x1FF)

S8 Init_Fat32(void)
U32 GetNextClusterNum_32(U32 clusterNum)

U32 SwapINT32(U32 dData)
U16 SwapINT16(U16 dData)

//mmc.h
S8 Mmc_Init(void)
S8 Mmc_Read_Sector(WORD addr,BYTE *Buffer)

#endif //__FAT32_H__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?