次の方法で共有


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

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

ドライバー開発者は、C++ プログラミング言語でのコーディング経験を持ち、 関数ポインターコールバック関数およびイベント ハンドラーの概念を理解している必要があります。 User-Mode Driver Framework に基づいてドライバーを記述する場合、開発者は 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 クライアント ドライバーを開発するためのドライバー モデルを選択する

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

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

  7. 最初のドライバーを作成します。

  8. USB コントロール転送要求を送信してドライバーを拡張します。

  9. WDF USB I/O ターゲット オブジェクトを使用して USB データ転送を実行するようにドライバーを拡張します。

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