DMA転送使用時のデータ化け発生の可能性について
・Cente USB2.0 Host MassStorage for M66596 Ver.1.07 – Ver.1.09
・Cente USB2.0 Host COM class for M66596 Ver.1.01 – Ver.1.02
・Cente USB2.0 Host MassStorage for M66596 Ver.1.07 – Ver.1.09
・Cente USB2.0 Host COM class for M66596 Ver.1.01 – Ver.1.02
・RZ/A1Hに対応
RZ/A1H内蔵USBコントローラに対応した。
・M66596、SH7203、SH7263内蔵USBコントローラを対応から外した
M66596、SH7203、SH7263内蔵USBコントローラを対応から外した。
・USBメモリが認識できなくなることがある不具合を修正(Cente障害情報:021-0003)
USBメモリを挿入直後に抜いた場合、次回以降挿入時にUSBメモリが認識できなくなることがあったので修正した。
・レジスタオフセット定義を移動
レジスタオフセット定義をユーザカスタマイズ定義から内部定義へ移動した。
・Cente USB2.0 Host MassStorage for M66596 Ver.1.08
・Cente USB2.0 Host MassStorage for M66596 Ver.1.00 – Ver.1.08
・RX62N に対応。
対応コントローラに RX62N を追加した。
・配列の範囲外参照が発生する可能性がある不具合を修正。
定義した配列の要素数を超えたアドレスにアクセスする可能性があるコードとなっていたので、修正した。なお、実運用上はそのようなアクセスが発生することはない。
・SH7673 に対応。
対応コントローラに SH7673 を追加した。
・VBUS のロジックを選択できるように修正。
R8A66597 では VBUS 電源回路をコントローラから制御できるが、回路に応じてアクティブロー、アクティブハイを選択できるようにした。
・DMA 時バッファアラインメントの仕様を変更。
今までは MSC クラスドライバにて DMA アラインメントを行っていたが、バッファ削減のため、コントローラドライバ内部で行うように変更。
・カスタマイズパラメータ削除。
実質的には変更できない USBH_DEVINFO_NUM、USBH_IFACE_NUM、USBH_EPINFO_NUM などのユーザパラメータは非公開とした。
・ゼロレングスパケット検出エラーを修正。
コントローラドライバにてゼロレングスパケットが検出できない不具合を修正。
・無応答時リトライを追加。
USB デバイスが応答を返さなかったとき、3回リトライするように修正。これにより、READ/WRITE の通信エラーの頻度が低下する。
・通信タイムアウトをユーザカスタマイズパラメータ化。
USB デバイスが NAK を応答し続ける場合、転送関数がタイムアウトする時間をユーザカスタマイズ部で指定できるようにした。
・MSC TEST UNIT READY コマンド長の誤りを修正
MSC クラスドライバにて TEST UNIT READY コマンド長が誤っており、通信不可な USB デバイスが存在した。コマンド長を修正した。
MSCにFD/CD機能を追加。
MSCにFD/CD機能を追加した。これに伴いMSCのAPIが変更になった。詳細は「バージョンアップにおける注意事項」を参照のこと。
R8A66597に対応。
ルネサスUSBコントローラR8A66597に対応した。
ユーザカスタマイズ項目の追加。
M66596クロックの選択、出力端子駆動電流制御の選択、DMAxピンコンフィグレーションレジスタDMAxCFGレジスタ設定の指定をユーザカスタマイズ部に追加した。
バッファアラインメント時にctmallocを未使用。
MSCにてバッファアラインメントを行う機能でctmallocは使用せず、staticな領域を使用することにした。
SH7203、SH7263で割込みステータスをリードできないケースがあるのを修正。
SH7203、SH7263で割込みステータスをリードできないケースがあった。ルネサスのマニュアルにステータスを3回リードしないと正しく読めないという記述が追加されたので修正した。
SETUPリクエストエラー後、同じパケットが出つづける不具合を修正。
SETUPリクエストエラー後は、SETUPデータをクリアするように修正。
複数のUSBホストコントローラで動作できるよう修正。
複数USBコントローラでエラーする箇所を修正した。
MSCでデータを不要に分割しているのを修正。
OHCIの仕様に合うようにMSCでデータを分割している箇所があったが、これは本来コントローラドライバの役割。MSCクラスでの分割機能を削除した。
バッファアラインメント処理を追加。
アラインメントされていないバッファの読み書きがエラーしてしまう。クラスドライバにてアラインメント処理を実行する機能を追加した。
書き込み中にデバイスが抜かれた時に0番地アクセスが発生する現象を修正。
Version 1.04 に追加して、書き込み中にデバイスが抜かれた時に発生する 0 番地アクセスを修正した。
デバイスが指定したサイズ以上のデータを送ってきた場合にメモリが壊れる不具合を修正。
指定したサイズ以上のデータを送ってくるデバイスが存在するが、このとき送られた分だけデータを読み込んでしまうためメモリが壊れる不具合を修正した。
レジスタアクセス後、ウェイトが足りない箇所があるのを修正。
FIFO 選択レジスタアクセス後に規定時間ウェイトしていない箇所があり、転送処理が異常になることがある不具合を修正した。
コントロール転送に排他制御を追加。
複数タスクからコントロール転送を実行できるように排他制御を追加した。MSC には特に影響しない。
IN 転送エラー後に FIFO を停止する処理を追加。
IN 転送関数がエラーで返った後は FIFO を停止するように修正した。
usbcommonを削除。
各パッケージの共通定義部を削除。パッケージ毎のヴァージョンアップ対応に弱い構成なので共通部は削除し、各パッケージ毎に定義を持つ方針とした。
バッファが4バイト境界にないときの不具合修正。
送受信バッファが4バイト境界にないときに、INトランザクションを正しく読めなかった不具合を修正した。
コントロール転送リトライ。
コントロール転送が失敗したときにリトライを行うよう修正した。
コントロール転送はバッファアラインメントを気にせず転送。
コントロール転送はDMA転送しないのでバッファアラインメントに関係なく転送を実行するように修正した。
デバイスを抜いた時に0番地アクセスの可能性を修正。
デバイスを抜いた時に0番地アクセスする可能性があったがこれを修正した。
FAT16X(LBA),FAT32X(LBA)に対応
FAT16X(LBA),FAT32X(LBA)フォーマットのメモリを認識できるように修正した。
サンプル関数でのメモリ壊し修正
サンプルの ctusbh_msc_fs.c にてメモリを壊す箇所があり修正した。
write protected 状態に対応
USBメモリが write protected の状態にて write_sector 関数が無限ループに入る不具合を修正。
USBデバイス,USBホストのインクルードファイル共通化
USBデバイス,USBホストのインクルードファイル共通化に伴いファイル構成、構造体と定義の名称を変更した。
Page 1 of 2