Systèmes embarqués temps réel

GIF-3004, Hiver 2020

Synopsis : Ce cours porte sur l’analyse et la conception de systèmes embarqués avec systèmes d’exploitation standards et temps réel. Il présente le rôle des systèmes d’exploitation dans les systèmes embarqués pour la gestion de l’exécution des programmes, l’encapsulation du matériel, et l’offre de primitives et de services logiciels. Le cours porte également sur les notions conceptuelles et pratiques de systèmes temps réel. Les notions conceptuelles sont mises en pratiques, par le développement d’applications logicielles pour systèmes embarqués avec systèmes d’exploitation. Les travaux sont réalisés en langage de programmation C sur une plateforme matérielle ARM et des systèmes d’exploitation ouverts.


Logistique

Horaire et locaux

  • Cours en classe : mardi de 13h30 à 15h20, local PLT-2765, du 14 janvier au 14 avril 2020.
  • Ateliers dirigés : vendredi de 9h30 à 11h20, local PLT-0105, du 17 janvier au 1er mai 2020.

  • Mise à jour suite au pasage à la formule à distance : séance de questions par visioconférence le mardi à 13h30 et le vendredi à 9h30.

Professeur

Christian Gagné

Disponibilités

Disponibilités pour le cours le lundi de 11h30 à 12h30 au local PLT-1138-F, du 20 janvier au 27 avril 2020 (excepté 2 mars et 13 avril).

Algorithme :

  1. De préférence, venez lors des heures de disponibilités annoncées;
  2. Sinon, tenter votre chance avec l’algorithme suivant :
    1. Lorsque ma porte est ouverte, vous n’avez qu’à frapper avant d’entrer!
    2. Si ma porte est fermée, c’est soit que je ne suis pas là, soit que je suis très occupé. Vous pouvez me déranger si cela ne peut pas attendre;
    3. Si la lumière est éteinte, c’est que je ne suis pas à l’université;
    4. L’heure qui précède un cours n’est jamais le bon moment pour venir me voir.
  3. Sinon, prendre rendez-vous par courriel.

Chronologie et présentations

Sem. Dates Cours mardi 13h30-15h20 (PLT-2765) Ateliers vendredi 9h30-11h30 (PLT-0105) Laboratoires
1 13-17 janvier Présentation du cours
Introduction aux systèmes embarquées temps réel
Développement sur RPi Énoncé labo 1
2 20-24 janvier Systèmes d’exploitation et programmation concourante UNIX et ligne de commande
Évaluation labo 1
3 27-31 janvier Systèmes d’exploitation et programmation concourante Labo 2 : système de fichiers
Évaluation labo 1
Énoncé labo 2
4 3-7 février Programmes temps réel Programmation système en C
5 10-14 février Programmes temps réel
6 17-21 février Entrées/sorties et gestion de la mémoire avec temps réel Labo 3 : multiplexeur de vidéos temps réel
Évaluation labo 2
Énoncé labo 3
7 24-28 février Examen partiel au local PLT-3775 Labo 3 : implémentation et détails techniques
8 2-6 mars Semaine de lecture
9 9-13 mars Noyau Linux
10 16-20 mars Développement de pilotes dans Linux Labo 4 : pilote de périphérique Énoncé labo 4
11 23-27 mars Communication et synchronisation Énoncé labo 5
12 30 mars - 3 avril Systèmes parallèles Évaluation labo 3
13 6-10 avril Théorie des files d’attente Congé (Vendredi saint) Proposition labo 5
14 13-17 avril Fiabilité et tolérance aux fautes
15 20-24 avril Examen final dans monPortail Évaluation labo 4
16 27 avril - 1er mai Évaluation labo 5

Laboratoires

Le cours comporte cinq laboratoires. La plateforme utilisée est Raspberry Pi Zero W avec système d’exploitation Linux, programmé en C. L’ensemble Raspberry Pi Zero W du cours est en vente au magasin du service technique du département de génie électrique et de génie informatique (PLT-3112) au coût de 57 $.

Laboratoire Remise code source
Labo 1 : environnement de développement    Pas de remise
Labo 2 : système de fichiers Vendredi, 21 février, 9h30
Labo 3 : multiplexeur de vidéos temps réel Lundi 30 mars, midi
Labo 4 : pilote de périphérique Vendredi, 24 avril, midi
Labo 5 : projet Vendredi, 1er mai, midi

Examens

Examens partiels

Examens finaux


Références