目次

last update: 2024/04

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




テストサンプル

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_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_EK_RX671.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-RX671評価ボードに接続してデバッグセッションを開始します。
テストアプリケーションの要件に合わせてJ29 USBポートをパソコンに接続してプログラムを実行します。デバッガのIOコンソールのログ画面から結果を確認します。

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

usbd setting

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

  • J30:Jumper on pins 1-2
  • J31:Jumper on pins 2-3
  • J32:Short
  • J33:Jumper on pins 1-2

テストレポート

(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_AudioControl

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


(CDCクラス)Sample: USB_CDC_Echo

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

Debug IO Console:

SEGGER Software Evaluation Sample
Eval Board: EK-RX671
Base: Baremetal (No RTOS)
------------------------------------------------
0:023 USBD_Start
57:690 Renesas USB: 512 bytes unused EP buffer RAM (USB_ENDPOINT_BUFFER_POOL_SIZE)

パソコン側:

CDC-Echo

(MSDクラス)Sample: USB_MSD_FS_Start / USB_CompositeDevice_CDC_MSD

操作手順:

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

MSD

(VirtualMSDクラス)Sample: USB_VirtualMSD_Start / USB_VirtualMSD_CRC

操作手順:

  1. J29 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-RX671
Base: Baremetal (No RTOS)
------------------------------------------------
0:022 USBD_Start
0:677 Renesas USB: 512 bytes unused EP buffer RAM (USB_ENDPOINT_BUFFER_POOL_SIZE)
1:721 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 4096
1:733 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 4608
1:745 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 5120
1:757 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 5632
1:769 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 6144
1:781 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 6656
1:793 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 7168
1:805 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 7680
1:817 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 8192
1:829 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 8704
1:841 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 9216
1:853 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 9728
1:865 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 10240
1:877 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 10752
1:889 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 11264
1:901 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 11776
1:913 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 12288
1:925 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 12800
1:937 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 13312
1:949 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 13824
1:961 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 14336
1:973 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 14848
1:985 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 15360
1:997 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 15872
2:119 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:131 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:143 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:155 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:167 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:179 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:191 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:203 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:225 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:237 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:249 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:261 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:273 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:285 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:297 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:309 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:453 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:465 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:477 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:489 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:501 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:514 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:526 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:538 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:578 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:589 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:601 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:613 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:625 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:637 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:649 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:661 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:677 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
2:688 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
2:700 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
2:712 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
2:724 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
2:736 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
2:748 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
2:760 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
2:922 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 4096
2:934 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 4608
2:946 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 5120
2:958 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 5632
2:970 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 6144
2:982 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 6656
2:994 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 7168
3:006 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 7680
3:019 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 8192
3:031 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 8704
3:043 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 9216
3:055 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 9728
3:067 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 10240
3:079 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 10752
3:091 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 11264
3:103 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 11776
3:115 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 12288
3:127 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 12800
3:139 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 13312
3:151 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 13824
3:163 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 14336
3:175 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 14848
3:187 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 15360
3:199 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 15872
3:215 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
3:227 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
3:239 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
3:251 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
3:263 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
3:275 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
3:287 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
3:299 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
3:315 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
3:327 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
3:339 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
3:351 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
3:363 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
3:375 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
3:387 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
3:399 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
3:419 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
3:431 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
3:443 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
3:455 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
3:467 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
3:479 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
3:491 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
3:503 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
3:554 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
3:566 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
3:578 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
3:590 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
3:602 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
3:614 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
3:626 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
3:638 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584
3:676 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 0
3:687 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 512
3:699 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1024
3:711 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 1536
3:723 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2048
3:735 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 2560
3:747 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3072
3:759 VMSD_APP: _cbOnWrite(): File 'SYSTEM~1   ', Offset 3584

(MTPクラス)Sample: USB_MTP_Start

操作手順:

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

MSD

Debug IO Console:

SEGGER Software Evaluation Sample
Eval Board: EK-RX671
Base: Baremetal (No RTOS)
------------------------------------------------
Low-level format
1:479 USBD_Start
2:173 Renesas USB: 512 bytes unused EP buffer RAM (USB_ENDPOINT_BUFFER_POOL_SIZE)
前の章

FAT32 ファイルシステム