第 9 章 実行に当たっての問題
16.3 WinDriver デバイス ファームウェア (WDF) ディレクトリの概要
このセクションでは、WinDriver\wdf ディレクトリのディレクトリ構造とファイルについて説明します。
wdf\ ディレクトリには、次のディレクトリが含まれます。
z cypress\ ディレクトリ: Cypress EZ-USB FX2LP CY7C68013A 開発ボードをベースとしたデバイ ス用のファイルが含まれます。
z microchip\ ディレクトリ: PIC18F4550 開発ボードをベースとしたデバイス用のファイルが含まれ ます。
z philips\ ディレクトリ: Philips PDIUSBD12 ハードウェアをベースとしたデバイス用のファイルが 含まれます。
z silabs\ ディレクトリ: Silicon Laboratories C8051F320 開発ボードをベースとしたデバイス用の ファイルが含まれます。
16.3.1 cypress ディレクトリ
WinDriver\wdf\cypress\ ディレクトリには、次のディレクトリが含まれます。
z FX2LP\ ディレクトリ: FX2LP CY7C68013A 開発ボードをベースとしたデバイス用のファイルが含 まれます (以後、このセクションでは ''FX2LP ボード'' と呼ぶ)。
FX2LP\ ディレクトリには、次のサブディレクトリおよびファイルが含まれます。
z include\ ディレクトリ:
○ wdf_cypress_lib.h: FX2LP開発ボードをベースとしたデバイス用の、ファームウェア ラ イブラリの種類、一般的な定義および関数プロトタイプを含むヘッダー ファイル。このファイル は、ボードのファームウェア ライブラリ (評価版ユーザーの場合、
wdf_cypress_fx2lp_eval.lib。登録版ユーザーの場合、ライブラリのソース コードは DriverWizard デバイスのファームウェア コード生成の一部として作成されます。セクション [16.3.3] の WinDriver USB Device ファームウェア ライブラリに関する説明を参照) のインター フェイスを提供します。
○ wdf_cypress.h: Cypress FX2LP API を利用するのに必要なファームウェア ライブラリ定
義および #include 文を含むヘッダーファイル。
○ periph.h: FX2LP 開発ボードをベースとしたデバイス用の、USB 周辺機器機能をサポート する関数プロトタイプを含むヘッダーファイル。
関数の実装は、デバイス用に定義した特定の設定に従います。デバイス用の実装を含む periph.c ソース ファイルは、ウィザードで定義した USB デバイスの設定を基にデバイスの ファームウェア コードを生成するときに、DriverWizard によって作成されます。詳細は、
DriverWizard で生成されるファイル [16.4.3.1] の説明を参照してください。
z lib\ ディレクトリ:
○ wdf_cypress_fx2lp_eval.lib: FX2LP 開発ボード用の評価用ファームウェア ライブ ラリ ([16.3.5] の説明を参照)
z samples\ ディレクトリ: FX2LP 開発ボード用のデバイスファームウェアのサンプル
○ loopback\ ディレクトリ: ループバック サンプル。サンプルは、IN エンドポイントの FIFO バッ ファから読み込んだデータを OUT エンドポイントの FIFO バッファに格納する、ループバック を実装します。
− periph.c: periph.h ヘッダーファイル (上記を参照) で宣言した関数のサンプル実 装を含むソースファイル
− wdf_dscr.a51: FX2LP 開発ボード用のサンプル記述子データテーブル定義を含む アセンブリファイル
− build.bat: サンプル ファームウェア コードのビルド用のユーティリティ。
注意: ビルドユーティリティは、評価版のファームウェアライブラリ (wdf_cypress_fx2lp_eval.lib) を使用します。
− loopback_eval.hex: サンプルコードと build.bat ユーティリティで作成した
FX2LP 開発ボード用のサンプルループバックファームウェア。
注意: ファームウェアは、評価版のファームウェア ライブラリ (wdf_cypress_fx2lp_eval.lib) を使用します。
16.3.2 microchip ディレクトリ
WinDriver\wdf\microchip\ ディレクトリには、次のディレクトリが含まれます。
z 18F4550\ ディレクトリ: PIC18F4550 開発ボードをベースとしたデバイス用のファイルが含まれま す。
18F4550\ ディレクトリには、次のサブディレクトリおよびファイルが含まれます。
z include\ ディレクトリ:
○ class\msd\ ディレクトリ: PIC18F4550 ボード用の USB Mass Storage Device Class ファーム ウェア API の宣言および型の定義
− wdf_msd.h: PIC18F4550 ボード用の Mass Storage ファームウェアライブラリの種類、
一般的な定義、および関数プロトタイプを含むヘッダーファイル
− wdf_disk.h: PIC18F4550 ボードをベースとした Mass Storage Device のストレージメ ディアにアクセスするための種類、一般的な定義、および関数プロトタイプを含むヘッ ダーファイル
注意: このヘッダーで宣言される関数の実装は、ハードウェアに依存します。生成される DriverWizard wdf_xxx_hw.c ファイルには、関数の実装 Stub が含まれています。
WinDriver\wdf\microchip18F4550\samples\msd\sdcard.c ファイルに は、SD Card のストレージ メディアにアクセスする関数の実装サンプルが含まれていま す。
− wdf_microchip_lib.h: PIC18F4550 ボードをベースとしたデバイスの一般的な ファームウェアライブラリの種類、定義、関数プロトタイプを含むヘッダーファイル。この ファイルは、wdf_usb9.h、wdf_msd.h (Mass Storage ファームウェアを開発する場合) と共に、ボードのファームウェアライブラリ (評価版ユーザーの場合は、
wdf_microchip_18f4550_eval.lib /
wdf_microchip_msd_18f4550_eval.lib (Mass Storage)。登録版ユーザーの場 合、ライブラリのソースコードは DriverWizard デバイスのファームウェアコード生成の一 部として作成されます。WinDriver USB Device ファームウェアライブラリについては、セ
クション 16.3.5 を参照) のインターフェイスを提供します。
− wdf_usb9.h: 第 9 章の USB 2.0 規格に準拠した、ファームウェアライブラリ USB 記述 子の型の定義および関数の宣言を含むヘッダーファイル
− wdf_microchip.h: PIC18F4550 ボード用の一般的なファームウェア ライブラリの定 義を含むヘッダー ファイル。このヘッダー ファイルには、PIC18F4550 ボードで必要な他
のすべてのヘッダーファイルが含まれています。このため、このボードのファームウェア 開発を行う場合は、ソースファイルからこのヘッダーのみ含める必要があります。
− types.h: PIC18F4550 ボード用のデータ型を定義するヘッダーファイル
− periph.h: PIC18F4550 ボードをベースとしたデバイス用の、USB 周辺機器機能をサ ポートする関数プロトタイプを含むヘッダー ファイル。関数の実装は、デバイス用に定義 した特定の設定に従います。デバイス用の実装を含む periph.c ソース ファイルは、
ウィザードで定義した USB デバイスの設定を基にデバイスのファームウェア コードを生 成するときに、DriverWizard によって作成されます。詳細は、DriverWizard で生成され るファイル [16.4.3.1] の説明を参照してください。
z lib\ ディレクトリ:
○ wdf_microchip_18f4550_eval.lib: PIC18F4550 ボード用の評価版ファームウェア ライブラリ
○ wdf_microchip_msd_18f4550_eval.lib: PIC18F4550 ボード用の評価版 Mass
Storage ファームウェアライブラリ
ファームウェア ライブラリに関する詳細は、セクション 16.3.5 を参照してください。
z samples\ ディレクトリ: PIC18F4550 ボード用のデバイスファームウェアサンプル
○ loopback\ ディレクトリ: ループバックサンプル。サンプルは、IN エンドポイントの FIFO バッ ファから読み込んだデータを OUT エンドポイントの FIFO バッファに格納する、ループバック を実装します。
− periph.c: periph.h ヘッダー ファイル (上記を参照) で宣言した関数のサンプル実 装を含む C ソースファイル
− wdf_dscr.h: PIC18F4550 ボード用のサンプルデバイス記述子情報を含むヘッダー ファイル
− wdf_dscr.c: PIC18F4550 ボード用のデバイス記述子データ構造体の定義を含む ソース ファイル
− build.bat: サンプルファームウェアコードのビルド用のユーティリティ 注意: ビルド ユーティリティは、評価版のファームウェア ライブラリ (wdf_microchip_18f4550_eval.lib) を使用します。
− loopback_eval.hex: サンプルコードと build.bat ユーティリティで作成した
PIC18F4550 ボード用のサンプルループバックファームウェア
注意: ファームウェアは、評価版のファームウェア ライブラリ (wdf_microchip_18f4550_eval.lib) を使用します。
− loopback_eval.lkr: ループバックサンプル用のリンカファイル
○ msd\ ディレクトリ: Mass Storage デバイスサンプル。サンプルは、PIC18F4550 Mass Storage 評価版ライブラリ(wdf_microchip_msd_18f4550_eval.lib) を使用して、Secure Digital Card (SD カード) 付き Microchip PICTail ドーターボード用の Mass Storage デバイスを実装しま す。
サンプルでは、次の SD カードをサポートしています: EP Memory 512MB。Lexar 256MB、 512MB および 1GB。SunDisk 128MB、512MB および 2GB。SimpleTech 256MB および 1GB。Viking 512MB および 256MB。ATP 1GB。
− periph.c: periph.h ヘッダーファイル (上記を参照) で宣言した関数のサンプル実 装を含む C ソースファイル
− wdf_dscr.h: PIC18F4550 ボード用のサンプル デバイス記述子情報を含むヘッダー ファイル
− wdf_dscr.c: PIC18F4550 ボード用のデバイス記述子データ構造体の定義を含む ソースファイル
− sdcard.h: サポートする SD カード (上記を参照) 用の種類および一般的な定義を含 むヘッダー ファイル
− sdcard.c: サポートする SD カード用に、wdf_disk.h ヘッダーファイル [16.3.2] で宣言
された Microchip PIC18F4550 Mass Storage ライブラリのストレージメディアアクセス関数
を実装するソースファイル
− build.bat: サンプル ファームウェア コードのビルド用のユーティリティ 注意: ビルドユーティリティは、Mass Storage 評価版のファームウェアライブラリ
(wdf_microchip_msd_18f4550_eval.lib) を使用します。
− msd_eval.hex: サンプルコードと build.bat ユーティリティで作成した
PIC18F4550 ボード用のサンプル Mass Storage ファームウェア
注意: ファームウェアは、Mass Storage 評価版のファームウェアライブラリ (wdf_microchip_18f4550_eval.lib) を使用します。
− msd_eval.lkr: Mass Storage サンプル用のリンカファイル
16.3.3 philips ディレクトリ
WinDriver\wdf\philips\ ディレクトリには、次のディレクトリが含まれます。
z d12\ ディレクトリ: PDIUSBD12 をベースとしたデバイス用のファイルが含まれます d12\ ディレクトリには、次のサブディレクトリおよびファイルが含まれます。
z include\ ディレクトリ:
○ d12_lib .h: PDIUSBD12 をベースとしたデバイス用のファームウェアライブラリの種類、一 般的な定義および関数プロトタイプを含むヘッダーファイル。このファイルは、PDIUSBD12 のファームウェアライブラリ (評価版ユーザーの場合は、d12_eval.lib。登録版ユーザー の場合、ライブラリのソースコードは DriverWizard デバイスのファームウェアコード生成の一 部として作成されます。WinDriver USB Device ファームウェアライブラリについては、セク
ション 16.3.5 を参照) のインターフェイスを提供します。
○ types.h: PDIUSBD12 用のデータ型を定義するヘッダーファイル