Discussion: Créer un driver ?

  1. #1
    Candidat au Club
    Inscrit en
    juillet 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : juillet 2004
    Messages : 3
    Points : 4
    Points
    4

    Par défaut 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é
    Profil pro
    Inscrit en
    juin 2004
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2004
    Messages : 209
    Points : 125
    Points
    125

    Par défaut

    Il me semble qu'il faut passer par de l'assembleur pour cela.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    mai 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2006
    Messages : 165
    Points : 202
    Points
    202

    Par défaut

    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
    Avatar de joellel
    Profil pro
    Inscrit en
    février 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : février 2003
    Messages : 234
    Points : 338
    Points
    338

    Par défaut

    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
    Homme Profil pro
    Inscrit en
    avril 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : avril 2008
    Messages : 107
    Points : 63
    Points
    63

    Par défaut

    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 ????


Discussions similaires

  1. Créer un driver
    Par lakeeee dans le forum Windows
    Réponses: 0
    Dernier message: 26/02/2010, 14h34
  2. Comment créer un driver de base de données
    Par _Xavier_ dans le forum Général Java
    Réponses: 7
    Dernier message: 24/09/2009, 10h05
  3. Créer un driver "managé", possible ?
    Par smyley dans le forum Général Dotnet
    Réponses: 17
    Dernier message: 20/03/2008, 17h18
  4. Créer ODBC Driver
    Par mohfa2001 dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/02/2007, 17h39
  5. Créer un driver ODBC
    Par slimjoe dans le forum Bases de données
    Réponses: 10
    Dernier message: 14/03/2006, 04h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo