目次

last update: 2024/10

OSレス環境用BSPパッケージ
第5章: USB-Deviceインターフェース
評価ボード:EK-RX261




テストサンプル

Demo Sample Application Folder:

Application
 └ _Exclude
     ├ USBD  .... USB Device各種クラス機能のデモサンプル
Sample説明
USB_BULK_PerformanceBULK(VENDOR)クラスを実装して通信速度を確認します
USB_CDC_EchoCDC-ACMクラスコンポーネントを実装して簡単なECHOサンプルを確認します
USB_HID_AudioControlUSB HIDクラスコンポーネントをオーディオ制御デバイスとして使用します
USB_HID_Keyboard_MouseUSB HIDクラスコンポーネントでマウス+キーボードファンクションを実装します
USB_HID_MMControl多目的(複数 REPORT ID)HID デバイスの実装方法を示すサンプル
USB_MIDI_StartMIDI(Musical Instrument Digital Interface)クラスデバイスの実装方法を示すサンプル
USB_Printerプリンタクラスデバイスの実装方法を示すサンプル
USB_VirtualMSD_CRCVirtualMSDクラスコンポーネントを実装したデモサンプル
USB_VirtualMSD_StartVirtualMSDクラスデバイスの実装方法を示すサンプル(VIRT0、VIRT1 MSD)

関連設定ファイル:

BSP
 |- BSP_USB.c  .......... ボード依存の初期化設定ファイル(USB-Device)
 |
 |- Setup
     |- USB_Config_Renesas_EK_RX261.c
                     .......... USB-Deviceドライバ設定ファイル


Config
 |- USB_Conf.h  ............... コンフィグレーション設定ファイル
 |
 |- IO
 |   |- USB_ConfigIO.c  ....... デバッグコンソールIOインターフェース設定ファイル
 |
 |- OS
     |- libNo_OSLayer_RXv3_L.lib  ..... OSインターフェース設定ファイル

ビルド・動作確認方法

プロジェクト設定では「\Application\_Exclude\USBD」フォルダはビルド対象外に設定しています。以下のどちらかの方法で動作確認を行うサンプルアプリケーションを選択します。

  1. 「\_Exclude\USBD」フォルダ下の対象テストサンプルファイルをビルド対象設定の「\Application」フォルダ下にコピーします。
  2. 「\_Exclude\USBD」フォルダ下の対象テストサンプルファイルのみ「ビルド対象外」の設定を解除します。

各テストアプリケーションの動作確認方法はテストサンプルアプリケーションのヘッダのコメント情報を参照ください。

プロジェクトを再ビルドし、EK-RX261評価ボードに接続してデバッグセッションを開始します。
テストアプリケーションの要件に合わせてJ20 USBポートをパソコンに接続してプログラムを実行します。デバッガのIOコンソールのログ画面から結果を確認します。

J20 USBポートのデバイスモード設定:

usbd setting

評価ボードのジャンパー設定でJ20 USBポートをDEVICEモードに変更します。

  • J17:Short
  • J18:Jumper on pins 1-2
  • J19:Jumper on pins 2-3

テストレポート

(PRINTERクラス)Sample: USB_Printer

操作手順:プログラム起動してUSBポートをパソコンに接続します。PC側の設定パネルからUSBデバイスが「HP-LaserJet-6P/6MP」プリンタとして認識されていることを確認します。「HP-LaserJet-6P/6MP」プリンタ設定でのページ印刷の場合は、e2Studio IDEツールのデバッグログコンソールにPostScript命令情報が表示されます。

USBD Printer

(HIDクラス)Sample: USB_HID_AudioControl

操作手順:プログラム起動してUSBポートをパソコンに接続します。デモサンプルプログラムでは1.5秒インターバールでパソコンの音声ボリューム設定を「ボリュームアップ → ボリュームダウン → MUTE」順で変更します。

USB Audio sample

(CDCクラス)Sample: USB_CDC_Echo

操作手順:プログラム起動してUSBポートをパソコンに接続します。PC側の設定パネルからUSBデバイスがCOMポートとして認識されていることを確認します。TeraTermなどCOMポートコンソールを開いて文字入力してECHOテストを確認します。

Debug IO Console:

SEGGER Software Evaluation Sample
Eval Board: EK-RX261 (32-bit RXv3 @64MHz)
Base: Baremetal (No RTOS)
------------------------------------------------
0:024 USBD_Start
0:694 Renesas USB: 512 bytes unused EP buffer RAM (USB_ENDPOINT_BUFFER_POOL_SIZE)

パソコン側:

CDC-Echo

(VirtualMSDクラス)Sample: USB_VirtualMSD_Start / USB_VirtualMSD_CRC

