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 (see ).
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.