Topic outline

  • str 2018



    Durant cet enseignement nous allons nous intéresser aux systèmes temps réel, notamment à travers l'utilisation de systèmes d'exploitation. Un système embarqué (ensemble du système électronique et du logiciel de supervision) dit temps réel doit garantir un déterminisme à l'exécution pour certains traitements  (ex : assistance au freinage, toute application embarquant un asservissement automatique, etc), tout en garantissant le bon fonctionnement du reste de l'applicatif dont certaines latences peuvent être tolérées (ex : communications réseaux IP, IHM, etc). Un système temps réel peut être réalisé avec ou sans OS (operating system). Néanmoins, l'emport d'un RTOS (Real Time OS) permet de garantir une meilleure évolutivité et modularité d'un programme tout en simplifiant grandement le partage du temps CPU entre les tâches de l'applicatif. Dans un premier temps, les concepts et outils de base de tout système d'exploitation seront découverts avant de s'intéresser aux services spécifiques proposer par des exécutifs temps réel.

    Le système utilisé pour une mise en application des concepts présentés sera FreeRTOS (Free Real Time Operating System, http://www.freertos.org/), un RTOS ou ordonnanceur temps réel libre et open source sous licence MIT. La trame de travaux pratiques sera réalisée sur MCU 32bits PIC32 proposé par Microchip. 


    PROGRAMME


    1. MODE COOPERATIF

    1.1. Interface de communication
    1.2. Mode coopératif
    1.3. État bloqué
    1.4. Tâche idle


    2. MODE PREEMPTIF ET GESTION MEMOIRE

    2.1. Mode préemptif
    2.2. Gestion mémoire


    3. QUEUE DE MESSAGE ET SEMAPHORE

    3.1. Queue de Message
    3.2. Timeout
    3.3. Section critique
    3.4. Sémaphore
    3.5. Bibliothèque UART avec appels système


    ÉVALUATIONS


    • Évaluation sur table (1h30)
    • Évaluation de TP (2h en monôme)