 
FatFs module is an experimental project to implement FAT file system to small embdded systems. The FatFs module is written in compliance with ANSI C, therefore it is independent of hardware architecture. It can be incorporated into most small microcontrollers, such as 8051, PIC, AVR, H8, Z80 and etc..., without any change. I created two modules in different configurations in consideration of various use. To use the FatFs module, low level disk I/O functions for each media must be provided by user.
There are some configuration options to eliminate unused functions to reduce module size. Following tables are the memory consumption in unit of byte on avr-gcc.
| Section | Std cfg. | Min cfg. | 
|---|---|---|
| Program (R/W cfg.) | 8526 | 6042 | 
| Program (R/O cfg.) | 4172 | 3402 | 
| Static Work Area | 2 | |
| Dynamic Work Area | 548 + 540 * <files> | |
| Section | Std cfg. | Min cfg. | 
|---|---|---|
| Program (R/W cfg.) | 7138 | 4862 | 
| Program (R/O cfg.) | 3542 | 2778 | 
| Static Work Area | 2 | |
| Dynamic Work Area | 540 + 24 * <files> | |
FatFs/Tiny-FatFs module provides following functions.
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. These functions must be provided by user.
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 profit use without any restriction under your responsibility.