FAT File System Module


layer

FatFs is a generic file system module to implement the FAT file system to small embedded systems. The FatFs is written in compliance with ANSI C, therefore it is independent of hardware architecture. It can be incorporated into cheap microcontrollers, such as 8051, PIC, AVR, SH, Z80, H8, ARM and etc..., without any change.

Features of FatFs

  1. Separated buffer for FAT structure and each file, suitable for fast multiple file access.
  2. Supports multiple drives and partitions.
  3. Supports FAT12, FAT16 and FAT32.
  4. Supports 8.3 format file name. (LFN is not supported)
  5. Supports two partitioning rules: FDISK and Super-floppy.
  6. Optimized for 8/16-bit microcontrollers.

Features of Tiny-FatFs (different to FatFs)

  1. Very low memory consumption, suitable for small memory system. (1KB RAM)
  2. Supports only single drive.

Application Interface

FatFs/Tiny-FatFs module provides following functions.

Disk I/O Interface

Since the FatFs/Tiny-FatFs module is completely separated from disk I/O layer, it requires following functions to lower layer to read/write physical disk and to get current time. The low level disk I/O module with this interface must be provided by user. The sample drivers are also available in the next resources.

Resources

The FatFs/Tiny-FatFs module is a free software and is opened for education, research and development. You can use, modify and/or republish it for personal, non-profit or commercial use without any restriction under your responsibility.