2 Petit FAT File System

An SD card is a very convenient way to store large amounts of nonvolatile data. A file system is generally used to allow the data to be portable and easily accessible from a PC. An industry standard, widely used file system is FAT. Many AVR applications require optimized usage of Flash memory and SRAM; when only limited interfacing is needed or insufficient resources are available, a normal FAT file system module may be unsuitable, hence the need for the subset Petit FAT file system module (Petit FatFs), available from elm-chan.org/fsw/ff/00index_p.html. It is specifically designed for 8-bit microcontrollers, such as AVR 8-bit microcontrollers, and provides a basic interface to a FAT file system formatted MMC or SD card while requiring limited resources. It is platform independent and so it requires a lower disk I/O layer to be functional, but sample drivers are available.

The functionality provided by the Petit FatFs library includes:
  • Mounting a volume with a FAT file system
  • Opening a file
  • Read a file
  • Write to a file (with some restrictions)
  • Move R/W pointer
  • Open a directory
  • Read a directory item
Configuration regarding inclusion or exclusion of any function is defined in the configuration header file (pffconf.h), in order to minimize compile size.