Projet réalisé en binôme en première année à l’ESIEE Paris, dans le cadre du module IPM. Les programmes pilotent directement les périphériques du Texas Instruments Stellaris LM3S9B92 EvalBot, sans système d’exploitation ni bibliothèque de haut niveau.
Chaque fichier est un exercice autonome avec son propre point d’entrée __main.
| Fichier | Fonction |
|---|---|
allumer-quatre-leds.s |
configuration de PF2 à PF5 et commande des quatre LED |
clignoter-led1.s |
clignotement d’une LED avec une temporisation logicielle |
clignoter-quatre-leds.s |
alternance de deux motifs sur les quatre LED |
commande-led2-switch2.s |
commande d’une LED à partir du bumper PD6 |
commande-leds-switch-bumper.s |
lecture de PD6 et PE0 pour commander deux LED |
moteur-droit-pwm.s |
initialisation et commande PWM du moteur droit |
moteur-gauche-pwm.s |
initialisation et commande PWM du moteur gauche |
commande-deux-moteurs.s |
marche avant/arrière avec deux niveaux de vitesse |
| Élément | Broches ou périphérique |
|---|---|
| Microcontrôleur | LM3S9B92, ARM Cortex-M3 |
| LED | PF2 à PF5 |
| Bumper / switch | PD6 et PE0, entrées actives à l’état bas |
| Moteur droit | PWM0 sur PD0, phase sur PD1 |
| Moteur gauche | PWM2 sur PH0, phase sur PH1 |
| Commandes moteur communes | EN_12V sur PD5, SLOW_DECAY sur PD2 |
- activation des horloges avec
RCGC0etRCGC2; - configuration directe de
GPIODIR,GPIODEN,GPIOPURetGPIOPCTL; - accès masqué à
GPIODATApour modifier certaines broches ; - sélection des fonctions alternatives pour les sorties PWM ;
- réglage de la période et du rapport cyclique avec
LOADetCMPA.
Les sources utilisent la syntaxe assembleur ARM/Thumb de Keil µVision. Pour lancer un exercice :
- créer une cible Keil pour le LM3S9B92 ;
- ajouter un seul fichier
.sà la cible ; - compiler, connecter l’EvalBot et transférer le programme ;
- vérifier le comportement des LED, des entrées ou des moteurs.
Les programmes sont spécifiques au brochage et aux registres du LM3S9B92. Ils ne sont pas portables tels quels vers une autre carte.
Le dépôt conserve uniquement les programmes réalisés pendant le TP. Les squelettes, temporisations et catalogues de registres fournis pendant le cours ne sont pas redistribués.
Les essais ont été réalisés sur le robot pendant les séances. Il n’y a pas de projet Keil complet ni de test automatisé dans ce dépôt.