Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Créer un driver ?


Sujet :

Windows

  1. #1
    Candidat au Club
    Créer un driver ?
    Bonjour,

    Savez-vous comment créer un driver ? C'est pour un matériel qui sera développé en interne, connecté sur port USB.

    - Quel environnement et outil de développement utiliser ?
    - Quelles sont les informations à fournir au système (Win98 Se à WinXP) ?
    - Si il existe des exemples...
    - Si il existe des docs...

    J'ai fait des recherches sur le net mais sans succés...

    Merci par avance pour les infos !!!!

    Virginie

  2. #2
    Membre habitué
    Il me semble qu'il faut passer par de l'assembleur pour cela.

  3. #3
    Membre actif
    Bonjour

    Pour avoir fait un projet sur la création d'un pilote USB pour un dongle USB sous Windows, je peux te dire que tu t'embarques pour quelque chose de long et difficile si tu as le courage de commencer (la preuve, personne n'en parle ).

    D'après ce projet, il y a 2 méthodes pour développer un pilote sous Windows.
    - La méthode "noob" en utilisant le logiciel Jungo (www.jungo.com). Il permet de réaliser "facilement" (je ne sais pas vraiment car je n'ai pas utilisé) un pilote USB, mais visiblement ce n'est pas de la manière la plus propre qui soit et question portabilité du pilote, c'est très mauvais car cela nécessite d'avoir jungo installé sur sa machine si je me souviens bien.

    - La méthode "geek" en utilisant le Driver Development Kit (DDK) de Microsoft himself! Alors là comme tout bon utilisateur de Windows, on imagine que ça va être simple avec une jolie interface graphique. On va créer son pilote assez rapidement sans trop savoir ce qui est fait derrière mais au moins après quelques clics de souris et un peu de code, cela sera fait.... Que nenni!!! Le DDK contient un ensemble d'outils pour développer son pilote càd un compilateur et des outils de test et toute une documentation sur l'architecture de Windows ainsi que des fichiers sources de pilotes pour voir à quoi cela ressemble.

    Alors tout d'abord, un pilote sous Windows se développe en C et pour un pilote USB, je te conseille d'utiliser Windows 2000 ou XP parce que Windows 98 manque de beaucoup de fonctionnalités. Pour ce qui est de la documentation, on pourrait croire que celle ci est explicite, claire et bien faite (difficile à faire pour de la documentation dans ce domaine vous me direz) et là encore que nenni. C'est carrément imbitable et les schémas explicatifs sont affreux. Bref, c'est une sacrée épreuve que de lire cette documentation ou du moins le chapitre qui nous intéresse...

    Passons maintenant aux codes sources (non parce qu'on est des super développeurs ). A votre avis, combien de lignes de code sont nécessaires pour une souris USB ou un clavier USB ? Réponse : environ 8 000 lignes en 4 fichiers. De plus le code est vraiment indigeste car c'est du code système. Là encore, il faut vraiment s'accrocher pour comprendre quelque chose. Comme c'est un pilote, il faut gérer tout ce que fait le périphérique ainsi que les différents modes de branchement, les subtilités Windows comme le WMi et j'en passe. Le mieux est d'encore regarder les sources fournies en exemples.

    Donc pour répondre à tes questions :
    - Tu peux utiliser l'outil de développement que tu veux
    - toutes les infos possibles et imaginables
    - il existe des exemples
    - il existe de la doc

    Pour obtenir le DDK, il faut aller sur le site msdn de Microsoft et le commander. Il y a une version gratuite et une version payante (200$, 15 CD et un DVD). Je n'ai travaillé qu'avec la version payante donc je ne sais ce qu'elle a de plus par rapport à la version gratuite.

    Donc hormis si tu es une développeuse géniale (et je te le souhaite), la route va être longue et tu peux prévoir les calmants ou le café suivant ton caractère. J'adresse en tout cas toutes mes félicitations et mon admiration aux développeurs de pilotes sous Windows. En tout cas, démarrer de zéro avec seulement la documentation du DDK est vraiment décourageant...

    Petite précision, je dis Windows uniquement car d'après ce que j'ai lu et entendu d'autres développeurs, un pilote sous Linux demande environ 10 fois moins de lignes et est bien plus aisé. Je n'ai pas testé mais je suis prêt à le croire après ce que j'ai vu sous Windows.

    J'espère avec tout ça que je ne t'ai pas dégoûtée du développement de pilote USB sous Windows

    Bien cordialement

  4. #4
    Membre averti
    Pour info:
    Le livre Linux Device Drivers est en téléchargement libre sur le site des éditions O'Reilly.

  5. #5
    Membre du Club
    Sa remonte à longtemps cette discution, mais petit up.

    J'ai un projet de créer un boitier additionnel à mon volant de jeu. Il s'agit d'ajouter 3 potentiomètres et 2-3 boutons. Le tout est configurer sur un Arduino. A partir de la, je branche l'arduino en USB. Comment je fais pour que l'ordinateur reconnaisse qu'il s'agissent d'un périphérique de jeu ????


  6. #6
    Candidat au Club
    C'est peut être un peu tard mais si ça peut aider !
    J'ai trouvé ça : https://www.tubefr.com/arduino-leona...te-de-jeu.html

###raw>template_hook.ano_emploi###