改版履歴

Cente USB2.0 Host MassStorage for M66596

・ESPT-SH7673、CKB-RZA1H、ESPT-RXのBSPを外した。
ESPT-SH7673、CKB-RZA1H、ESPT-RXのBSPを外しました。

・RX65N、RX71Mに対応。
対応コントローラにRX65N、RX71Mを追加した。

・アイソクロナス転送に対応。
アイソクロナス転送に対応した。

・複合デバイスに対応。
複合デバイスに対応した。

・ディスクリプタパース処理を修正。
コンフィグレーションディスクリプタの内容が不正な場合にフリーズすることがあるのを修正した。エンドポイントディスクリプタの内容をチェックするようにした。

・ロースピードデバイス処理を修正。
フルスピードハブにロースピードデバイスを接続した場合に転送エラーすることがあるのを修正した。

・デフォルトのドライブ数を変更。
デフォルトのドライブ数を4から1に変更した。

・セクタサイズをチェックするようにした。
セクタサイズをチェックするようにした。

・セクタリードとセクタライトを排他制御するようにした。
セクタリードとセクタライトを排他制御するようにした。

Cente USB2.0HostMassStorage for M66596

・RZ/A1Hに対応

RZ/A1H内蔵USBコントローラに対応した。

・M66596、SH7203、SH7263内蔵USBコントローラを対応から外した

M66596、SH7203、SH7263内蔵USBコントローラを対応から外した。

・USBメモリが認識できなくなることがある不具合を修正(Cente障害情報:021-0003)

USBメモリを挿入直後に抜いた場合、次回以降挿入時にUSBメモリが認識できなくなることがあったので修正した。

・レジスタオフセット定義を移動

レジスタオフセット定義をユーザカスタマイズ定義から内部定義へ移動した。

Cente USB2.0 Host MassStrage for M66596

・RX62N に対応。 
対応コントローラに RX62N を追加した。 
・配列の範囲外参照が発生する可能性がある不具合を修正。 
定義した配列の要素数を超えたアドレスにアクセスする可能性があるコードとなっていたので、修正した。なお、実運用上はそのようなアクセスが発生することはない。
 

Cente USB2.0 Host MassStorage for M66596

・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 デバイスが存在した。コマンド長を修正した。

Cente USB2.0 Host MassStorage for M66596

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クラスでの分割機能を削除した。

Cente USB2.0 Host MassStorage for M66596

バッファアラインメント処理を追加。

アラインメントされていないバッファの読み書きがエラーしてしまう。クラスドライバにてアラインメント処理を実行する機能を追加した。

書き込み中にデバイスが抜かれた時に0番地アクセスが発生する現象を修正。

Version 1.04 に追加して、書き込み中にデバイスが抜かれた時に発生する 0 番地アクセスを修正した。

デバイスが指定したサイズ以上のデータを送ってきた場合にメモリが壊れる不具合を修正。

指定したサイズ以上のデータを送ってくるデバイスが存在するが、このとき送られた分だけデータを読み込んでしまうためメモリが壊れる不具合を修正した。

レジスタアクセス後、ウェイトが足りない箇所があるのを修正。

FIFO 選択レジスタアクセス後に規定時間ウェイトしていない箇所があり、転送処理が異常になることがある不具合を修正した。

コントロール転送に排他制御を追加。

複数タスクからコントロール転送を実行できるように排他制御を追加した。MSC には特に影響しない。

IN 転送エラー後に FIFO を停止する処理を追加。

IN 転送関数がエラーで返った後は FIFO を停止するように修正した。

Cente USB2.0 Host MassStorage for M66596

usbcommonを削除。

各パッケージの共通定義部を削除。パッケージ毎のヴァージョンアップ対応に弱い構成なので共通部は削除し、各パッケージ毎に定義を持つ方針とした。

バッファが4バイト境界にないときの不具合修正。

送受信バッファが4バイト境界にないときに、INトランザクションを正しく読めなかった不具合を修正した。

コントロール転送リトライ。

コントロール転送が失敗したときにリトライを行うよう修正した。

コントロール転送はバッファアラインメントを気にせず転送。

コントロール転送はDMA転送しないのでバッファアラインメントに関係なく転送を実行するように修正した。

デバイスを抜いた時に0番地アクセスの可能性を修正。

デバイスを抜いた時に0番地アクセスする可能性があったがこれを修正した。

Page 1 of 2