135-2 | Systeme temps-reel | Génie physique et systèmes embarqués (formation initiale sous statut apprenti) | S8 | ||||||
---|---|---|---|---|---|---|---|---|---|
Cours : 5 h | TD : 0 h | TP : 15 h | Projet : 0 h | Total : 20 h | |||||
Responsable : Dimitri Boudier |
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 | |
COMPÉTENCES GÉNÉRIQUES Considération de la dimension organisationnelle, personnelle et culturelle * Capacité à enteprendre et à innover Adaptation aux exigences propres de l'entreprise et de la société * Aptitude à prendre en compte les enjeux de l'entreprise: dimension économique, respect de la qualité, compétitivité et productivité, intelligence économique Acquisition des connaissances scientifiques et techniques et la maitrise de leur mise en œuvre * Aptitude à mobiliser les ressources d'un champ scientifique et technique spécifique * La maîtrise des méthodes et des outils d'ingénieurs: identification, modélisation, résolution de problèmes, utilisation des approches numériques et outils informatiques, pratique du travail collaboratif et à distance * Capacité à concevoir, concrétiser, tester et valider des solutions, des méthodes, des produits, des systèmes innovants * Capacité à effectuer des activités de recherche, fondamentale ou appliquée, à mettre en place des dispositifs expérientaux * Capacité à trouver l'information pertinente, à l'évaluer et à l'exploiter COMPÉTENCES SPÉCIFIQUES - 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 |
|
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) |
© 2024 - ENSICAEN ( Mentions Légales - Crédits )