IEM

Informatique embarquée

Connaissances préalables recommandées :


L’étudiant doit connaître et savoir utiliser les notions suivantes :
  • programmation en C : pointeurs, fonctions, arguments par valeur/référence, gestion mémoire (statique/dynamique).
  • programmation temps réel : notion d'exécutif, threads, gestion du temps et des interruptions, objets de synchronisation/communication inter-tâche, priorités.
  • architecture des systèmes à processeur : schéma bloc, bus, mémoire, timer et notion d'interruption.
Les unités d'enseignement INF2 (informatique), PTR (programmation temps réel) et ASP (architecture des systèmes à processeur) permettent d'acquérir ces connaissances.

 

Objectifs :


A l'issue de cette unité d'enseignement, l'étudiant-e sera capable de :
  • expliquer l'architecture-bloc d'un microcontrôleur 32 bits (ARM9) et des contrôleurs périphériques embarqués.
  • expliquer le fonctionnement général et le modèle de programmation d'un microcontrôleur de type ARM9.
  • expliquer le jeu d'instructions et les modes d'adressage d'un microcontrôleur de type ARM9.
  • traduire en langage d'assemblage un programme écrit en pseudo-langage structuré.
  • écrire et utiliser à bon escient des sous-programmes utilisant les passages de paramètres par registre, par mémoire et par pile.
  • écrire et utiliser à bon escient des macro-instructions.
  • développer et mettre au point une application sur une machine hôte pour un système embarqué (machine cible).
  • d'une manière générale, programmer une application en C et en assembleur destinée à un système embarqué muni d'un microcontrôleur 32 bits.
  • reconnaître différents types de périphériques et être capable de les interfacer avec le processeur.
A l'issue des travaux pratiques en laboratoire, principalement destinés à l’assimilation des connaissances et à
l’acquisition d’expérience dans la mise en oeuvre de systèmes à microcontrôleur, l’étudiant-e sera en outre capable de :
  • concevoir et mettre au point une application d'un microcontrôleur, en langage d'assemblage et en langage C.
  • utiliser des outils de développement sur microcontrôleur.
  • utiliser une chaîne d'outils pour le développement croisé.