Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1004 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [usb-skeleton.c] Spécification du kernel de compilation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[usb-skeleton.c] Spécification du kernel de compilation

n°950204
allawos
Posté le 10-01-2005 à 17:45:33  profilanswer
 

Bonjour à tous. J'avance dans ma création d'un driver pour caméras USB. J'utilise maintenant le mot driver car je suis obligé de faire un module afin d'utiliser :
/usr/src/linux-2.4.20-8/drivers/udb/usb.h
..bref !
 
J'ai donc pris comme exemple le fichier usb-skeleton.c contenu dans ce même répertoire. Je compile avec :
gcc -O -Wall -D__KERNEL__ -DMODULES -I/usr/src/linux-2.4.20-8/include -c -o usbcam.o usbcam.c
 
Ca passe nickel sauf que lorsque je fais : insmod ./usbcam.o, il me dit :
usbcam.o : couldn't find the kernel version the module was compiled for
 
Pourtant, j'ai bien rajouté dans mon fichier usbcam.c (ex usb-skeleton.c), la ligne :
#include <linux/version.h>
 
J'ai même essayé en copiant directement :
#define UTS_RELEASE "2.4.20-8"
#define LINUX_VERSION_CODE 132116
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
 
dans mon fichier usbcam.c ... mais ca change rien :(
 
Avez-vous une idée de ce qui me manque ? Dois-je utiliser la macro KERNEL_VERSION(a,b,c) dans mon code pour définir la version du kernel ... ou est-ce simplement pour effectuer différents tests du style :
#if LINUX_VERSION_CODE > KERNEL(2,4,20) ...
 
Merci d'avance pour votre aide !

mood
Publicité
Posté le 10-01-2005 à 17:45:33  profilanswer
 

n°950230
allawos
Posté le 10-01-2005 à 18:22:15  profilanswer
 

... bon à priori, il me manquait le -g lors de la compil !!!

n°950246
++fab
victime du syndrome IH
Posté le 10-01-2005 à 18:44:24  profilanswer
 

et alors ???
as tu activé le "kernel debugging", dans les options "kernel hacking" ?

n°950252
allawos
Posté le 10-01-2005 à 18:52:11  profilanswer
 

euh ... c'est quoi le kernel hacking ???
 
BOn je rajoute aussi une question car mon driver compile (usb-skeleton), et j'arrive bien à le lancer avec insmod.
 
Par contre, je voudrais faire un printk dans la fonction usb_probe, sauf que je teste pour l'instant sur une clé usb ... donc j'ai comme l'impression qu'il doit déjà y avoir un driver pour la clé donc le core ne lance pas ma fonction usbcam_probe ... y'a-t-il un moyen de désactiver le driver de clés usb ... peut-etre usb-storage remarque, j'ai même pas testé !!!

n°950255
allawos
Posté le 10-01-2005 à 18:54:41  profilanswer
 

Je confirme qu'en faisant rmmod usb-storage ... le core appelle bien ma fonction usb_probe !!!!
 
Mais je veux bien l'info sur le kernel hacking. Pour l'instant, j'ai juste rajouté USB_CONFIG_DEBUG dans mon fichier, après les includes, car ceux-ci me le désactivent.

n°950265
++fab
victime du syndrome IH
Posté le 10-01-2005 à 19:11:56  profilanswer
 

quand tu compiles un noyau, tu fais un make menuconfig (par exemple). tu as alors un chapitre kernel hacking ou tu peux choisir des options de debugage du noyau.
Je pensais, à tout hasard, qu'en utilisant un noyau compilé avec des options de debugage, tu ne  pouvais alors pas insérer un module ne contenant pas d'informations de débugage ...


Message édité par ++fab le 10-01-2005 à 19:13:12
n°950266
allawos
Posté le 10-01-2005 à 19:15:28  profilanswer
 

OK !!!
 
ben en fait, j'ai pas recompilé mon noyau, j'ai juste fait l'instal avec les CD et basta ... donc je ne sais pas ce qu'il en est des options de débuguage ... mon module a l'air de passer en tous cas !!!
Merci ++fab !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [usb-skeleton.c] Spécification du kernel de compilation

 

Sujets relatifs
Probleme compilation package sous linux[glut] erreur à la compilation
[Sous LINUX Mandrake] prob de compilation[gcc] Option pour réinitialiser le path de compilation
Compilation de boostSurcharge d'operateur et compilation
erreur de compilationCallback resolu à la compilation...
warning à la compilation:[[MS Visual C++ 6.0] Il ne link plus lors de la compilation [Résolu]
Plus de sujets relatifs à : [usb-skeleton.c] Spécification du kernel de compilation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR