MBR get partition
Is it active
Partition type
is
FAT12/16/32
No
Yes
Success
Failed
No
Yes
An active
partition has
already been
found
An active
partition was
found
Yes
Yes
No
No
For all 4 entries
Functional Description
Once identified, the ROM Code gets the partition using the procedure described in
. The
partition type is checked to be FAT12/16 or FAT32. Its state must be 00h or 80h (if there are more than
one active partition the test fails). The ROM Code returns with FAIL if no active primary FAT12/16/32
could be found.
Figure 26-21. MBR, Get Partition
26.1.7.5.7.2 FAT12/16/32 Boot Sector
The FAT file system is made out of several parts:
•
Boot Sector which holds the BIOS Parameter Block (BPB)
•
File Allocation Table (FAT) which describes the use of each cluster of the partition
•
Data Area which holds the Files, Directories and Root Directory (for FAT12/16, the Root Directory has
a specific fixed location).
The Boot Sector is described in
Note: In the following description, all the fields whose names start with BPB_ are part of the BPB. All the
fields whose names start with BS_ are part of the Boot Sector and not really part of the BPB (not
mandatory), they are not used at all by the ROM Code.
Table 26-25. FAT Boot Sector
Offset
Length[bytes]
Name
Description
0000h
3
BS_jmpBoot
Jump Instruction to Boot Code (not used)
Name of the System which created the
0003h
8
BS_OEMName
partition
000Bh
2
BPB_BytsPerSec
Counts of Bytes per sector (usually 512)
000Dh
1
BPB_SecPerClus
Number of sectors per allocation unit
Number of reserved sectors for the Boot
000Eh
2
BPB_RsvdSecCnt
SectorFor FAT12/16 is 1, for FAT32,
usually 32
0010h
1
BPB_NumFATs
Number of copies of FAT, usually 2
4136Initialization
SPRUH73H – October 2011 – Revised April 2013
Copyright © 2011–2013, Texas Instruments Incorporated