emFile ソフトウェア構成

emFile Blocks
RTOS

RTOS

SEGGER embOS他FreeRTOSなどRTOS環境は自由に選択可能。SEGGER embOSであれば、すぐに利用可能

Classes

Device Driver

ハードウェアドライバー層を変更することでユーザアプリケーションへの変更を最低限にストレージ種類の変更やデバイスの変更へ対応します。(NOR / NAND , ハードウェアディスコンによるデバイス変更など)

tools

IDE / Compiler

すべてANSI-Cソースコードで提供します。
SEGGER Embedded Studioをはじめ、様々なIDE / コンパイラで利用できます。

CPU

CPU

マイコン依存性のないANSI-Cソースコード 8/16/32bitマイコンで利用頂く事が可能。

emFileはソフトウェアの汎用性を高めるモジュール型構造を取っています。

  • APIレイヤ:アプリケーションから機能を呼び出す
  • ファイルシステムレイヤ:ファイル操作を論理ブロックに変換する
  • ストレージレイヤ:デバイスドライバを呼び出して、ブロック操作を行う
  • ドライバレイヤ:各種ストレージのアクセスI/Oを定義
  • ハードウェアレイヤ:各ハードウェア設定を定義

ハードウェアドライバ

IDE / コンパクトフラッシュデバイスドライバ

emFile IDEおよびCompactFlashデバイスドライバを使用して、IDEハードディスクドライブおよびCompactFlash(CF)メモリカードに保存されているデータにアクセスできます。emFileでは、ほぼすべてのATA互換ハードディスクドライブ、コンパクトフラッシュデバイスをサポートします。

NANDフラッシュドライバ

emFile NANDドライバーを使用すると、ファイルシステムレイヤーは、NANDフラッシュデバイスとの間でデータのブロック(論理セクター)を効率的に読み書きできます。NANDフラッシュデバイスの識別、NAND物理ブロックの消去、ページ単位でのデータの書き込みなど、NANDフラッシュへのアクセスに関するすべての詳細は、NANDドライバーによって内部的に管理されます。

NANDフラッシュデバイスは、0ベースの論理セクターインデックスによって識別される論理セクターの配列として上位ファイルシステム層に提示されます。emFileでは、ガベージコレクション、不良ブロックの処理などをサポートする高性能ドライバを提供します。

SLC1 NANDデバイスドライバ(対応一覧)

Universal NANDデバイスドライバ(対応一覧)

NORフラッシュドライバ

NORドライバーを使用すると、ファイルシステムレイヤーは、NORフラッシュデバイスとの間でデータのブロック(論理セクター)を効率的に読み書きできます。NORフラッシュデバイスの識別、NOR物理ブロックの消去、ページ単位でのデータの書き込みなど、NORフラッシュへのアクセスに関するすべての詳細は、NORドライバーによって内部的に管理されます。NORフラッシュデバイスは、0ベースの論理セクターインデックスによって識別される論理セクターの配列として上位ファイルシステムレイヤーに提示されます。
ドライバはパラレルおよびSPI(シングル、デュアル、クワッドモード)バスインターフェースをサポートします。
SFDPとCFI式フラッシュデバイスのデバイス情報は自動的に認識します。

emFileには、2つの異なるNORドライバーが付属しています。

  • ブロックマップNORドライバー
  • セクターマップNORドライバー

ブロックマップNORドライバーはRAM使用量を削減するように設計されており、セクターマップドライバーは高速書き込み操作を実現します。両方のドライバは同じNORフラッシュデバイスをサポートしているため、NORドライバの選択はメモリ使用量と書き込みパフォーマンスの間のトレードオフです。

SD /SDHC / MMCドライバ

SD / MMCドライバーは、SD / SDHC / SDXCカード、MMC / MMCplusカード、e.MMCストレージデバイスなどのSD / MMC互換ストレージデバイスにアクセスするために使用でき、アプリケーションに大容量のストレージを低コストで提供します。SD / MMCドライバーは、SD / MMC互換ストレージデバイスの識別と初期化を処理し、接続されたストレージデバイスでサポートされている可能な限り最高の転送モードを使用してデータ転送を非常に効率的に実行します。SD / MMCドライバーは、リソースに制約のあるシステムで使用できるように、最小限のROMとRAMしか必要としません。

SD / MMC互換のストレージデバイスは、SD / MMCドライバーがすべてのデータ交換を開始する比較的単純なコマンドベースのプロトコルを実装します。データは、SPIモードとバスモードの2つの異なる動作モードを介して交換できます。emFileには、これらの各動作モード用のドライバーが付属しています。

  • SPI モードSD / MMCドライバー
  • カードモードSD / MMCドライバー

RAMディスク

RAMディスクは、パーティションとして使用するために割り当てられたメモリの一部です。RAMディスクドライバはそのメモリの一部を取得し、それをストレージデバイスとして使用します。このストレージデバイスは、フォーマット、マウント、ファイルの保存などが可能です。RAMのすべてのビットは、システムの健全性にとって重要です。RAMディスクが大きいほど、システムで使用できるメモリは少なくなります。