Premières étapes pour le développement d’un pilote client USB
Cette section présente les concepts et les outils de développement du pilote USB. La section s’applique aux nouveaux devlopers du 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 pilotes clients USB dans cette documentation. Les rubriques de cette section décrivent des concepts USB de haut niveau et fournissent des instructions pas à pas sur l’exécution des tâches courantes d’un pilote client USB. Pour plus d’informations sur ces concepts, consultez spécifications USB dans 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 de client USB
Lisez la spécification USB 3.2.
- Découvrez les spécifications 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 et le format des demandes attendues par l’appareil.
Obtenez un périphérique USB de test.
Disposez 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 du 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 dans le développement de pilotes USB. Le kit est le plus approprié pour étudier les échantillons USB inclus dans cet ensemble de documentation.
Disposez d’un appareil Microsoft USB Test Tool (MUTT). Le matériel MUTT peut être acheté auprès de JJG Technologies. Le microprogramme n’est pas installé sur l’appareil. Pour installer le microprogramme, téléchargez le package logiciel MUTT. Pour plus d’informations, consultez la documentation fournie avec 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. À l’aide d’USBView, le développeur peut parcourir tous les contrôleurs USB et les périphériques USB qui y sont connectés et inspecter 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 utilisez 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 fournie par Microsoft et les concepts de développement de pilotes.
- Pilotes USB côté hôte 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 écrit par Penny Orwick et Guy Smith. Pour plus d’informations, consultez Développement de pilotes avec WDF.
- Exemples de pilotes USB.
- Comprendre les principes de base du fonctionnement des pilotes dans les systèmes d’exploitation Windows. Connaître les principes de base vous aidera à prendre les décisions de conception appropriées et à simplifier le processus de développement.
- Différencier les modèles d’architecture de pilote en mode utilisateur et en mode noyau.
- Comprendre le chargement des pilotes et la façon dont Windows organise les appareils Plug-and-Play (PnP) dans une arborescence d’appareils et les nœuds d’appareil. Le développeur doit également comprendre comment le gestionnaire PnP crée des piles de périphériques et où le pilote et ses objets de périphérique sont placés dans la pile de périphériques.
Préparez l’environnement de développement et de débogage.
- Installez la dernière version du Kit de pilotes Windows (WDK).
- Installez Microsoft Visual Studio.
- Obtenez Configurer pour le débogage.
- Vérifiez que les en-têtes et bibliothèques requis par un pilote client USB sont disponibles.
- Si vous écrivez un débogage de pilote en mode noyau sur des ordinateurs hôtes et cibles sur un réseau Ethernet, vous devez configurer un câble 1394, un câble de débogage USB 2.0 ou 3.0 ou un câble null-modem.
- Lors de l’écriture d’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 l’attachement à un processus ou le lancer sous le débogueur.
Écrivez votre premier pilote.
- 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 d’infrastructure, de périphérique et de file d’attente et de comprendre comment l’infrastructure communique avec votre pilote.
Étendez votre pilote en envoyant une demande de transfert de contrôle USB.
- Envoyez des demandes de contrôle standard et des commandes du 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 indiqué dans 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 hôtes USB et hubs USB trouvés dans les PC Windows. Une ressource utile pour les développeurs de pilotes de client USB et les concepteurs de matériel USB comprend l’implémentation de la pile de pilotes, résout les problèmes courants et explique 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, assurez-vous que votre produit est fiable et compatible avec Windows via le Kit de laboratoire matériel Windows, découvrez des exemples de pilotes Windows.
Rubriques connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour