MICRO-315 / 6 credits

Teacher: Mondada Francesco

Language: French

Retrait: Il n'est pas autorisé de se retirer de cette matière après le délai d'inscription.


Résumé

Ce cours aborde la programmation de systèmes embarqués: la cross-compilation, l'utilisation d'une FPU dans des microcontrôleurs, l'utilisation d'instructions DSP et les mécanismes à disposition dans le cadre d'un Real-time Operating System. Le tout est mis en oeuvre dnas un contexte robotique.

Contenu

 

  • Outils de programmation (assembleur, C) pour systèmes embarqués, étapes de compilation, code généré par un compilateur. Limites de la programmation en C et en assembleur, dépendance du matériel.
  • Contraintes temps-réel, de mémoire ou de puissance de calcul, impact sur la programmation en C par rapport à l'assembleur.
  • Spécificiés d'un processeur DSP, programmation DSP en assembleur
  • Structuration d'application par couches d'abstraction, partage de ressources matérielles, organisation du code.
  • Principes et utilisation d'un Real-Time Operating System.

 

Mots-clés

programmation de systèmes embarqués, cross-compilateur C, programmation DSP, Real-Time Operating System, robotique mobile.

Compétences requises

Cours prérequis obligatoires

Programmation C/C++
Systèmes logiques
Microcontrôleurs

Cours prérequis indicatifs

Blocs 1 et 2

Concepts importants à maîtriser

Systèmes logiques

Concepts de programmation de base (C)

Structure et périphériques d'un microcontrôleur

Acquis de formation

A la fin de ce cours l'étudiant doit être capable de:

  • Optimiser l'écriture de programmes C pour systèmes embarqués
  • Utiliser des outils de compilation croisée
  • Choisir ou sélectionner le language de programmation adapté à une application
  • Développer un programme embarqué
  • Analyser un système embarqué à partir de sa schématique
  • Choisir ou sélectionner entre un processeur standard et un processeur DSP en fonction de l'application visée
  • Concevoir un programme embarqué
  • Structurer une architecture de programme basée sur un RTOS

Compétences transversales

  • Accéder aux sources d'informations appropriées et les évaluer.
  • Ecrire un rapport scientifique ou technique.
  • Faire une présentation orale.
  • Planifier des actions et les mener à bien de façon à faire un usage optimal du temps et des ressources à disposition.
  • Utiliser une méthodologie de travail appropriée, organiser un/son travail.

Méthode d'enseignement

Ex cathedra et pratique (TP et miniprojet)

Travail attendu

Révision par un quiz chaque semaine

Préparation du TP à l'avance

Projet en fin de semestre

Méthode d'évaluation

Un test sur la programmation de systèmes embarqués (40% de la note finale) qui a lieu au milieu du semestre

Un miniprojet de programmation d'un robot (60% de la note finale) dont le rapport est rendu dans les dernipères semaines du semestre selon les dates indiquées en début de semestre par l'enseignant.

Ressources

Liens Moodle

In the programs

  • Semester: Spring
  • Exam form: During the semester (summer session)
  • Subject examined: Embedded Systems and Robotics
  • Lecture: 1 Hour(s) per week x 14 weeks
  • Project: 3 Hour(s) per week x 14 weeks
  • Practical work: 2 Hour(s) per week x 14 weeks
  • Type: mandatory
  • Semester: Spring
  • Exam form: During the semester (summer session)
  • Subject examined: Embedded Systems and Robotics
  • Lecture: 1 Hour(s) per week x 14 weeks
  • Project: 3 Hour(s) per week x 14 weeks
  • Practical work: 2 Hour(s) per week x 14 weeks
  • Type: mandatory
  • Semester: Spring
  • Exam form: During the semester (summer session)
  • Subject examined: Embedded Systems and Robotics
  • Lecture: 1 Hour(s) per week x 14 weeks
  • Project: 3 Hour(s) per week x 14 weeks
  • Practical work: 2 Hour(s) per week x 14 weeks
  • Type: optional

Reference week

Related courses

Results from graphsearch.epfl.ch.