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.
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.
Christian Gagné
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 :
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 |
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 |