SE203 : Outils, langages et pratique des systèmes à microprocesseurs

Descriptif de l'UE

Cette UE a pour objectifs de

  • vous apprendre à programmer un microprocesseur / microcontrôleur, au plus bas niveau
  • vous apprendre comment sont construits les exécutables, à l'octet près, et leur cycle de vie
  • vous enseigner de bonnes pratiques de programmation.

Elle se décompose en deux parties principales :

  • une partie théorique comprenant :
    • l'architecture des systèmes à processeur et le vocabulaire de base
    • l'utilisation de make et des Makefile
    • l'apprentissage de l'assembleur ARM
    • des rappels et approfondissements rigoureux de C
    • des bases de compilation,
    • la génération de code et la cross-compilation,
    • l'architecture et la vie des exécutables, avec un approfondissement du format ELF
  • une partie pratique, utilisant une maquette basée sur un Cortex-M0, où vous programmerez la carte nue (sans OS, sans bilbiothèque C, sans rien...)

À l'issue de cette UE, vous serez en mesure de programmer des coeurs de processeur ARM et des périphériques simples, en C ou en assembleur. Vous saurez aussi décortiquer un exécutable, vérifier qu'il est correctement construit, et pouvoir expliquer la signification de n'importe lequel de ses octets.
Vous aurez aussi acquis des réflexes et de bonnes pratiques de programmation (utilisation des makefile, de git, écriture de C parfaitement propre, etc.).

Cette UE nécessite un certain investissement, et surtout une interaction très forte avec l'équipe encadrante.