改版履歴

Cente Compact FileSystem

 ・サイズ0のファイルに対してfseek()によりセクタサイズ以下のファイル拡張が出来ない不具合を修正Cente障害情報:002-0014
FS_OVER_SZ_SEEKマクロに「1」または「2」を設定した環境下において、サイズ0のファイルに対してfseek()によりサイズを拡張する。その際、指定メディアのPartition Boot Sector(PBS)情報を壊してしまう不具合を修正しました。
・ファイルデータ用バッファサイズ境界(末尾)の位置へシーク後、正しくデータ読み書きを行うことが出来ない不具合を修正Cente障害情報:002-0015
fseek()に対してファイルデータ用バッファのサイズで割り切れる位置への移動を指定する。その後、ファイル操作を行うと本来アクセスするべきセクタより前のセクタにアクセスしてしまう不具合を修正しました。
・ディレクトリ削除時にエラーが発生した際、エラーの詳細コードを取得できない不具合を修正Cente障害情報:002-0016
ディレクトリ削除時にエラー「指定ディレクトリが存在しない」「デバイスドライバでリードエラー」「指定ディレクトリが空ではない」が発生した場合に、正しいエラーの詳細コードが取得できない不具合を修正しました。
FS_SJIS_API0」設定時にコンパイルエラーが発生する不具合を修正Cente障害情報:002-0017
fs_cfg.hファイル内のFS_SJIS_APIマクロが「0:無効」の状態で、FS_RMDIRマクロまたはFS_READDIRマクロを「1:有効」にした場合に、コンパイルエラーが検出されてしまう不具合を修正しました。
・ファイルを書き込みモードで多重オープンできてしまう不具合を修正Cente障害情報:101-0073
fopen()は書き込みモード(a, a+, w, w+, r+)の多重オープンを認めていませんが、オープン中ファイルより上の階層に存在するディレクトリの名前を変更すると、多重オープンができてしまう不具合を修正しました。
fseek()の移動先に4GBを越える位置を指定してもエラーを検出できない不具合を修正Cente障害情報:101-0077
FAT32の場合、fseek()に対して4GBを超える位置(後方)への移動を指定した場合は、エラーとして検出する必要がありますが、エラーを検出できずに正常終了してしまう不具合を修正しました。
・ショートエントリ検索で誤算出する場合がある不具合を修正Cente障害情報:101-0089
UNICODE API に対して以下の条件に該当する名前を指定した場合、ファイル・ディレクトリを誤検出してしまう不具合を修正しました。
1.ドットが複数ある場合。
2.12文字以内のUNICODE文字列中にASCII変換できないコード(全角文字)が含まれていた場合。
3.ショートエントリ中のスペースを含む名前と一致したUNICODE名を指定した場合。
MISRA-C 対応
C言語のためのソフトウェア設計標準規格であるMISRA-C:2004に対応しました。
・ツールの変更
RAM ディスクドライバ作成ツールを、Ver2.00以降の仕様に対応しました。これに伴い、「MKRAM.exe」から「CFS_MKRAM.exe」に名前を変更しました。
・標準ライブラリ関数追加、削除
memcmpを直接コールしていた箇所を独自のfs_memcmpに置き換えました。またMISRA-C対応に伴い、fs_memmoveをコールしている箇所をfs_memcpyに置き換え、fs_memmove

Cente Compact FileSystem

・APIを新規に実装
よりCompact化を図り、APIを新規に実装しました。
・排他制御の機能削除
シングルスレッド環境を対象とし、排他制御の機能を削除しました。(fs_lock.cファイルを削除)
・遅延書き込み機能削除
遅延書き込み機能を削除しました。(fs_dlywt.cファイルを削除)
・アクセス速度パラメータ
アクセス速度パラメータの設定を削除しました。
・高速fseek機能削除
高速fseek機能を削除しました。
・連続未使用クラスタ検索機能削除
連続未使用クラスタ検索機能を削除しました。
・API削除
以下のAPIを削除しました。
fgetc、fgets、fputc、fputs、get_dev_free、q_format、reset_fsys
・標準関数削除
以下の標準関数を削除しました。
fs_strlen、fs_strcpy、fs_strncpy、fs_strchr、fs_toupper、fs_tolower、fs_strncmp
・キャッシュ機能変更
FATキャッシュ機能及びディレクトリキャッシュ機能を一元化したメタデータ用ドライブキャッシュ機能を実装しました。
ini_cache、ini_blk_cache、ini_blk_cache_dir、refresh_cacheを削除し、ini_drvcacheを追加しました。
・タイムスタンプの更新仕様変更
各APIにおけるファイル/ディレクトリ操作時のタイムスタンプ更新仕様を変更しました。
・エラーコード返却仕様変更
より正確なエラーコードが戻されるようにエラーコードの返却仕様を変更しました。
・エラーコード追加
エラーコードの細分化に伴い、エラーコードの追加を行ないました。
・fopen関数仕様変更
fopenで同一ファイルを二重オープンした場合はモードに限らず全てエラーになるように仕様を変更しました。
・fseek関数機能変更
ファイルサイズを超える位置へシークを指定した場合の動作を、3つの動作から選択できるように機能改善を行ないました。
・カスタマイズ関数変更
fs_memory.cに定義しているファイルデータ用キャッシュ(入出力バッファ)関連のカスタマイズ関数fs_malloc、fs_freeを、OSに依存しないコードに変更しました。
またfs_inimem、fs_rstmemを削除しました。
・FileSystem独自の変数型に変更
変数型をFileSystem独自の変数型に変更しました。(fs_typedef.hファイルを追加)
・UNICODE指定API追加
引数にUNICODEを直接指定するAPIを追加しました。
・ShortEntry作成仕様変更
UNICODE指定APIの追加に伴い、ShortEntryの存在する位置(DirectoryEntryの先頭からのoffset)をASCII文字列化し、ShortEntry中のname field(11char)に格納する仕様に変更しました。
・FAT FileSystem選択マクロ追加
FAT12、FAT16、FAT32固有の処理を設定によりコンパイル対象から外す機構を追加しました。
・パラメータチェック有効/無効マクロ追加
APIの引数に対するチェックを設定により無効にする機構を追加しました。
・FAT2書き込み有効/無効マクロ追加
FAT2(File Allocation Table2)への書き込みを設定により無効にする機構を追加しました。
・ライトプロテクト検出機構追加
ST_DISK構造体のdsk_flgにセットするDISK_WPROTECTビットを追加し、ライトプロテクトの検出機構を追加しました。
・BSP変更
ESPT(OS有り)-BSP、ESPT(OS無し)-BSP、ESPT2(OS無し)-BSPを削除しました。

Page 1 of 3

Social Media