Objectifs du cours
Info
Ce cours fait parti du module Systèmes numériques avancés de l’orientation Réseaux et Sécurité (RS)
Objectifs
Les objectifs du cours sont l’apprentissage des concepts et outils nécessaires à la création de systèmes embarqués. Le cours couvre en particulier les systèmes “Cortex-M4”, la programmation en C++, l’utilisation d’un système d’exploitation temps réel et la mise en œuvre des bonnes pratiques.
À la fin du cours, l’étudiant:
- Saura concevoir et réaliser un système embarqué selon les bonnes pratiques du développement embarqué, en particulier pour le traitement multitâches et des interruptions.
- Saura concevoir et réaliser une application multitâches permettant de collecter des données et de les transmettre sur une infrastructure cloud.
- Connaîtra les principaux protocoles de communication utilisés dans le contexte des systèmes embarqués
- Saura concevoir et réaliser une application mettant en œuvre un ou plusieurs protocoles de communication.
- Aura mis en œuvre une méthodologie de développement et de test suivant les bonnes pratiques du CI/CD.
Contenu
- Microcontrôleurs et périphériques :
- Éléments fondamentaux permettant la compréhension et la mise en œuvre d’un système embarqué.
- Modèles de programmation :
- Super-loop
- Bases de l’ordonnancement pour systèmes embarqués
- Systèmes d’exploitation Temps-Réel
- Technologies de communication :
- LoRa
- WiFi
- Protocoles IP adaptés aux systèmes embarqués (HTTP, MQTT).
- Méthodologies de tests et de déploiement (CI/CD).
Modalités d’évaluation
- Contrôle continu: travaux écrits, TP/évaluation de rapports
- Examen: oral (15 min.)
Mode de calcul de la note de cours
La note du cours prend en compte les notes des travaux écrits, des travaux pratiques et la note de l’examen oral.
Bonus / Malus
Un TP qui répond aux attentes obtient un bonus de 0.1.
Pour augmenter le bonus, vous pouvez :
- Faire des recherches supplémentaires et les documenter dans votre rapport de TP
- Ajouter des fonctionnalités supplémentaires à votre projet de TP
Les points suivants entraîneront un malus :
- Un rendu en retard
- Un rapport trop court ou incomplet
- Un rapport avec trop de fautes d’orthographe, de grammaire, ou de style
- Un rapport qui ne respecte pas les consignes de rédaction
- Un projet de TP qui ne répond pas aux attentes de base
- L’absence de tests unitaires
- Le non-respect des 10 commandements
- Une mauvaise utilisation de Git/Gitlab (messages de commit peu clairs, absence de tag, absence de branches, absence de merge request, etc.)
- Un pipeline de CI/CD non fonctionnel
- Un
README.mdvide ou peu informatif - Une release Gitlab incomplète ou qui ne contient pas les fichiers demandés (avec les bons noms)