Cente FileSystem

Cente FileSystem

・chg_attr、chg_tstamp関数修正

SAVE_CACHEマクロが有効な時に、ディレクトリキャッシュを保存する処理を追加しました。

・ct_chg_attrfp、ct_chg_tstampfp関数修正

"r"モードで開いたファイルのファイル属性、タイムスタンプが変更されてしまう不具合を修正しました。

・fs_ini_fatlock、fs_ini_direntrylock関数修正

初期化時に構造体の0クリア処理を追加しました。

・new_cluster関数修正

16BitCPUでFAT32フォーマットされたメディアを使用した場合に、new_clusterの戻り値をint型で返してしまい上位ビットが反転してしまう不具合を修正しました。

・get_dev_free、save_cache、refresh_cache関数修正

複数タスクから左記APIを同時に実行すると、タイミングによってFAT情報が後からAPIを実行したタスクに上書きされてしまう不具合を修正しました。

・opendir_cl、fopen_cl、fopen_uni、opendir_uni、readdir_uni、opendir_hash関数修正

複数タスクから左記APIを同時に実行すると、タイミングによってディレクトリ情報が後からAPIを実行したタスクに上書きされてしまう不具合を修正しました。

・get_sect_no関数修正

get_sect_noでエラーが発生した時に、ワークバッファの返却を実行しない不具合を修正しました。

・fopen、fopen_cl、fopen_hash、fopen_uni関数修正

16BitCPUを使用してFS_SEEK_BFマクロを有効にした場合に、クラスタ個数を格納する変数がint型ですとオーバーフローする可能性があるので、unsigned long型に変更しました。

・ct_ini_disk_sect関数修正

16BitCPUを使用する場合に、ct_ini_disk_sectで使用する変数sectSizeがint型だとオーバーフローする可能性があるので、unsigned long型に変更しました。

・fs_num_chk関数修正

16BitCPUを使用する場合に、変数sectSizeがint型だとオーバーフローする可能性があるので、unsigned long型に変更しました。

・ct_ini_disk_sect、ct_mount_disk変更

アロケーションユニットサイズが最大65536バイトのメディアまでマウントする様に変更しました。

Cente FileSystem

・fs_time.c修正

"rtc.h"と"string.h"をインクルードしている記述を削除しました。

・opendir_hash関数修正

ct_hash_entry関数に渡す第二引数をct_hash_entry関数に合わせてキャストする様に修正しました。

・readdir_uni関数修正

取得したUNICODE文字列の終端コードの付け方にミスがありました。終端コードを1byte(0x00)から2byte(0x0000)に修正しました。

・fs_lock.c修正

戻り値を常に0を返している箇所を修正しました。

・fs_original.c・fs_system.h修正

16BitCPUでクラスタサイズが64KByte以上のデバイスを使用した時に、コンパイラによってshort型の変数の演算を行い、演算結果を long型に代入する時に、演算結果が17Bit以上になった場合16Bitのみ代入し桁落ちしてしまう不具合を修正しました。

Cente FileSystem

・ハッシュ対応APIの追加

ファイル検索時にハッシュ法を用いる事でファイル検索の高速化を実現しました。

・FAT領域のbitmap化

FAT領域のクラスタの使用/未使用情報をRAM上に持つ事で、空きクラスタ検索時にデバイスドライバのアクセス頻度が低減しクラスタ検索が高速になりました。

・fopen_uni関数修正

既存ファイルを"w"モードでオープンした時に過剰にセマフォ資源を返却している箇所を修正しました。

・ディレクトリキャッシュ処理修正

ディレクトリキャッシュ実行時にローカルバッファに一旦コピーしている箇所を修正しました。

・create_pwc_area関数変更

メータデータ保護機能の管理ファイル作成方法を変更しました。

・fs_system.h修正

-Ver5.50で削除してしまった、Ver5.40までで定義されていたfeofマクロのundefを復活しました。

-ST_WORK構造体で使用していないメンバnameを削除しました。

・fs_memory.c修正

戻り値を常に0を返している箇所の修正しました。

・fs_lock.c修正

-FAT領域セマフォをドライブ毎に獲得する様に取り方修正。

-Ver5.50で削除してしまった、Ver5.40までで用いられていたセマフォ関連関数を復活しました。

・fopen・fopen_cl・fopen_uni・opendir・opendir_cl・opendir_uni・fs_divide・fs_ins_clust関数修正

複数タスクから左記API を同時に実行すると、タイミングによってファイル情報やディレクトリ情報が後から書込み操作したタスクから上書きされてしまう不具合の修正。

Cente SD Card FileSystem for TDS701

不具合修正

一部のSD カードがマウント出来ない不具合を修正

SDA Physical Layer Specification Version 2.00 の Standard Capacity に対応しました。

set_flgをiset_flgに修正

SDカードドライバ部の割り込みサービスルーチン(fs_sdc_dma_CompleteHandler、SDINFO1_INT_body)で使用しているctset_flg を ctiset_flg に修正しました。

Page 22 of 27