Erste Schritte für die Entwicklung von USB-Clienttreibern
In diesem Abschnitt werden Konzepte und Tools zur Entwicklung von USB-Treibern vorgestellt. Der Abschnitt gilt für Entwickler, die neu in der Treiberentwicklung sind und einen Treiber für ein USB-Gerät implementieren möchten, für das Microsoft keinen im Lieferumfang enthaltenen 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 Anweisungen zum Ausführen allgemeiner Aufgaben eines USB-Clienttreibers bereitgestellt. Ausführliche Informationen zu diesen Konzepten finden Sie unter USB-Spezifikationen unter USB-Dokumente.
Treiberentwickler müssen über Programmierkenntnisse in der Programmiersprache C++ verfügen und die Konzepte von Funktionszeigern, Rückruffunktionen und Ereignishandlern verstehen. Beim Schreiben eines Treibers, der auf dem User-Mode Driver Framework basiert, 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 die verschiedenen Komponenten (Gerät, Hostcontroller und Hub) der Architektur. Es ist wichtig, das Datenflussmodell, die Kommunikation zwischen Host und Gerät und das Format der Anforderungen zu verstehen, die das Gerät erwartet.
Rufen Sie ein USB-Testgerät ab.
Verfügen Sie über ein USB-Gerät und dessen Hardwarespezifikation. In der Spezifikation werden die 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.
Verwenden Sie das OSR USB FX2 Learning Kit , wenn sie noch nicht mit der USB-Treiberentwicklung vertraut sind. Das Kit eignet sich am besten zum Untersuchen von USB-Beispielen, die in diesem Dokumentationssatz enthalten sind.
Verfügen Sie über ein Microsoft USB Test Tool (MUTT)-Geräte. MUTT-Hardware kann bei JJG Technologies erworben werden. Auf dem Gerät ist keine installierte Firmware installiert. Laden Sie zum Installieren der Firmware das MUTT-Softwarepaket herunter. Weitere Informationen finden Sie in der Im Paket enthaltenen Dokumentation.
Untersuchen Sie das USB-Gerätelayout und die zugehörigen USB-Deskriptoren.
- Beschreiben Sie die Gerätefunktionen, indem Sie den Konfigurationsdeskriptor, Schnittstellendeskriptoren für die einzelnen unterstützten alternativen Einstellungen und deren Endpunktdeskriptoren lesen. Mithilfe von USBView kann der Entwickler alle USB-Controller und die damit verbundenen USB-Geräte durchsuchen und auch die Gerätekonfiguration überprüfen.
Auswählen eines Treibermodells für die Entwicklung eines USB-Clienttreibers
- Ermitteln Sie, ob es sich bei dem Treiber um einen benutzerdefinierten Treiber handelt, 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 den einzelnen Modellen unterstützten Features.
Sehen Sie sich die von Microsoft bereitgestellten Konzepte für usb-Treiberstapel und Treiberentwicklung an.
- Hostseitige USB-Treiber in Windows.
- Konzepte für alle Treiberentwickler.
- Konzepte für alle USB-Entwickler.
- Geräteknoten und Gerätestapel.
- Entwickeln von Treibern mit Windows Driver Foundation , geschrieben von Penny Orwick und Guy Smith. Weitere Informationen finden Sie unter Entwickeln von Treibern mit WDF.
- USB-Treiberbeispiele.
- Grundlegendes zur Funktionsweise von Treibern in Windows-Betriebssystemen Wenn Sie die Grundlagen kennen, können Sie geeignete Entwurfsentscheidungen treffen und den Entwicklungsprozess optimieren.
- Unterscheiden Sie zwischen Benutzermodus- und Kernelmodustreiberarchitekturmodellen.
- Verstehen des Ladens von Treibern und wie Windows Plug & Play -Geräte (PnP) in einer Gerätestruktur 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.
- Rufen Sie die Einrichtung für das Debuggen ab.
- Stellen Sie sicher, dass die für einen USB-Clienttreiber erforderlichen Header und Bibliotheken verfügbar sind.
- Beim Schreiben eines Kernelmodustreiber-Debuggings auf Host- und Zielcomputern über ein Ethernet-Netzwerk müssen 1394-Kabel, USB 2.0- oder 3.0-Debugkabel oder ein Nullmodemkabel konfiguriert werden.
- Wenn Sie einen Benutzermodustreiber schreiben, stehen in der Microsoft Visual Studio-Umgebung Debugger im Benutzermodus zur Verfügung. Der Entwickler sollte mit dem Anfügen an einen Prozess oder das Starten eines Prozesses unter dem Debugger vertraut sein.
Schreiben Sie Ihren ersten Treiber.
- Schreiben Ihres ersten USB-Clienttreibers (KMDF)
- So schreiben Sie Ihren ersten USB-Clienttreiber (UMDF).
- Schreiben, erstellen und installieren Sie Ihren ersten USB-Clienttreiber mithilfe der in Visual Studio 2012 enthaltenen USB-Vorlagen. 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 Anbieterbefehle 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, um allgemeine Aufgaben auszuführen, wie unter Allgemeine Aufgaben für USB-Clienttreiber beschrieben.
Communityressourcen für USB
Microsoft Windows USB Core-Teamblog
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 auf Windows-PC funktioniert. Eine nützliche Ressource für Entwickler von USB-Clienttreibern und USB-Hardwaredesignern, die die Implementierung des Treiberstapels verstehen, häufige Probleme beheben und erklären, wie Tools zum Sammeln von Ablaufverfolgungen und Protokolldateien verwendet werden.
-
Von OSR Online verwaltete Diskussionsliste für Kernelmodustreiberentwickler.
Windows Dev-Center für die Hardwareentwicklung
Windows Driver Kit, stellen Sie sicher, dass Ihr Produkt zuverlässig und mit Windows kompatibel ist, über das Windows Hardware Lab Kit, lernen Sie Windows-Treiberbeispiele kennen.
Verwandte Themen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für