小規模な組み込みシステム向けの汎用FATファイルシステム・モジュールです。ANSI C準拠でハードウェア・アーキテクチャには依存しないので、必要なワークエリアが確保できれば、PIC, AVR, H8, Z80などほとんどのマイコンでそのまま使用可能です。いろいろな使用形態を考慮して、高速版(FatFs)と省メモリ版(Tiny-FatFs)の2通りを作成してみました。実際に使用するには、各記録メディア(CFC, MMC, SDC, ATA, USB, SCSI等)に対応したディスクI/Oモジュール(サンプルあり)を用意する必要があります。
いくつかのコンフィギュレーション・オプションにより、不要な関数を削ってモジュールサイズを削減できます。次に実際のメモリ使用量[バイト]を示します(avrgccの例)。
| セクション | 標準 | 最小 |
|---|---|---|
| Program (R/W cfg.) | 8282 | 6294 |
| Program (R/O cfg.) | 4482 | 3704 |
| Work Area (static) | 2 | |
| Work Area (dynamic) | 544 + 540 * <files> | |
| セクション | 標準 | 最小 |
|---|---|---|
| Program (R/W cfg.) | 6868 | 5208 |
| Program (R/O cfg.) | 3804 | 3136 |
| Work Area (static) | 2 | |
| Work Area (dynamic) | 538 + 24 * <files> | |
FatFs/Tiny-FatFsモジュールは、次のファイル操作関数を提供しています。
FatFs/Tiny-FatFsモジュールは、物理ドライブへのアクセスや現在時刻を得るため、下位レイヤに次のインターフェースを要求します。