340 | Systemes Temps Reel | Génie physique et systèmes embarqués (formation initiale sous statut étudiant) | S8 | ||||||
---|---|---|---|---|---|---|---|---|---|
Cours : 6 h | TD : 0 h | TP : 24 h | Projet : 0 h | Total : 30 h | |||||
Responsable : Hugo Descoubes |
Pré-requis | |
---|---|
- Bonnes assises en développement de logiciel embarqué sur MCU (Micro Controller Unit) - Bonnes assises en langage C (langage procéduraux, etc) - Bonnes assises en outils de développement logiciel (environnement de programmation, shell UNIX, Makefile, chaîne de compilation, etc) - Bonnes assises en systèmes numériques (systèmes combinatoires et séquentiels, algèbre booléenne, numération, etc) |
|
Objectifs de l'enseignement | |
- Comprendre les services fondamentaux proposés par un système d'exploitation - Comprendre le rôle et travail d'un ordonnanceur au sein d'une application - Comprendre les contraintes liées au développement d'un système dit "temps réel" - Maîtriser l'usage des services et outils logiciel proposé par un exécutif temps réel du marché - Concevoir une application logicielle embarquée "simple" portée sur un RTOS (Real Time Operating System) - Développer et documenter une application logicielle embarquée "simple" portée sur un RTOS - Lire et analyser un cahier des charges et des spécifications techniques |
|
Programme détaillé | |
https://foad.ensicaen.fr/course/view.php?id=118 En cours (fait par un ingénieur extérieur AIR LIQUIDE, avec démonstrations sur produits du marché en biomédical) : - Rappels sur l'architecture et le fonctionnement de base d'un processeur numérique (CPU, SRAM, Flash, IRQ, ISR, etc) - Les services et outils proposés par un système d'exploitation (illustration sur GNULinux) - Définition du concept de temps réel - Rôle du scheduler et stratégies d'ordonnancement d'un OS (Operating System) - Conception et définition d'une architecture logicielle embarquée - Analyse et rédaction de spécifications techniques En TP (développement d'applications de test et portage d'une application bluetooth sur RTOS) : - Stratégies d'ordonnancement (coopératif et préemptif) - Modèle et segmentation logique de la mémoire - Robustesse et durcissement de programme (tests, exceptions, assertions,débordements de segments, etc) - Outils de protection, de communication et de synchronisation (mutex, section critique, séma |
|
Applications (TD ou TP) | |
- Découverte des services logiciel proposés par un RTOS (illustration technique sur FreeRTOS) - Portage d'une application bluetooth baremetal sur FreeRTOS (projet 1A Systèmes Embarqués) Outils matériel et logiciel (TP) : - IDE MPLABX et chaîne de compilation XC32 de Microchip - Carte PIC32MZ EF Starter Kit de Microchip - RTOS FreeRTOS Outils matériel et logiciel (projet) : - Prototype d'enceinte bluetooth ENSICAEN (MCU PIC18) - IDE MPLABX et chaîne de compilation XC8 de Microchip |
|
Compétences acquises | |
COMPETENCES SPECIFIQUES - Comprendre les services fondamentaux proposés par un système d'exploitation - Comprendre le rôle et travail d'un ordonnanceur au sein d'une application - Comprendre les contraintes liées au développement d'un système dit "temps réel" - Maîtriser l'usage des services et outils logiciel proposé par un exécutif temps réel du marché - Concevoir une application logicielle embarquée "simple" portée sur un RTOS (Real Time Operating System) - Développer et documenter une application logicielle embarquée "simple" portée sur un RTOS - Lire et analyser un cahier des charges et des spécifications techniques COMPETENCES GENERIQUES Bloc de compétences : Considération de la dimension organisationnelle, personnelle et culturelle -> Niveau 1 : Se connaître, savoir se situer, s'autoévaluer, gérer ses compétences et opérer ses choix professionnels Bloc de compétences : Acquisition de connaissances et méthodes scientifiques et techniques et maîtrise de leur mise en oeuvre -> Niveau 2 : Capacité à mobiliser des connaissances scientifiques et des techniques expérimentales ou de simulation -> Niveau 2 : Capacité à concevoir des systèmes innovants, à les concrétiser et à les tester -> Niveau 2 : Capacité à trouver, évaluer une information pertinente puis à l'exploiter, capacité s'auto-évaluer, enrichir ses connaissances et compétences Bloc de compétences : Acquisition, développement et mise en œuvre de connaissances et méthodes théoriques et expérimentales spécifiques à un domaine professionnel -> Niveau 2 : Capacité à concevoir des systèmes électroniques communicants et autonomes implémentant une algorithmique et une architecture avancée |
|
Bibliographie | |
SYSTEMES D'EXPLOITATION : Modern Operating Systems - Tanenbaun TECHNOLOGIES : sites fondeurs et open sources, forums et documentations techniques (www.freertos.org, https://www.microchip.com/, etc) |
© 2025 - ENSICAEN ( Mentions Légales - Crédits )