|
École de technologie supérieure
|
Responsable(s) de cours :
|
Bruno De Kelper
|
PLAN DE COURS
Automne 2023
ELE674 : Systèmes embarqués avancés (3 crédits)
Préalables
Programme(s) : 7483,7694,7883 | | | | | | | | | Profils(s) : Tous profils | | | | | | | | | | | ELE543 | | | | | | | | | | |
|
Unités d'agrément
Total d'unités d'agrément : 58,8
|
Qualités de l'ingénieur
|
Qualité visée dans ce cours |
|
|
|
Qualité visée dans un autre cours |
|
|
|
Indicateur enseigné |
|
|
Indicateur évalué |
|
|
Indicateur enseigné et évalué |
Descriptif du cours
À la fin de ce cours, l’étudiante ou l'étudiant sera en mesure :
• d’identifier les différents types de microcontrôleurs et leur domaine d’application;
• d’utiliser des systèmes d’opération modernes et en temps réel sur les plateformes embarquées;
• de développer un cahier de charges et de définir les spécifications techniques d’un système;
• d’utiliser la méthodologie de design, de conception et de validation d’un système embarqué;
• de concevoir un banc de test pour l’analyse des performances d’un système en temps réel;
• d’utiliser des calculateurs embarqués en mode collaboratif.
Familles de microcontrôleurs, leurs avantages et inconvénients, ainsi que leurs principaux domaines d’application. Utilisation, implémentation et extensibilité des RTOS modernes utilisés dans les systèmes embarqués, tels que QNX et Embedded-Linux. Analyse des requis et mise au point des spécifications. Principes de validation, vérification et analyse formelle. Robustification par la tolérance aux fautes ainsi que le recouvrement et l’évitement de fautes. Principes d’autodiagnostic, d’auto-correction et programmation défensive. Traitement collaboratif (microprocesseur, FPGA, DSP, etc.).
Séances de laboratoire organisées autour d’un projet intégrateur où l’étudiante ou l'étudiant applique les principes de conception d’un système embarqué collaboratif, basé sur le système d’exploitation en temps réel Embedded –Linux ou QNX.
Objectifs du cours
À la fin de ce cours, l’étudiant(e) sera capable de :
- Comprendre et de mettre au point la chaine d’amorçage du système.
- Comprendre et utiliser un système d’exploitation moderne dans un contexte temps-réel.
- Mettre au point un banc de développement et de test pour un système embarqué.
- Évaluer, mesurer et améliorer la fiabilité et la robustesse d’un système embarqué.
- Choisir, concevoir et implémenter les techniques de tolérance aux fautes.
- Comprendre et implémenter des techniques d’auto-détection et d’autocorrection.
Stratégies pédagogiques
- Un cours magistral par semaine.
- Laboratoires : douze (12) séances de deux (2) heures
Utilisation d’appareils électroniques
- ARDrone 2 équipé d'un Beaglebone Blue
Horaire
Groupe | Jour | Heure | Activité |
01 | Jeudi | 13:30 - 17:00 | Activité de cours |
| Vendredi | 13:30 - 15:30 | Laboratoire (Groupe A) |
| Vendredi | 15:30 - 17:30 | Laboratoire (Groupe B) |
Coordonnées du personnel enseignant le cours
Cours
Date |
Contenus traités dans le cours |
Heures |
|
1. Introduction
- Anatomie d’un système embarqué moderne
- Architecture informatique du système
- Chaîne d’amorçage et processus de démarrage du système
- Concepts de base du « chargeur d’amorçage » (BootLoader)
- Considérations sur le Noyau
- Interpréteur de commandes de base BusyBox
- Système de fichier de base (RootFS).
|
6 heures |
|
2. Outils de développement et de mise au point
- Outils de conception du système :
- Émulation avec QEMU
- Conception d’un système complet avec BuildRoot
- Compilation croisée et « chaîne d’outils » (ToolChain)
- Environnements modernes de développement de systèmes embarqués
- Outils de déverminage, de vérification et de profilage (GDB, GCov, Valgrind, …)
- Techniques de déverminage et de vérification.
|
6 heures |
|
3. Développement d’applications embarquées
- Caractéristiques « temps-réel » du système d’exploitation Linux
- Gérer le matériel et ornières matérielles
- Programmation défensive
- Gestion du flot d’activités
- Faire plus avec moins : développement à ressources limitées
- Réduire la consommation en puissance.
|
15 heures |
|
4. Fiabilité, robustesse et tolérance aux fautes
- Classification des fautes, types de redondances et mesures de base
- Fautes matérielles :
- Taux de fautes, fiabilité et MTF
- Structures canoniques et résilientes
- Techniques de tolérance aux fautes
- Fautes byzantines
- Redondance de données
- Modèle de fiabilité et tolérance logicielle :
- Tests d’acceptation
- Tolérance à version unique et programmation en N-versions
- Approche par blocs de recouvrement
- Préconditions, post-conditions et assertions
|
12 heures |
|
Total |
39 |
Laboratoires et travaux pratiques
Date |
Description |
Heures |
|
Le laboratoire consiste à faire la conception d’un système embarqué robuste basé sur un système d’exploitation moderne. Plus spécifiquement, il s’agit dans un premier temps de monter les composantes du système pour un quadri-rotor AR-Drone de Parrot. Cet appareil est basé sur la carte de développement Beagelbone Blue et sur le système d’exploitation Linux. Suivit de la mise au point du microprogramme qui contrôle les composantes du drone (capteurs, moteurs, …) et sa communication avec la station au sol. Le tout se terminant par l’ajout des mécanismes logiciels requis pour assurer un fonctionnement robuste et tolérant aux fautes. Au travers de ce développement, le laboratoire vise aussi à se familiariser avec des outils de développement modernes, les principes de programmation défensive et la méthodologie de conception d’un système embarqué moderne. |
24 heures |
|
Total |
24 heures |
Utilisation d'outils d'ingénierie
- ARDrone 2.0 de Parrot
- Beaglebone Blue.
Évaluation
Activité
|
Description
|
%
|
Datede remise
|
|
Examen mi-session
|
25 %
|
02 novembre 2023
|
|
Examen final
|
25 %
|
|
|
Projet
|
50 %
|
|
Dates des examens intra
Groupe(s) | Date |
1 | 2 novembre 2023 |
Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : https://www.etsmtl.ca/programmes-et-formations/horaire-des-examens-finaux
Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.
Dispositions additionnelles
Pénalité de 5 % par jour de retard.
Absence à un examen
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen entraînera l’attribution de la note zéro (0).
Documentation obligatoire
Documentation recommandée
- Hallinan, C., Embedded Linux Primer – A Practical Real-World Approach, 2nd Edition, Prentice Hall, 2011.
- Yaghmour, K., Masters, J., Ben-Yossef G., Gerum, P., Building Embedded Linux Systems, 2nd Edition, O’Reilly Media, 2008.
- Koren, I., Mani Krishna, C., Fault-Tolerant Systems, Elsevier, 2007.
Ouvrages de références
- Sally, G., Pro Linux Embedded Systems, Springer-Verlag, 2010.
- White, E., Making Embedded Systems, O’Reilly Media, 2012.
- Corbet, J., Rubini, A., Kroah-Hartman, G., Linux Device Drivers, 3rd Edition, O’Reilly Media, 2005.
- Love, R., Linux Kernel Development, 2nd Edition, Novell Press, 2005.