目次

last update: 2025/03

OSレス環境用各種ミドルウェアサンプル
第5章: USB-Deviceインターフェース
評価ボード:AP-RX72N-0A




テストサンプル

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_HID_MouseUSB HIDクラスコンポーネントをマウスデバイスとして使用します
USB_MIDI_StartMIDI(Musical Instrument Digital Interface)クラスデバイスの実装方法を示すサンプル
USB_MSD_FS_StartMSDクラスデバイスの実装方法を示すサンプル(ファイルシステムが必要です)
USB_MTP_StartMTPクラスデバイスの実装方法を示すサンプル(ファイルシステムが必要です)
USB_Printerプリンタクラスデバイスの実装方法を示すサンプル
USB_VirtualMSD_CRCVirtualMSDクラスコンポーネントを実装したデモサンプル
USB_VirtualMSD_StartVirtualMSDクラスデバイスの実装方法を示すサンプル(VIRT0、VIRT1 MSD)

関連設定ファイル:

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

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

ハードウエア設定

「AP-RX72N-0A」評価ボードはUSBファンクション機能は(CN5)micro-Bコネクタを使用します。

ビルド・動作確認方法

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

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

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

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


テストレポート

(PRINTERクラス)Sample: USB_Printer

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

USBD Printer

(HIDクラス)Sample: USB_HID_Mouse

操作手順:プログラム起動してUSBポートをパソコンに接続します。PC側の設定パネル又はデバイスマネジャウインドウからUSBマウスデバイスとして認識されていることを確認します。デモサンプルプログラムでは500ミリ秒インターバールでマウスポインターを左右移動します。


(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: AP-RX72N-0A (RX72N RXv3 @240MHz)
Base: Baremetal (No RTOS)
------------------------------------------------
0:002 USBD_Start
0:527 Renesas USB: 512 bytes unused EP buffer RAM (USB_ENDPOINT_BUFFER_POOL_SIZE)

パソコン側:

CDC-Echo

(MSDクラス)Sample: USB_MSD_FS_Start

操作手順:

  1. 「FS_ConfigMMC_RX_RX72N.c」ファイルをビルド対象に設定して、プログラムをビルドして実行します。
  2. USBポートをパソコンに接続して、USBデバイスがパソコン側にUSBドライブ(ラベル:FWUPDATE)として認識されていることを確認します。
  3. USBドライブの「Readme.txt」ファイルをテキストエディタで開いて内容(デモ用文字列)を確認します。
  4. USBドライブのファイル操作(新規ファイル作成・読み書きアクセス)を確認します。

MSD

(VirtualMSDクラス)Sample: USB_VirtualMSD_Start / USB_VirtualMSD_CRC

操作手順:

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

Debug IO Console(USB_VirtualMSD_Start):

SEGGER Software Evaluation Sample
Eval Board: AP-RX72N-0A (RX72N RXv3 @240MHz)
Base: Baremetal (No RTOS)
------------------------------------------------
0:002 USBD_Start
0:506 Renesas USB: 512 bytes unused EP buffer RAM (USB_ENDPOINT_BUFFER_POOL_SIZE)
1:087 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 4096
1:089 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 4608
1:091 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 5120
1:093 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 5632
1:095 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 6144
1:097 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 6656
1:099 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 7168
1:101 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 7680
1:103 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 8192
1:128 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 8704
1:130 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 9216
1:132 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 9728
1:134 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 10240
1:136 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 10752
1:138 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 11264
1:140 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 11776
1:142 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 12288
1:237 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 12800
1:239 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 13312
1:241 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 13824
1:243 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 14336
1:245 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 14848
1:247 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 15360
1:249 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 15872
1:256 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
1:351 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
1:353 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
1:355 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
1:357 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
1:359 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
1:361 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
1:363 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
1:369 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
1:371 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
1:456 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
1:458 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
1:460 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
1:462 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
1:464 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
1:466 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
1:473 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
1:475 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
1:565 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
1:567 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
1:569 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
1:571 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
1:573 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
1:575 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
1:638 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
1:640 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
1:673 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
1:675 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
1:677 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
1:679 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
1:681 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
1:683 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
1:721 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
1:723 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
1:725 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
1:727 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
1:729 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
1:731 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
1:733 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
1:735 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
1:811 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 4096
1:813 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 4608
1:815 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 5120
1:817 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 5632
1:819 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 6144
1:821 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 6656
1:823 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 7168
1:825 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 7680
1:827 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 8192
1:893 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 8704
1:895 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 9216
1:897 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 9728
1:899 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 10240
1:901 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 10752
1:903 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 11264
1:905 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 11776
1:907 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 12288
2:004 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 12800
2:006 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 13312
2:008 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 13824
2:010 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 14336
2:012 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 14848
2:014 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 15360
2:016 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 15872
2:022 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:111 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:113 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:115 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:117 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:119 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:121 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:123 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:130 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:132 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:222 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:224 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:226 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:228 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:230 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:232 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:239 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:241 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:333 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:335 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:337 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:339 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:341 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:343 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:350 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:352 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:440 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:443 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:446 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:448 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:451 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:453 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:490 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:492 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:494 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:550 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:552 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:554 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:556 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:558 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:568 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:570 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:572 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:659 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:661 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:663 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:665 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:667 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584

(MTPクラス)Sample: USB_MTP_Start

操作手順:

  1. 「FS_ConfigMMC_RX_RX72N.c」ファイルをビルド対象に設定して、プログラムをビルドして実行します。
  2. 「CN5」USB(micro-B)ポートをパソコンに接続して、USBデバイスがパソコン側にMTPボリュームとして認識されていることを確認します。
  3. USB MTPドライブの「Readme.txt」ファイル(Read-Only)をテキストエディタで開いて内容(デモ用文字列)を確認します。
MSD

Debug IO Console:

SEGGER Software Evaluation Sample
Eval Board: AP-RX72N-0A (RX72N RXv3 @240MHz)
Base: Baremetal (No RTOS)
------------------------------------------------
0:050 USBD_Start
0:588 Renesas USB: 512 bytes unused EP buffer RAM (USB_ENDPOINT_BUFFER_POOL_SIZE)
前の章

HTTPクライアント、JSONパーサー

次の章

MODBUS通信