Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette section présente les concepts et outils de développement de pilotes USB. La section s’applique aux développeurs nouveaux au développement de pilotes qui souhaitent implémenter un pilote pour un périphérique USB pour lequel Microsoft ne fournit pas de pilote intégré. Ces pilotes sont appelés pilote client USB dans cette documentation. Les rubriques de cette section décrivent les concepts USB de haut niveau et fournissent des instructions pas à pas sur l’exécution de tâches courantes d’un pilote client USB. Pour plus d’informations sur ces concepts, consultez les spécifications USB des documents USB.
Les développeurs de pilotes doivent avoir une expérience de codage dans le langage de programmation C++ et comprendre les concepts des pointeurs de fonction, desfonctions de rappel et des gestionnaires d’événements. Si vous écrivez un pilote basé sur le User-Mode Driver Framework, le développeur doit être familiarisé avec C++ et COM.
Parcours d’apprentissage pour les développeurs de pilotes clients USB
Lisez la spécification USB 3.2.
- Découvrez la spécification du secteur et les différents composants (appareil, contrôleur hôte et hub) de l’architecture. Il est important de comprendre le modèle de flux de données, la façon dont l’hôte et l’appareil communiquent entre eux, ainsi que le format des demandes attendues par l’appareil.
Obtenez un périphérique USB de test.
Disposer d’un périphérique USB et de sa spécification matérielle. La spécification décrit les fonctionnalités de l’appareil et les commandes de fournisseur prises en charge. Utilisez la spécification pour déterminer les fonctionnalités du pilote de périphérique et les décisions de conception associées.
Disposez du kit d’apprentissage OSR USB FX2 si vous débutez avec le développement de pilotes USB. Le kit est le plus approprié pour étudier les exemples USB inclus dans cet ensemble de documentation.
Disposez d’appareils MUTT (Microsoft USB Test Tool). Le matériel MUTT peut être acheté auprès de JJG Technologies. L’appareil n’a pas installé le microprogramme installé. Pour installer le microprogramme, téléchargez le package logiciel MUTT. Pour plus d’informations, consultez la documentation incluse dans le package.
Étudiez la disposition du périphérique USB et les descripteurs USB associés.
- Décrivez les fonctionnalités de votre appareil en lisant le descripteur de configuration, les descripteurs d’interface pour chaque autre paramètre pris en charge et leurs descripteurs de point de terminaison. En utilisant USBView, le développeur peut parcourir tous les contrôleurs USB et les périphériques USB connectés à ces contrôleurs et inspecter également la configuration de l’appareil.
Choisir un modèle de pilote pour le développement d’un pilote client USB
- Déterminez si le pilote doit être un pilote personnalisé ou utiliser l’un des pilotes fournis par Microsoft en fonction de la conception de l’appareil cible. Choisissez le meilleur modèle de pilote et décrivez les fonctionnalités prises en charge par chaque modèle.
Passez en revue la pile de pilotes USB et les concepts de développement de pilotes fournis par Microsoft.
- Pilotes côté hôte USB dans Windows.
- Concepts pour tous les développeurs de pilotes.
- Concepts pour tous les développeurs USB.
- Nœuds d’appareil et piles d’appareils.
- Développement de pilotes avec Windows Driver Foundation : Reference Book by Penny Orwick et Guy Smith.
- Exemples de pilotes USB.
- Comprendre les principes fondamentaux du fonctionnement des pilotes dans les systèmes d’exploitation Windows. Connaître les principes fondamentaux aidera à prendre les décisions appropriées en matière de conception et à rationaliser le processus de développement.
- Différencier les modèles d’architecture de pilote en mode utilisateur et en mode noyau.
- Comprendre le chargement du pilote et comment Windows organise les appareils Plug-and-Play (PnP) dans une arborescence d’appareils et des nœuds d’appareil. Le développeur doit également comprendre comment le gestionnaire PnP crée des piles d’appareils et où le pilote et ses objets d’appareil sont placés dans la pile d’appareils.
Préparez l’environnement de développement et de débogage.
- Installez le dernier Kit de pilotes Windows (WDK).
- Installez Microsoft Visual Studio.
- Préparez-vous pour le débogage.
- Vérifiez que les en-têtes et les bibliothèques requises par un pilote client USB sont disponibles.
- Si vous écrivez un pilote en mode noyau pour le débogage sur des ordinateurs hôte et cible, un réseau Ethernet, un câble 1394, un câble de débogage USB 2.0 ou 3.0, ou un câble null-modem doit être configuré.
- Si vous écrivez un pilote en mode utilisateur, les débogueurs en mode utilisateur sont disponibles dans l’environnement Microsoft Visual Studio. Le développeur doit être familiarisé avec la façon d’attacher à un processus ou de lancer un processus sous le débogueur.
Écrivez votre premier pilote logiciel.
- Comment écrire votre premier pilote client USB (KMDF).
- Comment écrire votre premier pilote client USB (UMDF)
- Écrivez, générez et installez votre premier pilote client USB à l’aide des modèles USB inclus dans Visual Studio 2012. Le développeur doit être en mesure de décrire les objets de pilote, de périphérique et de file d’attente du framework et de comprendre comment le framework communique avec votre pilote.
Étendez votre pilote de périphérique en envoyant une demande de transfert de contrôle via USB.
- Envoyez des demandes de contrôle standard et des commandes de fournisseur à votre appareil. Pour plus d’informations, consultez Comment envoyer un transfert de contrôle USB.
Étendez votre pilote pour utiliser des objets cibles d'E/S USB WDF pour effectuer des transferts de données USB.
- Étendez votre pilote pour effectuer des tâches courantes, comme décrit dans Les tâches courantes pour les pilotes clients USB.
Ressources de la communauté pour USB
Blog de l’équipe Microsoft Windows USB Core
Consultez les billets écrits par l’équipe Microsoft USB. Le blog se concentre sur la pile de pilotes USB Windows qui fonctionne avec différents contrôleurs d’hôte USB et hubs USB trouvés dans pc Windows. Une ressource utile pour aider les développeurs de pilotes USB et les concepteurs de matériel USB à comprendre l’implémentation de la pile des pilotes, à résoudre les problèmes courants et à expliquer comment utiliser des outils pour collecter des traces et des fichiers journaux.
-
Liste de discussion gérée par OSR Online pour les développeurs de pilotes en mode noyau.
Windows Dev-Center pour le développement matériel
Kit de pilotes Windows, vérifiez que votre produit est fiable et compatible avec Windows via le Kit de laboratoire matériel Windows, découvrez les exemples de pilotes Windows.