| 1 | = TP3 : Pilotage d'un écran LCD en mode noyau = |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | Par example on doit pouvoir écrire la commande suivante dans un terminal: |
| 6 | {{{ |
| 7 | $ echo "Hello World!" > /dev/lcd0 |
| 8 | }}} |
| 9 | ou /dev/lcd0 est le fichier spécial dans /dev qui représente le périphérique afficheur LCD. |
| 10 | |
| 11 | == 1. Initialisation du module (i.e. pilote Linux) et compilation == |
| 12 | |
| 13 | Commencez par récupérer les sources du TP: |
| 14 | {{{ |
| 15 | $ cp -r /users/enseig/jpeeters/m1.peri/lab3 . |
| 16 | }}} |
| 17 | |
| 18 | Ensuite réaliser d'abord un simple module qui affiche un message au chargement et un autre message au déchargement du module. |
| 19 | |
| 20 | Pour compiler le module, n'oubliez pas de sourcer le fichier de configuration pour la chaîne de compilation croisée: |
| 21 | {{{ |
| 22 | $ source /users/enseig/jpeeters/m1.peri/export_rpi_toolchain.sh |
| 23 | }}} |
| 24 | |
| 25 | Pour compiler votre module, tapez la commande make dans un terminal à la racine du dossier lab3. |
| 26 | |
| 27 | Après avoir copier le module compilé (bcm2708_lcd.ko) sur la carte Raspberry Pi, chargez le module comme suit: |
| 28 | {{{ |
| 29 | $ insmod ./bcm2708_lcd.ko |
| 30 | }}} |
| 31 | |
| 32 | Verifiez l'affichage de votre message de chargement en tapant la commande dmesg. |
| 33 | |
| 34 | Pour décharger le module, utilisez la commande rmmod: |
| 35 | {{{ |
| 36 | $ rmmod bcm2708_lcd |
| 37 | }}} |
| 38 | |
| 39 | Verifiez l'affichage de votre message de déchargement en tapant à nouveau la commande dmesg. |