emFile-File System
emFile-File System
ファイルシステム EMFILE
EMFILEは、ユーザが基本的なハードウェアへのアクセス機能を提供することができる任意のメディア上で使用することができる組み込みアプリケーション用のファイルシステムです。 EMFILEはRAM、ROM、高速かつ汎用性の最小メモリ消費のために最適化されている高性能なライブラリです。 これはANSI Cで書かれている任意のCPUで使用することができます。
特長
- MS DOS/ MSのWindowsと互換性のあるFAT12、FAT16およびFAT32をサポートしています。
- FATメディアの長いファイル名を処理するオプションモジュールです。
- 複数のデバイスドライバをサポートしています。 あなたは、同時にファイルシステムで異なる種類のハードウェアにアクセスすることができますが、EMFILEと別のデバイスドライバを使用することができます。
- マルチメディアサポートしています。 デバイスドライバが同時に別のメディアにアクセスすることができます。
- OSのサポート。 EMFILEは簡単にOSに統合することができます。 これは、マルチスレッド環境でEMFILEを使用することができます。
- ユーザアプリケーションのためのANSI Cのstdio.hのようなAPIです。 標準的なCI / Oライブラリを使用してアプリケーションを簡単にEMFILEを使用して移植することができます。
- 非常にシンプルなデバイスドライバの構造体。 EMFILEそのデバイスドライバの読み込みやブロックを記述するための基本的な機能を必要とします。 テンプレートがあります含まれています。
- オプションのNORフラッシュ(EEPROM)にドライバをインストールします。 任意のCFI準拠のNOR型フラッシュがサポートされています。 摩耗含まれてレベリング
- NAND型フラッシュデバイス用のオプションのデバイスドライバをインストールします。 高非常に読み取り/書き込み速度。 ECCは含まウェアレベリング。
- 簡単に統合することができるSPIモードまたはカードのモードを使用してマルチメディア&SDカード用のオプションのデバイスドライバをインストールします。
- また、コンパクトフラッシュは、真のIDEを使用するために適しているオプションのIDEドライバ。 または。メモリがマップされた。 モードを設定します。
- ネイティブの長いファイル名のサポートオプションの独自のファイルシステム(EFS)を。
ソフトウェア構造&コンポーネント
APIのレイヤ
APIのレイヤは、EMFILE、ユーザアプリケーションの間のインタフェースです。 これは、2つの部分は、ストレージAPIとファイルシステムAPIで分割されています。 ファイルシステムAPIはFS_FOpen()、FS_FWrite(などのANSI Cの標準入出力形式のファイルの関数を、)などのAPIレイヤは、ファイルシステム層に、これらの呼び出しを転送が含まれています。 現在のEFSと呼ばれるFATファイルシステム、またはオプションファイルシステムは、EMFILEそのためにご利用いただけます。 今彼らは同時に使用することはできません。 ストレージAPIは、初期化し、記憶媒体にアクセスする必要な機能が含まれています。 ストレージAPIは、セクタの読み取りおよび書き込み操作をすることができます。 APIのレイヤは、ストレージ層にこれらの呼び出しを転送します。 ストレージAPIは、ファイルとディレクトリの処理のようなファイルシステムの機能を必要としないアプリケーションに最適化されています。 ストレージAPIは、データ媒体に保存されている必要がありますUSB大容量ストレージデバイス、ことができる使用する一般的なアプリケーションではなく、すべてのファイルシステムの機能は、ホストPCによって処理されます。
ファイルシステムのレイヤ
ファイルシステム層の変換は、論理ブロックへの操作(セクタ)操作のファイル。 このような翻訳後、ファイルシステムは、論理ブロック層を呼び出して、デバイスに対応するデバイスドライバを指定します。
ストレージ層
ストレージレイヤの主な目的は、デバイスドライバへのアクセスを同期させることです。 それはさらに、ファイルシステムAPIのためのシンプルなインターフェイスを提供しています。 ストレージ層は、ブロック操作を実行するためにデバイスドライバを呼び出します。 また、キャッシュメカニズムが含まれています。
デバイスレイヤ
デバイスドライバは、デバイスのセクタにアクセスするためのステータスを確認するために使用される低レベルのルーチンです。 これは、ハードウェアに依存しないですが、記憶媒体に依存します。
ハードウェアレイヤ
これらは、低レベルは、ハードウェアにアクセスするためのルーチンです。 これらは、単にルーチンread、固定長のセクタを格納します。 デバイスドライバの構造は、順序、独自のハードウェアの容易な統合を可能にするために簡単です。