Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Abschnitt werden Konzepte und Tools für die Entwicklung von USB-Treibern vorgestellt. Der Abschnitt gilt für Entwickler, die neu bei der Treiberentwicklung sind, die einen Treiber für ein USB-Gerät implementieren möchten, für das Microsoft keinen in-Box-Treiber bereitstellt. Diese Treiber werden in dieser Dokumentation als USB-Clienttreiber bezeichnet. In den Themen in diesem Abschnitt werden allgemeine USB-Konzepte beschrieben und schrittweise Anleitungen zum Ausführen allgemeiner Aufgaben eines USB-Clienttreibers bereitgestellt. Ausführliche Informationen zu diesen Konzepten finden Sie unter USB-Spezifikationen bei USB-Dokumenten.
Treiberentwickler müssen Codierung in der C++-Programmiersprache haben und die Konzepte von Funktionszeigern, Rückruffunktionen und Ereignishandlern verstehen. Wenn Sie einen Treiber basierend auf dem User-Mode Driver Framework schreiben, muss der Entwickler mit C++ und COM vertraut sein.
Lernpfad für USB-Clienttreiberentwickler
Lesen Sie die USB-Spezifikation 3.2.
- Erfahren Sie mehr über die Branchenspezifikation und verschiedene Komponenten (Gerät, Hostcontroller und Hub) der Architektur. Es ist wichtig, das Datenflussmodell zu verstehen, wie der Host und das Gerät miteinander kommunizieren, und das Format der Anforderungen, die das Gerät erwartet.
Beschaffen Sie sich ein USB-Testgerät.
Verfügen Sie über ein USB-Gerät und seine Hardwarespezifikation. In der Spezifikation werden Gerätefunktionen und die unterstützten Anbieterbefehle beschrieben. Verwenden Sie die Spezifikation, um die Funktionalität des Gerätetreibers und die zugehörigen Entwurfsentscheidungen zu bestimmen.
Betrachten Sie das OSR USB FX2-Lernkit, wenn Sie neu in der Entwicklung von USB-Treibern sind. Das Kit eignet sich am besten für die Untersuchung von USB-Proben, die in diesem Dokumentationssatz enthalten sind.
Verfügen Sie über ein Microsoft USB-Testtool (MUTT)-Gerät. MUTT-Hardware kann von JJG Technologies erworben werden. Auf dem Gerät ist keine Firmware installiert. Laden Sie zum Installieren der Firmware das MUTT-Softwarepaket herunter. Weitere Informationen finden Sie in der Dokumentation, die im Paket enthalten ist.
Untersuchen Sie das USB-Gerätelayout und die zugehörigen USB-Deskriptoren.
- Beschreiben Sie Ihre Gerätefunktionen, indem Sie die Konfigurationsbeschreibung, Schnittstellendeskriptoren für jede unterstützte alternative Einstellung und deren Endpunktdeskriptoren lesen. Mit USBView kann der Entwickler alle USB-Controller und die angeschlossenen USB-Geräte durchsuchen und auch die Gerätekonfiguration prüfen.
Auswählen eines Treibermodells für die Entwicklung eines USB-Clienttreibers
- Ermitteln Sie, ob der Treiber ein benutzerdefinierter Treiber sein soll, oder verwenden Sie einen der von Microsoft bereitgestellten Treiber basierend auf dem Entwurf des Zielgeräts. Wählen Sie das beste Treibermodell aus, und beschreiben Sie die von jedem Modell unterstützten Features.
Überprüfen Sie den von Microsoft bereitgestellten USB-Treiber-Stack und die Konzepte zur Treiberentwicklung.
- USB-hostseitige Treiber in Windows.
- Konzepte für alle Treiberentwickler.
- Konzepte für alle USB-Entwickler.
- Geräteknoten und Gerätestapel.
- Entwickeln von Treibern mit der Windows Driver Foundation: Referenzbuch von Penny Orwick und Guy Smith.
- USB-Treiberbeispiele.
- Grundlegendes zur Funktionsweise von Treibern in Windows-Betriebssystemen. Wenn Sie die Grundlagen kennen, können Sie geeignete Designentscheidungen treffen und den Entwicklungsprozess optimieren.
- Unterscheiden Sie zwischen Benutzermodus- und Kernelmodustreiberarchitekturmodellen.
- Verstehen Sie das Laden von Treibern und wie Windows Plug-and-Play-Geräte (PnP) in einem Gerätestammbaum und Geräteknoten organisiert. Der Entwickler sollte auch verstehen, wie der PnP-Manager Gerätestapel erstellt und wo der Treiber und seine Geräteobjekte im Gerätestapel platziert werden.
Bereiten Sie die Entwicklungs- und Debugumgebung vor.
- Installieren Sie das neueste Windows Driver Kit (WDK).
- Installieren Sie Microsoft Visual Studio.
- Richten Sie sich für das Debuggen ein.
- Stellen Sie sicher, dass die für einen USB-Clienttreiber erforderlichen Header und Bibliotheken verfügbar sind.
- Wenn Sie ein Kernelmodustreiberdebugging auf Host- und Zielcomputern über ein Ethernet-Netzwerk schreiben, müssen 1394-Kabel, USB 2.0- oder 3.0-Debugkabel oder ein Null-Modem-Kabel konfiguriert werden.
- Wenn Sie einen Benutzermodustreiber schreiben, stehen in der Microsoft Visual Studio-Umgebung Debugger für den Benutzermodus zur Verfügung. Der Entwickler sollte damit vertraut sein, wie man sich an einen Prozess anhängt oder einen Prozess unter dem Debugger startet.
Schreiben Sie Ihren ersten Treiber.
- Wie Sie Ihren ersten USB-Clienttreiber (KMDF) schreiben
- Wie Sie Ihren ersten USB-Clienttreiber schreiben (UMDF)
- Schreiben, Erstellen und Installieren Des ersten USB-Clienttreibers mithilfe der USB-Vorlagen, die in Visual Studio 2012 enthalten sind. Der Entwickler sollte in der Lage sein, Frameworktreiber, Geräte- und Warteschlangenobjekte zu beschreiben und zu verstehen, wie das Framework mit Ihrem Treiber kommuniziert.
Erweitern Sie Ihren Treiber, indem Sie eine USB-Steuerungsübertragungsanforderung senden.
- Senden Sie Standardsteuerungsanforderungen und Lieferantenbefehle an Ihr Gerät. Weitere Informationen finden Sie unter Senden einer USB-Steuerübertragung.
Erweitern Sie Ihren Treiber, um WDF-USB-E/A-Zielobjekte zum Ausführen von USB-Datenübertragungen zu verwenden.
- Erweitern Sie Ihren Treiber so, dass allgemeine Aufgaben wie in allgemeinen Aufgaben für USB-Clienttreiber beschrieben ausgeführt werden.
Communityressourcen für USB
Microsoft Windows USB Core Team Blog
Sehen Sie sich Beiträge an, die vom Microsoft USB-Team geschrieben wurden. Der Blog konzentriert sich auf den Windows-USB-Treiberstapel, der mit verschiedenen USB-Hostcontrollern und USB-Hubs arbeitet, die in Windows PC zu finden sind. Eine nützliche Ressource für USB-Clienttreiberentwickler und USB-Hardwaredesigner verstehen die Treiberstapelimplementierung, beheben häufige Probleme und erläutern, wie Tools zum Sammeln von Ablaufverfolgungen und Protokolldateien verwendet werden.
-
Diskussionsliste, die für Kernelmodus-Treiberentwickler von OSR Online verwaltet wird.
Windows Dev-Center für die Hardwareentwicklung
Windows Driver Kit, stellen Sie sicher, dass Ihr Produkt zuverlässig und kompatibel mit Windows über das Windows Hardware Lab Kit ist, lernen Sie Windows-Treiberbeispiele kennen.