Bonjour,
Je dois développer un programme qui communique avec du hardware via un port série, sans faire de polling, en gérant les interruptions. Je n'ai jamais fait ce genre de programmation et mes connaissances en Linux sont assez moyennes. D'après les tutos que j'ai trouvés, il faudrait faire un module (je n'ai aucune idée de leur fonctionnement, la façon dont ils interagissent avec les programmes "classiques" ).
- N'y a-t-il pas moyen de faire ça comme on gère les signaux (après tout, ce n'est "qu"'une initialisation de zones mémoires et un appel à fonctions quand une IT est soulevée.
- Si je suis obligé de faire un module (apparemment, mélanger les includes de la glibc et linux/... et asm/..., c'est mal ), quelqu'un pourrait-il m'expliquer de façon simple leur fonctionnement. Pour l'entrée dans les détails, je peux me débrouiller.
- J'ai trouvé un tuto assez clair : http://www.captain.at/programming/rtai/serportint.php mais ce code ne compile pas chez moi (gcc -O2 -Wall -DMODULE -D__KERNEL__ -DLINUX -I/lib/modules/2.4.22-10mdk/build/include -c test.c), générant plein d'erreurs dont la première est (/lib/modules/2.4.22-10mdk/build/include/linux/list.h:37: error: syntax error before `new'). Ces erreurs sont générées rien que par les includes.
Bref, je patauge, c'est assez urgent pour moi et tout éclaircissement sera le bienvenu.
Edit : Tout bêtement, ne pourrais-je pas utiliser le driver série en mémoire ? J'ai cherché sur google, mais je n'ai pas trouvé de tuto pour accéder à ce module. Comment pourrais-je l'exploiter pour rebondir sur ses interruptions ?
Message édité par kzimir le 17-01-2005 à 11:22:24