小規模な組み込みシステム向けの汎用FATファイルシステム・モジュールです。ANSI C準拠でハードウェア・アーキテクチャには依存しないので、必要なワークエリアが確保できれば、PIC, AVR, H8, Z80などほとんどのマイコンでそのまま使用可能です。いろいろな使用形態を考慮して、高速版(FatFs)と省メモリ版(Tiny-FatFs)の2通りを作成してみました。実際に使用するには、各記録メディア(CFC, MMC, SDC, ATA, USB, SCSI等)に対応したディスクI/Oモジュール(サンプルあり)を用意する必要があります。
いくつかのコンフィギュレーション・オプションにより、不要な関数を削ってモジュールサイズを削減できます。次に実際のメモリ使用量[バイト]を示します(avrgccの例)。
| セクション | 標準 | 最小 |
|---|---|---|
| プログラム(R/W構成) | 8554 | 6020 |
| プログラム(R/O構成) | 4170 | 3400 |
| 静的ワークエリア | 2 | |
| 動的ワークエリア | 544 + 540 * <files> | |
| セクション | 標準 | 最小 |
|---|---|---|
| プログラム(R/W構成) | 7112 | 4836 |
| プログラム(R/O構成) | 3538 | 2774 |
| 静的ワークエリア | 2 | |
| 動的ワークエリア | 538 + 24 * <files> | |
FatFs/Tiny-FatFsモジュールは、次のファイル操作関数を提供しています。
FatFs/Tiny-FatFsモジュールは、物理ドライブへのアクセスや現在時刻を得るため、下位レイヤに次のインターフェースを要求します。
FatFs/Tiny-FatFsモジュールはフリーウェアとして教育・研究・開発用に公開しています。どのような利用目的(個人・非商用・商用)でも使用・改変・配布について一切の制限はありませんが、全て利用者の責任の下での利用とします。