Bonjour à tous. Bon pour ceux qui n'ont pas suivi, je suis en train de créer un module servant de driver pour une caméra usb. Pour cela, j'ai repris :
/usr/src/linux-2.4.20-8/drivers/usb/usb-skeleton.c, je l'ai copié dans mon répertoire de travail, et je l'ai renommé en usbcam.c.
Je suis donc en train de tester mon module (dans lequel j'ai renommé les fonctions skel->usbcam). La compilation de mon fichier C marche avec la ligne :
"gcc -g -O -Wall -I/usr/src/linux-2.4.20-8/include -I/usr/src/linux-2.4.20-8/drivers/usb/ -c -o usbcam.o usbcam.c"
Ceci me génère bien un fichier usbcam.o dans mon répertoire de travail et lorsque je fais "insmod usbcam.o", je vois bien grace à mes printk et l'affichage de /var/log/messages, que la fonction d'init de mon module est bien lancée. Le probe marche aussi quand je branche une clé usb (je n'ai pas encore les caméras) ainsi que de disconnect quand je la débranche.
Je voudrais pouvoir faire une petite application de test de mon module, notemment pouvoir lancer les fonctions décrites commes fops (read, write, ioctl, open, release). Mais comment rendre ce module accessible à une appli et comment linker cette appli au module ?
Disons que je veux faire un fichier test.c . Dois-je créer un fichier usbcam.h, que j'inclue dans test.c ? Que dois-je mettre dans ce fichier usbcam.h ? Simplement les prototypes de fonctions ne suffit pas ... il ne connait pas les structures utilisées ... mais si je transfère les #include utilisés dans usbcam.c, vers usbcam.h, ainsi que les définitions de structures propres au driver, ben j'ai des gros soucis de compils ... suis-je sur la bonne voie ?
N'y-a-t-il pas un moyen plus simple d'utiliser simplement usbcam.o ?
Merci d'avance si vous pouvez me débloquer un peu !!!
Message édité par allawos le 12-01-2005 à 11:47:09