ミドルウェア

FATファイルシステム(PDOS)の開発

組み込み機器向けFATファイルシステム

PDOS はMS-DOS FAT12/16 ファイルシステムをサポートするソフトウェア部品です。
API としては、UNIX システムのopen、create、read システムコール等と同様のインターフェイスを採用しています。
FAT ファイルシステムのサポートがないRTOSを対象として、実績のある高品質なコードを低価格でご提供いたします。

  • 組み込み機器用のファイルシステムとして

    専用のファイルシステムを設計・開発するのと比較して、コスト削減を達成できます。

  • PCとのデータ交換用として

    PC やメモリカードの普及により、メモリカード・スロットを搭載してデータ交換することが可能となりました。
    FATファイルシステムは、自身がパソコン用のOSで使用され、多くのPC向けOSや機器でサポートされているファイルシステムです。

※ 32bit クラスタ番号を管理することは可能ですが、現在、正式にはFAT32/VFATに対応しておりません。
詳細については、弊社までお問い合わせください。

動作環境

現在、動作実績のあるOS(RTOS)としては、eCos、Linux(POSIX)、μITRON3、VxWorks(tornado)があります。
その他のOS への対応については、弊社までお気軽にお問い合わせください。
なお、オークのソフトウェア部品には、全て、製品ソースコードが付属します。

移植側インターフェイスについて

PDOS システムは下位に位置する、PBIOS ルーチンを使用してコーディングされています。

  • デバイスに対するセクタ単位の読み書き
  • FAT 領域とデータ領域の一貫性を保つための排他制御
  • スレッド(タスク)単位のメモリ確保

本製品を使用するには、システムに依存する、これらのPBIOS ルーチンを移植する必要があります。

API一覧

PDOS にはプログラミング・インターフェイスとして、以下の関数が用意されています。

  • パス指定について

    PDOS を利用するプログラムからは、パス文字列によりファイル/ディレクトリを指定します。
    区切り文字はバックススラッシュ("/")を使用します。
    通常PCでは、ドライブの識別にアルファベット1文字(C:など)を使用しますが、PDOS にはドライブ・レターではなく、パス文字列のトップレベルの名前により識別します。
    例えば、メモリカード・スロットが2 台であれば、/MC0/FILENAME.TXT、 /MC1/FILENAME.TXT といったパス指定で区別します。
    このメモリカードをPC で参照すると、ルートディレクトリにFILENAME.TXT というファイルが見える形になります。

  • デバイス初期化(PDinitial)

    デバイス、PDOS 内部を初期化して、FAT ファイルシステムを使用できるようにします。

  • マウント(PDmount)、デバイス・マウント情報の取得(PDfstab、 PDfstab2)

    PDOS からデバイスを利用できるようにするには、デバイスとトップレベルのパス名を結び付ける作業(マウント)が必要です。
    また、マウント情報を取得して、利用可能なデバイスをリストアップすることもできます。

  • 空き容量取得(PDvolume)

    バイト単位で空きディスク容量を取得します。

  • ファイル操作

    オープン/クローズ:PDopen、PDcreate、PDclose、PDcloseAll
    読み書き:PDread、PDwrite
    ファイルポインタの移動(PDlseek)、現在位置取得(PDtel)、ファイル終端検査(PDeof)
    ファイルに関する各種情報を取得(PDfstat)
    属性変更(PDchmod)、最終更新時刻の変更(PDutime)
    名前変更(PDrename)、ファイル削除(PDunlink)

  • ディレクトリ操作

    現在のディレクトリ取得(PDgetcwd)、変更(PDchdir)
    ディレクトリの作成(PDmkdir)、削除(PDrmdir)

  • ファイル検索

    ディレクトリのオープン(PDopendir)、クローズ(PDclose)
    オープンしたディレクトリに指定したファイルがあるか検索(PDreaddir)

  • ※ MS-DOS は米国MicrosoftCorp.の米国、及び各国における登録商標です。
  • ※ UNIX は米国The Open Group が管理している米国、及び各国における登録商標です。
  • ※ eCos は米国RedHat, Inc の米国、及び各国における登録商標です。
  • ※ VxWorks は米国Wind River Systems, Inc.の米国、及び各国における登録商標です。
  • ※ Linux はLinus Torvalds 氏の米国、及び各国における登録商標です。

御社のご希望に基づきカスタマイズなども可能です。
まずはお気軽にお問い合わせください。

ページトップへ