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