Freigeben über


Erste Schritte zur Entwicklung von USB-Client-Treibern

In diesem Abschnitt werden Konzepte und Tools für die USB-Treiberentwicklung vorgestellt. Dieser Abschnitt richtet sich an Entwickler, die neu in der Treiberentwicklung sind und einen Treiber für ein USB-Gerät implementieren möchten, für das Microsoft keinen Inbox-Treiber bereitstellt. Diese Treiber werden in dieser Dokumentation als USB-Client-Treiber bezeichnet. Die Themen in diesem Abschnitt beschreiben allgemeine USB-Konzepte und bieten Schritt-für-Schritt-Anleitungen zur Durchführung allgemeiner Aufgaben eines USB-Client-Treibers. Ausführliche Informationen zu diesen Konzepten finden Sie in den USB-Spezifikationen unter USB-Dokumente.

Treiberentwickler müssen über Programmiererfahrung in der Programmiersprache C++ verfügen und die Konzepte von Funktionszeigern, Rückruf-Funktionen und Ereignishandlern verstehen. Wenn ein Treiber auf der Grundlage des User-Mode Driver Frameworks geschrieben wird, muss der Entwickler mit C++ und COM vertraut sein.

Lernpfad für Entwickler von USB-Client-Treibern

  1. Lesen Sie die USB-Spezifikation 3.2.

    • Lernen Sie die Industriespezifikation und die verschiedenen Komponenten (Gerät, Host-Controller und Hub) der Architektur kennen. Es ist wichtig, das Datenflussmodell zu verstehen und zu wissen, wie der Host und das Gerät miteinander kommunizieren und welches Format die Anfragen haben, die das Gerät erwartet.
  2. Besorgen Sie sich ein Test-USB-Gerät.

    • Sie haben ein USB-Gerät und dessen Hardware-Spezifikation. Die Spezifikation beschreibt die Fähigkeiten des Geräts und die unterstützten Herstellerbefehle. Verwenden Sie die Spezifikation, um die Funktionalität des Gerätetreibers und die damit verbundenen Designentscheidungen zu bestimmen.

    • Nehmen Sie das OSR USB FX2 Lernkit, wenn Sie ein Einsteiger in der USB-Treiberentwicklung sind. Das Kit ist am besten geeignet, um die in dieser Dokumentation enthaltenen USB-Proben zu untersuchen.

    • Sie haben ein Microsoft USB Test Tool (MUTT) Gerät. MUTT-Hardware kann über JJG Technologies bezogen werden. Auf dem Gerät ist keine Firmware installiert. Um die Firmware zu installieren, laden Sie das MUTT-Softwarepaket herunter. Weitere Informationen finden Sie in der Dokumentation, die dem Paket beiliegt.

  3. Studieren Sie das USB-Geräte-Layout und die zugehörigen USB-Deskriptoren.

    • Beschreiben Sie die Fähigkeiten Ihres Geräts, indem Sie den Konfigurationsdeskriptor, die Schnittstellendeskriptoren für alle unterstützten alternativen Einstellungen und die Endpunktdeskriptoren lesen. Mit USBView kann der Entwickler alle USB-Controller und die daran angeschlossenen USB-Geräte durchsuchen und auch die Gerätekonfiguration überprüfen.
  4. Wählen Sie ein Treibermodell für die Entwicklung eines USB-Client-Treibers

    • Legen Sie fest, ob der Treiber ein benutzerdefinierter Treiber sein soll oder einer der von Microsoft bereitgestellten Treiber auf der Grundlage des Designs des Zielgeräts verwendet werden soll. Wählen Sie das beste Treibermodell aus und beschreiben Sie die von jedem Modell unterstützten Funktionen.
  5. Überprüfen Sie den von Microsoft zur Verfügung gestellten USB-Treiber-Stack und die Konzepte zur Treiberentwicklung.

    • USB-Host-seitige Treiber in Windows.
    • Konzepte für alle Treiber-Developer.
    • Konzepte für alle USB-Developer.
    • Geräteknoten und Gerätestapel.
    • Entwicklung von Treibern mit Windows Driver Foundation, geschrieben von Penny Orwick und Guy Smith. Weitere Informationen finden Sie unter Entwicklung von Treibern mit WDF.
    • USB-Treiberbeispiele.
    • Verstehen Sie die Grundlagen der Funktionsweise von Treibern in Windows-Betriebssystemen. Die Kenntnis der Grundlagen hilft, geeignete Designentscheidungen zu treffen und den Entwicklungsprozess zu rationalisieren.
    • Unterscheidung zwischen User-Mode- und Kernel-Mode-Treiberarchitekturmodellen.
    • Verstehen, wie Treiber geladen werden und wie Windows Plug-and-Play-Geräte (PnP-Geräte) in einem Gerätebaum und Geräteknoten organisiert. Der Entwickler sollte auch verstehen, wie der PnP-Manager Gerätestapel aufbaut und wo der Treiber und seine Geräteobjekte im Gerätestapel platziert werden.
  6. Bereiten Sie die Entwicklungs- und Debugging-Umgebung vor.

  7. Schreiben Sie Ihren ersten Treiber.

  8. Erweitern Sie Ihren Treiber, indem Sie eine USB-Kontrollübertragungsanforderung senden.

  9. Erweitern Sie Ihren Treiber, um WDF USB I/O Zielobjekte zu verwenden, um USB Datenübertragungen durchzuführen.

Ressourcen der Gemeinschaft für USB