【デバイスデスクリプタの構成】
USBのデスクリプタは下図のような構成になっています。USBフレームワークでは
これらを usbdsc.h と usbdsc.c で生成しています。
従って新しいUSBデバイスを構成するときには、必ずこのデスクリプタを作成する必要
があります。
以下の例題では、RS232C over USBのアプリのCDCクラスを例として説明していきます。
【デバイスデスクリプタ】
デバイスの特性を決める基本のデスクリプタで、下記の内容とします。
下記がCDCクラスの場合の例です。
ベンダーID、プロダクトIDを変更する場合には、ここで変更します。
またストリングを変更したときはインデックス番号にも注意が必要です。
【コンフィギュレーション関連デスクリプタ】
コンフィギュレーションは最低1個必要で、デバイスの中に含まれる機能単位の
特性を指定します。このコンフィギュレーションに関係するデスクリプタには
インターフェースとエンドポイントがあります。
ますコンフィギュレーションデスクリプタの内容は下記とします。
ここでは電源の特性と最大電流の設定が必要です。
インターフェースデスクリプタの内容は下記となります。
エンドポイントデスクリプタの内容は下記となります。
実際のCDCクラスの上記コンフィギュレーション関連のデスクリプタは
下記となっています。
【デスクリプタストリング】
いろいろな文字情報をホストに提供するためのデータです。
内容は下記とします。
注意が必要なことは、文字コードはUNICODEでなければならないということです。
CDCの例では下記となっています。 上からインデックスが0,1,2の文字列と
なります。