Version 3 (modified by 11 years ago) (diff) | ,
---|
TP3 : Pilotage d'un écran LCD en mode noyau
Dans ce TP on vous demande de réaliser un pilote Linux de type caractère. Ce pilote doit permettre l'utilisation d'un afficheur LCD depuis l'espace utilisateur par simples écritures.
Par exemple on doit pouvoir écrire la commande suivante dans un terminal:
$ echo "Hello World!" > /dev/lcd0
ou /dev/lcd0 est le fichier spécial dans /dev qui représente le périphérique afficheur LCD.
1. Débuter avec les modules (i.e. pilote Linux) et leur compilation
Commencez par récupérer les sources du TP:
$ cp -r /users/enseig/jpeeters/m1.peri/lab3 .
Ensuite réaliser d'abord un simple module qui affiche un message au chargement et un autre message au déchargement du module.
Pour compiler le module, n'oubliez pas de sourcer le fichier de configuration pour la chaine de compilation croisée:
$ source /users/enseig/jpeeters/m1.peri/export_rpi_toolchain.sh
Pour compiler votre module, tapez la commande make dans un terminal à la racine du dossier lab3.
Après avoir copier le module compilé (bcm2708_lcd.ko) sur la carte Raspberry Pi, chargez le module comme suit:
$ insmod ./bcm2708_lcd.ko
Vérifiez l'affichage de votre message de chargement en tapant la commande dmesg.
Pour décharger le module, utilisez la commande rmmod:
$ rmmod bcm2708_lcd
Vérifiez l'affichage de votre message de déchargement en tapant à nouveau la commande dmesg.