| | 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. |