Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

The earliest version of FAT, the file system integrated into MS-DOS, is now called FAT12, so-called because each cluster address in the File Allocation Table is 12 bits long. This limits disk size to approximately 32 MB. Extensions to 16- and 32-bit addresses (i.e., FAT16 and FAT32), expand support to 2 GB and 8 TB, respectively.

FAT version

Pointer size (Table entry size)

Max. size of disk

Free cluster marker

Damaged cluster marker

End of cluster chain marker

FAT12

12 bits

32 MB

0

0xff7

0xff8

FAT16

16 bits

2 GB

0

0xfff7

0xfff8

FAT32

32 bits

8 TB

0

0x0fff fff7

0x0fff fff8

In µC/FS, you can enable support for FAT12, FAT16 and FAT32 individually: this means that you can enable only the FAT version that you need for your embedded system (see Appendix E, “μC/FS Configuration”.

FAT32 introduced some innovations:

  • The root directory in the earlier systems was a fixed size; i.e., when the medium is formatted, the maximum number of files that could be created in the root directory (typically 512) is set. In FAT32, the root directory is dynamically resizable, like all other directories.
  • Two special sectors have been added to the volume: the FS info sector and the backup boot sector. The former stores information convenient to the operation of the host, such as the last used cluster. The latter is a copy of the first disk sector (the boot sector), in case the original is corrupted.
    • No labels