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

  1. 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.
  2. 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.

  3. É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.
  4. 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.
  5. Passez en revue la pile de pilotes USB fournie par Microsoft et les concepts de développement de pilotes.

  6. Préparez l’environnement de développement et de débogage.

  7. Écrivez votre premier pilote.

  8. Étendez votre pilote en envoyant une demande de transfert de contrôle USB.

  9. Étendez votre pilote pour utiliser des objets cibles D’E/S USB WDF pour effectuer des transferts de données USB.

Ressources de la communauté pour USB