Microprocesseurs (05_XCMIP)
- Coefficient : 4
- Volume Horaire: 70.5h estimées de travail (dont 52.5h EdT)
- CTD : 27h encadrées (et 4.5h de séances d'études dirigées)
- Labo : 18h encadrées (et 3h de séances d'études dirigées)
- Travail personnel hors EdT : 18h
Liste des AATs
Description
- Fonctionnement de base des systèmes à microprocesseurs — Codage numérique des informations ; — principe de fonctionnement des microprocesseurs, architecture de Von Neuman/Harvard, modes d’adressage.
- Programmation des microprocesseurs : cas du Cortex-M4 — Famille de processeurs ARM Cortex-M ; — jeu d’instruction ; — mise en œuvre d’une plateforme de développement croisé (assembleur/C) : compilation, édition de lien, débogage.
- Accès aux périphériques.
Acquis d'Apprentissage visés (AAv)
AAv1 [heures: 36, D1, D2, D3, D4] : L'étudiant du cours de microprocesseurs, à l'issue du semestre, saura développer d'abord le modèle d'un microprocesseur élémentaire, en langage vhdl, puis un programme, dans le langage assembleur de ce microprocesseur,dont l'architecture globale aura été préalablement expliquée et fournie sous la forme d'un ensemble de blocs fonctionnels interconnectés, à modéliser chacun en VHDL, et à laquelle est associé un simulateur d'instructions assembleur, fourni et expliqué, puis vérifiera, par simulation de l'architecture pour certains cycles d'exécution pertinents du programme assembleur développé, que le contenu des registres et de la mémoire est conforme aux valeurs attendues.
AAv2 [heures: 30, D1, D2, D3, D4] : L'étudiant du cours de microprocesseurs, à l'issue du semestre, saura composer et tester un programme, écrit en langage assembleur ARM seul ou mixant langage assembleur et langage C, en utilisant des outils de développement, pour la compilation et la visualisation des registres et du contenu de la mémoire, en respectant le standard AAPCS, afin d’exécuter un programme de calcul ou de traitement de chaînes de caractères sur un microcontrôleur STM32.
AAv3 [heures: 33, D1, D2, D3, D4] : L'étudiant du cours de microprocesseurs, à l'issue du semestre, saura faire interagir un microcrontrôleur STM32 avec des leds, des boutons poussoirs et un signal de demande d'interruption extérieur au microcontrôleur en mettant en œuvre le périphérique GPIO du microcontrôleur, d'abord par utilisation directe de ses registres puis par utilisation d'une API de gestion des GPIO à développer en langage C, à l'exception de la fonction d'initialisation fournie, afin de piloter des leds, de récupérer l’état de boutons poussoirs et d’interrompre le programme en cours pour exécuter la routine de service de l'interruption associée à la demande extérieure.
Mots clés
Microprocesseur, mémoire, jeu d’instructions, ARM, langage machine, assembleur, langage C, boucle, test, pile, fonction, développement croisé, code objet, simulateur, débogueur.
Pré-requis
Algèbre de Boole, circuits logiques combinatoires et séquentiels.
Ressources
Ressources :
- matérielles/logicielles : cartes NUCLEO-STM32F411, chaîne de développement gcc
- moodle : polycopiés de cours/TD/TP, documentation constructeur ARM et ST Livres :
- The Designer’s Guide to the Cortex-M Processor Family de Trevor Martin (2016)
- The Definitive Guide to ARM R CortexR-M3 and CortexR-M4 Processors de Joseph Yiu (2013)