USB 対応ツール QE for USB 使用ガイド
アプリケーションノート
R20AN0413JJ0100 Rev.1.00
2016.05.20
はじめに
ルネサス ソリューション・ツールキットーアプリケーション特化ツール QE (Quick and Effective Tool Solution) 製品のひとつ、QE for USB V1.2.0 [テクニカルプレビュー版]を使用することで、USB システムのデバッグが簡単に行え、開発期間の短縮およびコスト低減を実現できます。
本書では、このツールの適用方法について、実例をあげながら図解して説明します。各々の機能の詳細な説明は QE for USB ヘルプも参照してください。
動作確認デバイス
RX ファミリ : RX111、RX231、RX62N、RX621、RX63N、RX631、RX64M、RX71M
RL78 ファミリ: RL78/G1C、RL78/L1C
※本書では、RX63N の実例を用いて説明
目次
- システム構成
- QE for USB のインストール
- サンプル・プロジェクトをインポート
- QE for USB で USB 接続をチェック
- ステート・チャートビューで USB ステートを表示
- QE for USB で USB の設定レジスタをチェック
- 設定レジスタを表示
- 設定レジスタをデバッグ
- QE for USB で USB ディスクリプタの値をチェック
- ディスクリプタの値を表示
- ディスクリプタをデバッグ
- QE for USB から Wireshark を起動し USB の通信内容をデバッグ
- QE for USB V1.2.0 のサポート USB ファームウェア一覧
1. システム構成
QE for USB 使用時のシステム構成は、以下の通りです。
図1-1 システムの構成
本書では、ターゲットボード RSK RX63N および USB ファームウェアを、システムの一例として使用しています。
対応環境
- ホストOS: Windows 7、8.1、10(日・英)
- エミュレータ: E1 エミュレータ、E20 エミュレータ、E2 エミュレータ Lite
- 開発環境: e² studio V4.0.0 以降
- ターゲットボード: 動作確認デバイス(マイコン)の各種 RSK、HMI ソリューションキット および動作確認デバイスを搭載した任意のターゲットボード
※対応する e² studio、エミュレータ、ターゲットボードは予めご用意下さい
2. QE for USB のインストール
QE for USB の入手先 URL: http://japan.renesas.com/qe_usb
※2016/5/30 以降はこちら: http://www.renesas.com/ja-jp/products/software-tools/tools/solution-toolkit/qe--qe-for-usb.html
または、e² studio のスマート・ブラウザー上で本書を選択し、右クリックメニュー[サンプル・コード(ダウンロード)]よりダウンロードできます。
以下の手順で QE for USB をインストールします。
Step1: e² studio [ヘルプ]メニュー [新規ソフトウエアのインストール...]
Step2: [追加(A)...] ボタンを押下し、[リポジトリーを追加]ダイアログを開く。
Step3: [アーカイブ(A)...]ボタンを押下し、開いたファイル選択ダイアログで、インストール用ファイル(zipファイル)を選択し、[開く]ボタンを押下。
図2-1 インストール方法(概略)
インストール方法(詳細)
- e² studio を起動する。
- [ヘルプ]→[新規ソフトウェアのインストール...]メニューを選択し、[インストール]ダイアログを開く。
- [追加(A)...] ボタンを押下し、[リポジトリーを追加]ダイアログを開く。
- [アーカイブ(A)...]ボタンを押下し、開いたファイル選択ダイアログで、インストール用ファイル(zipファイル)を選択し、[開く]ボタンを押下。
- [リポジトリーを追加]ダイアログで、[OK]ボタンを押下。
- [インストール]ダイアログに、表示された[Renesas QE for USB]および[Renesas QE common]チェックボックスをチェックし、[次へ(N)>]ボタンを押下。
- インストール対象が[Renesas QE for USB]および[Renesas QE common]となっていることを確認し、[次へ(N)>]ボタンを押下。
- ライセンスを確認した後、[使用条件の条項に同意します(A)]ラジオ・ボタンを選択し、[終了(F)]ボタンを押下。
- セキュリティ警告が表示されるが[OK]ボタンを押下してインストールを継続する。
- 信頼する証明書の選択ダイアログが表示された場合、表示された証明書をチェックした後、[OK]ボタンを押下してインストールを継続する。
- e² studioの再起動を促されるので再起動を行う。
3. サンプル・プロジェクトをインポート
RX63N用 USB(PHID)ファームウエア(サンプル・プロジェクト)の入手先 URL : http://japan.renesas.com/support/downloads/download_results/C1000000-C9999999/mpumcu/rx/an_r01an2664jj_usb.jsp
※2016/5/30 以降はこちら: http://www.renesas.com/ja-jp/software/D3016755.html
または、e² studio のスマート・ブラウザー上で上記ファームウエアのアプリケーションノート (R01AN2664JJ0111)を右クリックし、[サンプル・コード(プロジェクトのインポート)]より直接インポートできます。
プロジェクトをダウンロードした場合、以下の手順でe² studio にインポートします。
Step1: e² studio [ファイル]→[インポート]メニュー
Step2: [既存プロジェクトをワークスペースへ]を選択
図 3-1 サンプル・プロジェクトのインポート方法
Step3: [次へ]をクリックし、プロジェクトにインポート完了
4. QE for USB で USB 接続をチェック
サンプル・プロジェクトをビルド・実行し、まずは QE for USB ツールを用いて、USB 接続のステートをチェックしてみます。
ターゲットボードと USB ホスト(PC)を接続する、USB ケーブルを用意してください。
4.1 ステート・チャートビューで USB ステートを表示
Step① ビルドおよびデバッグ開始 (Hardware Debugging)
Step② USB ステート・チャートを開く
初めてデバッグを開始する場合、表示されるダイアログに沿って以下のように初期設定が必要です。
① E1(RX)を選択 ② デバイス R5F563NF を選択
Step③ 実行
この状態で、システムを実行させ、ターゲットボードと、PC(ホスト)を USB ケーブルで接続します。
Step④ USB ケーブル接続
USB 接続(エニュメレーション)処理が、どう進んでいるかをウォッチで確認できます。左図では、[Address]ステートであり、「接続中」。
接続が成功すると、[Configured] ステートになり、「接続成功」となります。
図4-1 USB 接続のチェック方法
注意1: USB ステートが、[configured]ステートにならない時は、USBのドライバがインストールされていない場合があります。ご使用のシステムにあったUSB ドライバをインストールしてください。
注意2: 「このビューが使用する関数が見つかりません。このビューのヘルプを参照してください。」というメッセージが表示されチャートが描画されない場合は、コンパイラオプションの最適化によってチャートの描画に必要な関数が見つからなくなっている可能性があります。USB ステート・チャートビューのヘルプ、[トラブル シューティング]を参照してください。
セットアップデータの確認方法:
ビュー右上の、[セットアップデータを表示する]をクリックすることで、チャートの各プロットに対応したセットアップデータを確認できます。
チャートの横軸は、ステートの遷移のインデックスを示しています。時間ではありません。(最大 50 まで表示)セットアップデータ行頭のインデックスと対応しています。
セットアップデータ: USB 接続処理時に、ホスト PC からターゲットデバイス(ペリフェラル)へ、情報取得や設定を行うために送られるデータです。USB 接続処理中に問題がある場合は、このデータを確認する必要があります。
5. QE for USB で USB の設定レジスタをチェック
次に、QE for USBでUSBコントローラのレジスタ設定をチェックします。このビューでは、USBコントローラの使用に必要な設定レジスタの値や意味のチェックが可能です。また、設定値に問題がある場合には、NGマークを表示します。
5.1 設定レジスタを表示
Step① レジスター覧ビューを表示します。
デバッグ中(プログラムは停止中)に、USB レジスタ一覧(QE)を選択します。
Step② 設定レジスタの値を確認します
Memo: RX63N には USB が2チャネルあります。デフォルトでは USB0 が動作しています。USB0 のみの表示にするにはフィルタ機能が便利です。
緑のチェック・マークは、OK 値であることを表しています。
NG 値は、下記の表示になります。
X NG
図5-1 レジスタのチェック方法
5.2 設定レジスタをデバッグ
レジスタの設定不備で USB の接続がうまくいなかない場合、レジスタ一覧ビューをチェックすることによ り、問題解決できる可能性があります。[転送タイプ・ビット]レジスタで NG があった場合を例に紹介し ます。
Step1: デバッグしプログラム停止中に、「レジスタ一覧ビュー」を開きます。
設定が間違っています。 QE for USB を使用して、問題を解決できます。
Step② ポップアップヘルプにより、レジスタの意味と正しい値を確認します。
ポップアップヘルプを確認します。 その結果、[転送タイプ・ビット]は、パイプ1に対して「10=0x2」は設定不可であり、その他の値に設定 する必要があることがわかります。
Step③ 問題のレジスタヘブレークポイントを設定します。
まず、問題のレジスタの行で右クリックし、[書き込みブレーク]メニューを選択します。これにより本レジスタへの書き込みブレークが設定され、設定したレジスタへの書き込みアクセスがあった時に、プログラムがブレークします。
Step③ ソース・コードを特定し、値を修正します。
CPUリセット後、[実行]を繰り返します。ブレークした箇所のコードをチェックし、問題の値を書き込んでいるソース・コードを探します。
問題となる値を書き込んでいるソース・コードを特定できたら、設定不可値“0x02”以外の値へ、修正を検討ください。
なお、設定した書き込みブレークは、e² studio の[ウインドウ]-[ビューの表示]-[ブレークポイント]メニューから開く[ブレークポイント]ビューから削除できます。
図5-2 レジスタのデバッグ方法
6. QE for USB で USB ディスクリプタの値をチェック
ここでは、QE for USBでUSB のディスクリプタ設定をチェックします。このビューでは、USB 機能の動作に必要なディスクリプタ値や意味のチェック、NG な値があればそれを知ることができます。
6.1 ディスクリプタの値を表示
Step① ディスクリプタ一覧ビューを表示します。
デバッグ中(プログラムは停止中)に、USB ディスクリプタ一覧(QE)を選択します。
Step① ディスクリプタをチェックします。
緑のチェック・マークは、OK 値であることを表しています。
NG 値は、下記の表示になります。
X NG
注意: 「このビューが使用する変数が見つかりません。このビューのヘルプを参照してください。」というメッセージが表示されデータが表示されない場合は、コンパイラオプションの最適化によって必要な変数が見つからなくなっている可能性があります。USB ディスクリプタ一覧ビューのヘルプ、[トラブル シューティング]を参照してください。
図6-1 ディスクリプタのチェック方法
6.2 ディスクリプタをデバッグ
USB の接続や、接続後の通信がうまくいなかない場合、ディスクリプタの設定が誤っている可能性があり ます。本機能により、誤りのチェックおよび問題の修正ができる可能性があります。エンドポイント・ディ スクリプタの[通信方向]でNG があった場合を例に紹介します。
Step① ディスクリプタ一覧ビューを表示します。
設定が間違っており、デバッグを開始します。 この場合、NGメッセージに「IN: Direction mismatch with the pipe information table」とあり、設定値である”IN”がパイプ情報テーブルの値 と食い違っていることが考えられます。
Step② 問題のディスクリプタを設定しているソースをチェックします。
右クリックー [ソースへジャンプ]を選択
該当のディスクリプタを設定し ているソース箇所が自動で選択 されます。
設定したい値は”IN”方向であり、ディス クリプタの値は”USB_EP_IN”となって おり、正しいことがわかります。
Step④ パイプ情報のテーブルを設定しているソースをチェックします。
右クリックー[パイプ情報へジャンプ]を選択
ソースが自動で選択されます。 エンドポイント 1(EP1)側をチェックします。
Step⑤ パイプ情報テーブルのソースを修正します。
④で発見したコードを”USB_DIR_P_IN”に修正し、再ビルドおよび実行します。
設定の食い違い問題が修正され、NGが解消されていることが確認できます。
図 6-2 ディスクリプタのデバッグ方法
7. QE for USB から Wireshark を起動し USB の通信内容をデバッグ
前章までの機能を使用し、USB の接続を確立させます。実際の USB 通信の内容のチェックおよびデバッグは、フリーツール Wireshark の使用が便利です。QE for USB から、デバッグ中のターゲットボードの通信をチェックする設定で Wireshark を起動する機能があります。
Step① USB 簡易プロトコル解析ビューを表示します。
デバッグ中(プログラム実行中)に、USB 簡易プロトコル解析(QE) を選択します。
Step② 必要なフリーツールをインストールします。
必要なフリーツール(USBPcap および Wireshark)がインストールされていない場合、QE for USB のビュー内に、メッセージが表示されます。それに従いインストールしてください。
※動作確認済みバージョン USBPcap 1.0.0.7、Wireshark 1.12.10
Step Wireshark を起動します。
デバッグ中(プログラム実行中)に、本ボタンより起動することにより、デバッグ中のターゲットにフィルタした状態で Wireshark が起動します。 ※Wireshark の使用方法については Wireshark のヘルプを参照してください。
図7-1 簡易プロトコル解析の方法
8. QE for USB V1.2.0 のサポート USB ファームウェア一覧
以下の USB ファームウェアの、ペリフェラル機能に対応しています。
デバイス | ファームウエア | Rev. |
RX231, RX111 | USB Basic Mini Host and Peripheral Driver (USB Mini Firmware) Firmware Integration Technology | 1.02 |
USB Peripheral Mass Storage Class Driver for USB Mini Firmware Firmware Integration Technology | 1.02 | |
USB Peripheral Communications Device Class Driver for USB Mini Firmware Firmware Integration Technology | 1.02 | |
USB Peripheral Human Interface Device Class Driver for USB Mini Firmware Firmware Integration Technology | 1.02 | |
USB Peripheral Mass Storage Class Driver for USB Mini Firmware Using Firmware Integration Technology Modules | 1.02 | |
USB Peripheral Communications Devices Class Driver for USB Mini Firmware Using Firmware Integration Technology Modules | 1.02 | |
USB Peripheral Human Interface Devices Class Driver for USB Mini Firmware Using Firmware Integration Technology Modules | 1.02 | |
RX63N, RX631, RX64M, RX71M | USB Basic Host and Peripheral Driver Firmware Integration Technology | 1.11 |
USB Peripheral Mass Storage Class Driver (PMSC) Firmware Integration Technology | 1.11 | |
USB Peripheral Communications Device Class Driver (PCDC) Firmware Integration Technology | 1.11 | |
USB Peripheral Human Interface Device Class Driver Using Firmware Integration Technology Modules | 1.11 | |
USB Peripheral Mass Storage Class Driver (PMSC) Using Firmware Integration Technology Modules | 1.11 | |
USB Peripheral Communications Device Class Driver(PCDC) Using Firmware Integration Technology Modules | 1.11 | |
USB Peripheral Human Interface Devices Class Driver Using Firmware Integration Technology Modules | 1.11 | |
RX63N, RX631, RX62N, RX621 | Renesas USB MCU and USB ASSP USB Basic Host and Peripheral firmware | 2.10 |
Renesas USB MCU and USB ASSP USB Peripheral Mass Storage Class Driver(PMSC) | 2.20 | |
Renesas USB MCU and USB ASSP USB Peripheral Communications Device Class Driver(PCDC) | 2.20 | |
Renesas USB MCU and USB ASSP Peripheral Human Interface Devices Class Driver(PHID) | 2.20 | |
RL78/G1C, RL78/L1C | USB Host and Peripheral Basic Mini Firmware | 2.15 |
USB Peripheral Mass Storage Class Driver (PMSC) using Basic Mini Firmware | 2.15 | |
USB Peripheral Communications Device Class Driver (PCDC) using USB Basic Mini Firmware | 2.15 | |
USB Peripheral Human Interface Devices Class Driver (PHID) using Basic Mini Firmware | 2.15 |
以下のファームウエアに対しては、表記のバージョンのみ対応
デバイス | ファームウエア | Rev. |
RX63N, RX631 | Renesas USB MCU and USB ASSP USB Peripheral Mass Storage Class Driver (PMSC) Renesas USB MCU and USB ASSP USB Peripheral Communications Device Class Driver(PCDC) | 2.10 2.10 |
Renesas USB MCU and USB ASSP Peripheral Human Interface Devices Class Driver(PHID) | 2.10 |
ホームページとサポート窓口
ルネサス エレクトロニクスホームページ http://japan.renesas.com/
お問合せ先 http://japan.renesas.com/contact/
すべての商標および登録商標は、それぞれの所有者に帰属します。