改版履歴

Cente NAND Flash FileSystem

不具合修正○fs_nandLog.c

makeLogicalTable()の修正

重複する論理ブロック番号が存在した場合に本来残すべきブロックを消去していた不具合の修正

ブロック消去後にアサインテーブル更新処理されない不具合の修正

不良ブロックチェック時に不良ブロックではなく、ブロックステータスをチェックしていた不具合の修正

NandFlashClose()の修正

セクタが連続してない場合に、リードの時もライトの時と同様に処理を行ってしまう不具合修正

不具合修正 ○fs_nandPhy.c

readPhyOneSectSub()の修正

ECCエラーチェック処理時に、間違ったバッファアドレスを参照していた不具合の修正

1BitECCエラーが発生した場合に、代替処理を行わない不具合の修正

1BitECCエラーが発生した場合に、代替処理を行わない不具合の修正

ファイルの新設 fs_nandredundant.c

fs_nandredundant.h・fs_nandinit.cファイルを新設しました。

ソースファイル名改名

fs_nandcommon.cをfs_nandstring.cにファイル名を変更しました。

機能追加

RAM領域縮小機能の追加(論理物理アドレス変換テーブルのサイズ縮小マクロの追加)

関数追加

ドライバのエラーコード取得関数get_nander関数追加しました

マクロの削除 FORMATマクロを削除しました

CIS関連処理の削除 CIS関連処理の削除を行いました

エラーコード見直し

エラーコードの見直しを行いました

ソース記述の変更

char型の記述を、unsignedなのかsignedなのか明示的に表記…など

Cente FileSystem

fopen関数修正

ファイル(ディレクトリでは無い)下にファイルが出来てしまう不具合を修正。

mkdir関数修正

ファイル(ディレクトリでは無い)下にディレクトリが出来てしまう不具合を修正。

スタック使用量修正

rename, remove, mkdir, rmdir関数においてメタデータ保護機能無効時であってもスタック使用量が多かった点を修正。

ファイル検索関連修正

エントリがクラスタサイズ丁度だった時、ファイル検索の結果見つからなかった時のエラーコードが正しく無い点を修正。

VFAT不具合修正

FAT12/16ルートディレクトリにおいてロングファイル名のショートエントリでの「~」以降の番号付記不具合を修正。

API選択マクロ不具合修正

API選択マクロの指定に依っては、chk_possect関数にまつわるコンパイルエラーが出る不具合修正。

メタデータ保護機能修正

fs_pwc.cのclr_island_flg()で島状FAT警告フラグのdown countにて0以下になってしまう不具合修正。

fs_pwc.cのcreate_pwc_area(), analyze_pwc(), pwc_repair()にて関数の実体にstatic宣言が抜けていた点を修正。

FATキャッシュ関連修正

FAT32にてFSINFOのNextFreeClusterからブロックキャッシュを確保した場合同一セクタを重複して持ってしまう不具合を修正。(フラッシュの際に上書きによりFAT破壊してしまう)

FSINFOの取り扱い変更

FAT32のFSINFOのFreeClusterCountとNextFreeClusterの扱いをSDA仕様に対応しました。

fwrite関数修正

4G超え時FSYSERへのエラーコードセットを追加修正。

fclose関数修正

メディアアクセスエラーであっても fp開放、メモリプール返却するよう修正。

OS依存部修正

fs_memory.c 生成情報パケットの第5引数を削除しNORTi以外のOSに対応しました。

fs_lock.c 生成情報パケットの第4引数を削除しNORTi以外のOSに対応しました。

rename関数修正

Newnameの長さに対する仕様ミスを修正。

(正しくは、oldnameのパス長+newname <= FULLPATHLEN(258))

引数チェック強化

finfo, chg_attr, get_attr, chg_tstamp, get_tstamp の各関数における引数の正当性チェックを強化しました。

get_attrfp関数修正

エラーコードの引渡しミスを修正。

Cente FileSystem

排他制御関連修正(fs_lock.c)

特定のOS(NORTi)用のマクロ(MSEC)を使っていた点を修正。

rename関数修正

ルートディレクトリ(FAT12/16)に対する電源断対応処理不具合修正。

fclose関数修正

“r”モードで開いたファイルに対しても電源断処理を実施していた点を修正。

電源断対応機能修正(fs_pwc.c)

fs_pwc.cにおいてOS用ヘッダファイル(ctkernel.h)を無条件にインクルードしていた点を修正。

chk_dsk関数修正

FAT32において開始クラスタ番号が65535を超える場合正常に修復できない点を修正。

Cente FileSystem

マウント直後の動作改善(FAT32)

FSINFOの「最終変更クラスタ番号」の利用及び「連続未使用クラスタ検索関数」を追加した事に依りマウント直後の書込み系APIを高速に処理できるよう改善しました。(FAT32)

fseek関数改善

“r”モードで開いたファイルのfseekを高速に処理できるよう改善しました。

キャッシュ関連改善

FATCacheBuffer構造を改良した事に依りFAT操作に関係するAPIの処理速度を高速化しました。

save_cache,refresh_cache関数修正

FATCache未使用ドライブに対しても動作してしまう不具合を修正。

VFAT不具合修正

全角文字を使用したロングファイル名のショートエントリにて「~」以降の番号付記不具合を修正。

fwrite関数修正

4GByte以上の書込み抑制により戻り値が不正になる点を修正。

move関数修正

ドライブ名を大文字化して比較していなかった点を修正。

fopen関数修正

サイズ0のファイルに対し”r”もしくは”a”モードで開いた場合、無関係なデータを入出力バッファに読み込んでしまう点を修正。

reapir関数修正

ルート下へのreapir関数でエラーを返す事がある点を修正。

Cente FileSystem

fseek関数改善

4GByteシーク可能に改善。

キャッシュ関連改善

FAT Cacheの設定最大値を 255個から65535個に拡大。

電源断対応機能修正

・fs_pwc.c chkDirPart()において変数pTmpFentPosの型修正。

・fs_pwc.c fatRecon() 変数名の誤りを修正。

・fs_pwc.c fatCpyPart() 論理演算子の不適切を修正。

・fs_pwc.c ini_pwc() FAT12において正常に初期化できない点を修正。

・fs_ansi.c fs_vfopen() 論理演算子の不適切を修正。

・fs_posix.c DT_mkdir() 引数名の誤りを修正。

fseek関数

クラスタチェーンの誤認識によるEOF誤検出を修正。

ロングファイル名不具合修正

ファイルもしくはフォルダのエントリが3セクタにまたがるような長い名前の場合、クラスタサイズが1及び2の時、エントリ領域確保が正しく取得できていない点を修正。

fopen関数修正

"a"モードにおいてドライバエラー発生時NULLPOINTアクセスしてしまう点を修正。

opendir関数修正

ドライブ読出し機能を無効にしていた誤りを修正。

Linux対応について

Linux対応コードを削除(LinuxのAPIとしての機能提供を終了しました)。

Page 23 of 27