次の方法で共有


USB クライアント ドライバー開発の最初の手順

このセクションでは、USB ドライバー開発の概念とツールについて説明します。 このセクションは、Microsoft がインボックス ドライバーを提供していない USB デバイス用のドライバーを実装したいドライバー開発の初心者である開発者に適用されます。 これらのドライバーは、このドキュメントでは USB クライアント ドライバーと呼ばれます。 このセクションのトピックでは、高レベルの USB 概念について説明し、USB クライアント ドライバーの一般的なタスクの実行について段階的な手順を説明します。 これらの概念の詳細については、USB ドキュメントの USB 仕様を参照してください。

ドライバー開発者は、C++ プログラミング言語でのコーディング経験を持ち、関数ポインターコールバック関数、およびイベント ハンドラーの概念を理解している必要があります。 ユーザーモード ドライバー フレームワークに基づいてドライバーを作成する場合、開発者は C++ および COM に精通している必要があります。

USB クライアント ドライバー開発者向けのラーニング パス

  1. USB 仕様 3.2 を読み取ります。

    • アーキテクチャの業界仕様とさまざまなコンポーネント (デバイス、ホスト コントローラー、ハブ) について説明します。 データ フロー モデル、ホストとデバイスが相互に通信する方法、デバイスが予期するリクエストの形式を理解することが重要です。
  2. テスト用 USB デバイスを取得します。

    • USB デバイスとそのハードウェア仕様を用意します。 この仕様では、デバイスの機能とサポートされているベンダー コマンドについて説明します。 この仕様を使用して、デバイス ドライバーの機能を確定し、関連する設計上の意思決定を行います。

    • USB ドライバー開発に初めて使用する場合は、OSR USB FX2 学習キットを用意してください。 このキットは、このドキュメント セットに含まれている学習用 USB サンプルに最も適しています。

    • Microsoft USBテスト ツール (MUTT) デバイスを用意します。 MUTT ハードウェアは JJG Technologies から購入できます。 デバイスにはファームウェアがインストールされていません。 ファームウェアをインストールするには、MUTT ソフトウェア パッケージをダウンロードします。 詳細については、パッケージに含まれているドキュメントを参照してください。

  3. USB デバイスのレイアウトと関連する USB 記述子について説明します。

    • 構成記述子、サポートされている各代替設定のインターフェイス記述子、それらのエンドポイント記述子を読んで、デバイスの機能に関する情報について説明します。 開発者は、USBView を使用して、すべての USB コントローラーと接続されている USB デバイスを参照し、デバイスの構成を調べることができます。
  4. USB クライアント ドライバー開発のためのドライバー モデルの選択

    • ターゲット デバイスの設計に基づいて、ドライバーをカスタム ドライバーにするか、マイクロソフトが提供するドライバーのいずれかを使用するかを決定します。 最適なドライバー モデルを選択し、各モデルでサポートされている機能について説明します。
  5. マイクロソフトが提供する USB ドライバー スタックとドライバー開発の概念を確認します。

  6. 開発環境とデバッグ環境を準備します。

  7. 初めてのドライバーの作成。

  8. USB 制御転送要求を送信してドライバーを拡張します。

    • 標準の制御要求とベンダー コマンドをデバイスに送信します。 関連情報については、「USB 制御転送を送信する方法」を参照してください。
  9. WDF USB I/O ターゲット オブジェクトを使用して USB データ転送を実行するようにドライバーを拡張します。

USB 用コミュニティ リソース