Rechercher : dans
Par :

Programmation de drivers sous linux

Dernière réponse le 26 nov 2007 à 14:28:08 grbm, le 23 nov 2007 à 11:29:44 
 Signaler ce message aux modérateurs

Bonjour,
je m'intéresse à la programmation système sous linux, plus précisement à la programmation de driver. Voici la structure mnimale d'un module
que j'ai vu dans un club de developpeur:
#include <linux/module.h>

int init_module(void)
{
printk("<1>Hello, world\n");
return 0;
}

void cleanup_module(void)
{
printk("<1>Goodbye cruel world\n");
}

je lance la compilation avec la commande suivante: cc -O -DMODULE -D__KERNEL__ -c hello.c ,ceci me donne tout une nation d'erreur.
je remplace "#include <linux/module.h>" par la bibliothèque "#include <linux/init.h>", la compilation marche et j'obtient le fichier objet.
lorque j'essaie de le charger avec insmod Hello.o voila ce que ça me donne comme message "insmod:error inserting "hello.o":-1invalid module format.
lorsque j'utilise module.h et init.h les erreurs se multipluient , pourtant cela ne pas mauvais non plus car 'module.h ' nous fournit les bases pour le déchargement et le déchargement de module et 'init.h' pour l'initialisation

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « programmation de drivers sous linux » dans :
Télécharger Broadcom Ethernet NIC NetLink Driver pour Linux Voir Les drivers Broadcom NetLink BCM57xx/NetXtreme BCM57xx WHQL fonctionnent avec les chipsets suivants : BCM 5781, BCM 5786, BCM 5787, BCM 5788, BCM 5789 Ces pilotes fonctionnent sur le système Linux (tg3)
[Drivers] Comment trouver des pilotes ? VoirUne nouvelle installation de Windows et il manque les drivers de l'appareil photo, de l'imprimante, du scanner, du graveur ou de la carte graphique ? Voici la démarche à suivre pour trouver (peut-être) le bon pilote : Identifier le...
Ressources programmation système Linux VoirVoici quelques liens qui vous permettront de vous aider à vous débrouiller avec la programmation système sous Linux. Tutoriels * Page de M. Billaud (fr) Un cours/tutoriel sur la programmation système et réseau sous Unix. Très complet. Cours de...
[Debian][HowTo] Xorg7 - installer drivers nvidia VoirXorg7 - installer drivers nvidia Dans ce tutoriel nous allons aborder comment installer les drivers nvidia sous debian. Tout ce qui dit est valable pour d'autres distributions basées sur debian comme par exemple ubuntu. Toutefois pour cette...
Télécharger Pilote SiS 7012 Audio Driver VoirLe pilote SiS7012 Audio Driver : SiS966L, SiS966, SiS965L, SiS965, SiS961, SiS964, SiS963, SiS962, SiS964L, SiS963L, SiS962L, SiSM661MX, SiS648, SiSM661FX, ...
Pilote (Driver) VoirQu'est-ce qu'un driver? Un ordinateur est constitué d'un assemblage de périphériques. Pour pouvoir contrôler chacun de ses périphériques, le système d'exploitation a besoin d'une interface logicielle entre lui et le matériel, on appelle driver...

1

akira, le 23 nov 2007 à 11:56:20

Bonjour,

voici une piste : http://lwn.net/Kernel/LDD3/

c'est une version téléchargeable de linux device drivers ( 3nd edition) qui m'a permis l'apprentissage de la création de driver sous linux.
j'espère que ça vous aidera ( je vous suggère de lire le 2eme chapitre : Building and Running Modules, qui répondra sûrement à votre question).

Cordialement

:)

Répondre à akira

4

 grbm, le 26 nov 2007 à 14:28:08

Bonjour Akira;
je bien recu votre reponse à mon problème et elle est satisfaisante.
Je veux avoir ton @ mai si cela ne te dérange pas afin de faire beaucoup plus connaissance.
Merci.

Répondre à grbm

2

Manu, le 23 nov 2007 à 13:02:55

Bonjour,

j'essaie de le charger avec insmod Hello.o


On ne peut pas insérer un module qui n'a pas été prévu lors de la compilation du noyau. Il faut avoir compilé le noyau avec une option de type "HELLO=m".

Manu

Répondre à Manu

3

CORBEAU, le 23 nov 2007 à 15:27:04

Gcc -D__KERNEL__ -I/usr/src/linux/include -DMODULE -Wall -O2 -c hello.c -o hello.o

Répondre à CORBEAU