Navigation
Internships & Projects
Raspberry Pi
Code Embarqué et Temps Réel
SE et Pilotes
[Protected]
Un module spécifique de l'ARM 335X est le contrôleur : il contrôle l'ensemble des configurations et, ce qui nous intéresse le plus, la configuration et le multiplexage des lignes GPIO. Il existe un registre de configuration dédié à chaque ligne GPIO. Ces registres ont le format suivant (p. 1114 du spruh73i):
IMPORTANT Par contre, il n'est accessible qu'en mode système alors que nos applications fonctionnent en mode utilisateur. La seule possibilité de configuration passe par le système de fichier: ces registres sont accessibles à travers le répertoire /sys/kernel/debug/omap_mux/
dans lequel on peut envoyer en texte, codé en hexadécimal, la valeur du registre.
Les configurations conseillées pour le pad sont les suivantes :
Elément | Broche | Mode |
---|---|---|
LED D1 | /sys/kernel/debug/omap_mux/gpmc_ad6 | 0x0f |
LED D2 | /sys/kernel/debug/omap_mux/gpmc_ad12 | 0x0f |
Button S1 | /sys/kernel/debug/omap_mux/gpmc_a2 | 0x27 |
Button S2 | /sys/kernel/debug/omap_mux/gpmc_ben1 | 0x27 |
PWM1A | /sys/kernel/debug/omap_mux/lcd_data10 | 0x12 |
PWM1B | /sys/kernel/debug/omap_mux/gpmc_a3 | 0x16 |
PWM2A | /sys/kernel/debug/omap_mux/gpmc_ad8 | 0x14 |
PWM2B | /sys/kernel/debug/omap_mux/gpmc_ad9 | 0x14 |
En mode utilisateur, pour configurer la ligne et le multiplexeur, on peut utiliser les commandes suivantes. ID_SYM est un identifiant symbolique de la ligne. Vous pouvez utiliser la page http://192.168.7.2/#(9) pour les obtenir. Le mode est habituellement 27 en entrée et 17 en sortie.
cat /cat /sys/kernel/debug/omap_mux/ID_SYM
– affiche l'état de la ligne (+ multiplexeur)
echo MODE > /cat /sys/kernel/debug/omap_mux/ID_SYM
– affiche l'état de la ligne (+ multiplexeur)