IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Linux Discussion :

driver peripherique


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 43
    Points : 65
    Points
    65
    Par défaut driver peripherique
    j'ai lus le cours programmer des drivers linux en C mais j'ai pas bien compris le makefile utilisée.
    MAkefile :
    obj-m += module.o

    default:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

    clean:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean


    mais j'ai aussi plusieur questions:
    1- pouvais vous m'expliquer un peu ce makefile?
    2- je n'ai pas aussi vraiment compris comment se fesait la gestion des interruptions mais aussi comment communique les processus du l'espace utilisateur avec le driver?
    quelles sont les differentes methodes leurs avantages et leur incoveniant?
    merci a vous.

  2. #2
    Membre confirmé

    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2005
    Messages : 464
    Points : 646
    Points
    646
    Par défaut
    Bonjour,

    Pour rappel il s'agit d'un makefile de noyau 2.6

    C'est vrai que le cours que tu as lu ne donne pas d'explication pour le Makefile mais plutôt un petit exemple. C'est le souhait de l'auteur mais il aurait pu ajouter un commentaire avec un lien si l'on souhait approfondir le sujet.

    Le mieux c'est de lire la documentation linux disponible dans les sources du noyau, en particulier ce document.

    Je ne vais pas donner trop de détail mais l'esprit de la compilation de module est d'appeler le Makefile du noyau (avec l'option -C) en lui précisant qu'il y a un module complémentaire (obj-m) dont les sources sont dans le répertoire répertoire courant (M=$PWD) a générer et qu'il doit construire la cible target/clean

    Le makefile du noyau gère pour toi les étapes de création du module avec modutilss,

    Gestion d'interruption : Tu inscris au callback sur une interruption, elle sera appelé par le noyau lorsqu'elle se produira.
    Communication avec l'espace utilisateur : qu'est que tu n'a pas compris dans le cours, de base tu as les fonctions read/write/iotctl, ensuite suivant le type de driver (ex : tty) tu peux t'enregistrer comme une classe particulière et fournir des fonctions a ce gestionnaire de classe via une structure.

    Maintenant la question est : quelle type de driver souhaites-tu implémenter ? A partir de cela tu sauras ce qui te conviens le mieux.

    Le mieux serait de lire complètement LDD rel3
    Bon courage.

    Note : en utilisant $(shell uname -r) tu vas cibler le noyau de ton système, ce qui n'est pas très portable comme solution (surtout pour faire de l'embarqué), il faut mieux fournir le chemin vers le noyau pour lequel tu souhaites compiler.

  3. #3
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 43
    Points : 65
    Points
    65
    Par défaut
    merci beacoup pour ta reponse rapide.j'ai un peu potasser depuis avant hier et j'ai reussi a compiler le module.pour repondre a ta question c le driver d'un "PIC18F2550 de microship",mais pour le moment j'essaye d'adapter le driver d'une souris usb pour noyeau 2.4 trouvé dans un hors serie linux-mag.mais aussi et port irda.il me reste juste une petite question si tu pouvais juste me fournir quelque example pour la getions des interruption sa serai vraiment sympa merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. aider pour driver peripherique usb
    Par dillinger91 dans le forum Linux
    Réponses: 1
    Dernier message: 30/09/2008, 21h20
  2. URGENT DRIVER ODBC
    Par Casp dans le forum Débuter
    Réponses: 3
    Dernier message: 28/04/2003, 16h24
  3. Périphérique de bloc
    Par MAGNUM_HEAD dans le forum Administration système
    Réponses: 4
    Dernier message: 20/03/2003, 19h04
  4. [PostgreSQL] PB de drivers JAVA
    Par koundelitch dans le forum Administration
    Réponses: 5
    Dernier message: 14/03/2003, 15h09
  5. [MFC] Utilisation Drivers
    Par LAPLACE dans le forum MFC
    Réponses: 4
    Dernier message: 21/12/2002, 10h29

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