操作手順:

  1. J20 USBポートをパソコンに接続して、プログラムを実行します。
  2. パソコン側に2つのUSB MSDドライブ(ラベル:VIRT0、VIRT1)がマウントされていることを確認します。
  3. Virtual Diskドライブの「Readme.txt」ファイル(Read-Only)をテキストエディタで開いて内容(デモ用文字列)を確認します。

Vistual MSD

Debug IO Console:

SEGGER Software Evaluation Sample
Eval Board: EK-RX261 (32-bit RXv3 @64MHz)
Base: Baremetal (No RTOS)
------------------------------------------------
0:024 USBD_Start
0:673 Renesas USB: 512 bytes unused EP buffer RAM (USB_ENDPOINT_BUFFER_POOL_SIZE)
1:223 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 4096
1:234 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 4608
1:245 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 5120
1:256 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 5632
1:267 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 6144
1:341 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 6656
1:352 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 7168
1:363 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 7680
1:374 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 8192
1:462 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 8704
1:473 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 9216
1:484 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 9728
1:495 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 10240
1:570 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 10752
1:581 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 11264
1:592 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 11776
1:603 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 12288
1:679 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 12800
1:690 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 13312
1:701 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 13824
1:712 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 14336
1:785 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 14848
1:796 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 15360
1:807 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 15872
1:828 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
1:893 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
1:904 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
1:915 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
1:926 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
1:964 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
1:975 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
1:986 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:013 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:023 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:034 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:045 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:104 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:115 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:126 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:137 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:167 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:218 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:229 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:240 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:251 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:325 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:336 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:347 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:368 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:445 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:456 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:467 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:478 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:552 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:563 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:574 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:595 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:657 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:668 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:679 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:690 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:763 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:774 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:785 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:842 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:852 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:879 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:890 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:901 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:912 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:971 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:983 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
3:008 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
3:018 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
3:029 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
3:102 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
3:113 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
3:124 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
3:135 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
3:207 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
3:247 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 4096
3:258 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 4608
3:269 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 5120
3:313 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 5632
3:324 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 6144
3:335 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 6656
3:346 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 7168
3:420 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 7680
3:431 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 8192
3:442 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 8704
3:453 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 9216
3:526 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 9728
3:537 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 10240
3:548 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 10752
3:559 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 11264
3:633 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 11776
3:644 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 12288
3:655 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 12800
3:666 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 13312
3:752 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 13824
3:763 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 14336
3:774 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 14848
3:785 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 15360
3:860 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 15872
3:881 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
3:891 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
3:902 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
3:913 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
3:975 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
3:986 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
3:997 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
4:008 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
4:085 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
4:095 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
4:106 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
4:117 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
4:187 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
4:198 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
4:209 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
4:220 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
4:318 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
4:328 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
4:339 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
4:350 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
4:398 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
4:409 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
4:420 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
4:431 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
4:527 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
4:537 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
4:548 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
4:559 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
4:570 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
4:636 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
4:647 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
4:658 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
4:675 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
4:742 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
4:753 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
4:764 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
4:775 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
4:848 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
4:859 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
4:870 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584

(BULKクラス)Sample: USB_BULK_Performance

操作手順:

  1. 「USB_BULK_Performance.c」サンプルファイルを選択してプログラムをビルドします。
  2. J20 USBポートをパソコンに接続して、プログラムを実行します。
  3. パソコン側に評価版パッケージフォルダの「Windows\USB\Bulk\WindowsApplication\Exe」フォルダ下の「Test.exe」ツールを実行します。
  4. コンソールからテスト結果を確認します。

Debug IO Console:

SEGGER Software Evaluation Sample
Eval Board: EK-RX261 (32-bit RXv3 @64MHz)
Base: Baremetal (No RTOS)
------------------------------------------------
0:024 USBD_Start
10:798 Renesas USB: 512 bytes unused EP buffer RAM (USB_ENDPOINT_BUFFER_POOL_SIZE)
39:059 Start read speed test with 16777216 bytes
60:946 Start write speed test with 16777216 bytes

\PC-Tools\Windows\USB\Bulk\WindowsApplication\Exe\Test.exe Console:

Found 1 device
Found the following device 0:
  Vendor Name : Vendor
  Product Name: Bulk test
  Serial no.  : 13245678
To which device do you want to connect?
Please type in device number (e.g. '0' for the first device, q/a for abort):0

Echo test
Operation successful!

Read speed test
................
Performance: 21875 ms for 16 MB
          =  748 kB / second

Write speed test
................
Performance: 20500 ms for 16 MB
          =  799 kB / second

Echo test
Operation successful!

Communication with USB BULK device was successful!
Press enter to exit.
前の章

圧縮・解凍機能のデモサンプル