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


layer

小規模な組み込みシステム向けの汎用FATファイルシステム・モジュールです。ANSI C準拠でハードウェア・アーキテクチャには依存しないので、必要なワーク・エリアが確保できれば、8051, PIC, AVR, H8, Z80などほとんどの8ビット・マイコンでそのまま使用可能です。いろいろな使用形態を考慮して、高機能版(FatFs)と省メモリ版(Tiny-FatFs)の2通りを作成してみました。

FatFsの特徴

  1. ファイル・システム用とファイルI/O用バッファを分離し、複数ファイルの高速アクセスに適する
  2. 複数のドライブ・パーテーションをサポート
  3. FAT12, FAT16(+FAT64), FAT32に対応 (FAT64: FAT16 in 64KB/cluster)
  4. 8.3形式ファイル名とNT小文字フラグに対応(LFN未対応)
  5. FDISKフォーマットおよびSFDフォーマットに対応
  6. 8/16ビットマイコン向けにコードを最適化

Tiny-FatFsの特徴(FatFsとの相違)

  1. RAMの使用量を削減し、小メモリ・システム(RAM:1KB)にも対応
  2. 単一ドライブのみサポート

上位レイヤI/F

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

下位レイヤI/F

FatFs/Tiny-FatFsモジュールは、物理ドライブへのアクセスや現在時刻を得るため、下位レイヤに次のインターフェースを要求します。これらのインターフェースを持つそれぞれの記録メディアに対応したディスクI/Oモジュールは、ユーザにより用意する必要があります。(サンプルもあり)

資料

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