FATファイルシステム・モジュール


小規模な組み込みシステム向けの汎用FATファイルシステム・モジュールです。ANSI C準拠でハードウェア・アーキテクチャには依存しないので、必要なワークエリアが確保できれば、PIC, AVR, H8, Z80などほとんどのマイコンでそのまま使用可能です。いろいろな使用形態を考慮して、高速版(FatFs)と省メモリ版(Tiny-FatFs)の2通りを作成してみました。実際に使用するには、各記録メディア(CFC, MMC, SDC, ATA, USB, SCSI等)に対応したディスクI/Oモジュール(サンプルあり)を用意する必要があります。

FatFsモジュールの特徴

Tiny-FatFsモジュールの特徴

メモリ使用

いくつかのコンフィギュレーション・オプションにより、不要な関数を削ってモジュールサイズを削減できます。次に実際のメモリ使用量[バイト]を示します(avrgccの例)。

FatFs
セクション標準最小
Program (R/W cfg.)82826294
Program (R/O cfg.)44823704
Work Area (static)2
Work Area (dynamic)544 + 540 * <files>
Tiny-FatFs
セクション標準最小
Program (R/W cfg.)68685208
Program (R/O cfg.)38043136
Work Area (static)2
Work Area (dynamic)538 + 24 * <files>

上位レイヤI/F

FatFs/Tiny-FatFsモジュールは、次のファイル操作関数を提供しています。

下位レイヤI/F

FatFs/Tiny-FatFsモジュールは、物理ドライブへのアクセスや現在時刻を得るため、下位レイヤに次のインターフェースを要求します。

資料

FatFs/Tiny-FatFsモジュールはフリーウェアとして教育・研究・開発用に公開しています。どのような利用目的(個人・非商用・商用)でも使用・改変・配布について一切の制限はありませんが、全て利用者の責任の下での利用とします。