Systèmes embarqués numériques (07_X-SEN)
- Coefficient : 5.0
- Volume Horaire: 126h estimées de travail (dont 84h EdT)
- CTD : 10.5h encadrées
- Labo : 61.5h encadrées (et 12h de séances d'études dirigées)
- Travail personnel hors EdT : 42h
- Dont projet : 43h encadrées et 54h projet personnel
Liste des AATs
Description
- Principe des systèmes d’exploitation
- éléments d’architecture,
- synchronisation,
- gestion de la mémoire : pagination, adressage virtuel,
- pilotes de périphériques,
- systèmes de fichiers.
- Architecture des cibles matérielles
- microprocesseur pipeline, superscalaire, multicoeurs, GPU
- caches d’instructions et de données,
- protocoles d’accès aux circuits mémoires SRAM/SDRAM,
- gestion de la mémoire : MMU
- périphériques de stockage : mémoires Flash NOR/NAND,
- protocoles de bus (JTAG, USB).
- Description et simulation des architectures matérielles : VHDL
- Projet OS
- Projet Robot
SEN I
L'objectif du cours est de faire comprendre les principes d'un système d'exploitation.
Les étudiants acquerrons des connaissances sur
- le principe de fonctionnement d'un système d'exploitation (tâche, synchronisation)
A l'issue du cours les étudiants seront capables de
- de découper une application microcontrôleur en tâches,
- d'ajouter les éléments de synchronisation pour permettre le dialogue entre les tâches,
- mettre en œuvre FreeRTOS sur une carte embarquée.
Cette partie s'appuie sur la réalisation d'un système d'exploitation pour architecture ARMv7/8-m, et d'un projet visant la mise en œuvre d'un robot mobile.
SEN II (avancé)
L'objectif du cours est d'initier les étudiants aux éléments matériels destinés à améliorer la sécurité de fonctionnement des systèmes embarqués, ainsi qu'à la mise en place de solutions IOT.
Les étudiants acquerront des connaissances sur
- l'implémentation de la trustzone de l'architecture ARMv8-m
- les bootloaders sécurisés
- l'implémentation de la protection mémoire par MPU / l'implémentation de mémoire virtuelle par MMU
- les protocoles de communication BlueTooth/Lora
A l'issue du cours, les étudiants auront expérimenté
- la trustzone et la mise en place d'un système de mise à jour sécurisé sur une architecture ARMv8-m,
- la mise en place d'une protection mémoire par MMU ou MPU
- la mise en place une solution IOT et l'utilisation des piles BlueTooth ou Lora
Acquis d'Apprentissage visés (AAv)
AAv1 [heures: 27, D1, D3, D4] : A l'issue du semestre 7, l'étudiant sera capable d'expliquer, lors d'un entretien oral, à l'aide du code développé dans un cadre guidé, pour une architecture ARM Cortex-M, le principe de fonctionnement d'un appel système, de la commutation de tâche, du bloquage de tâches par sémaphore, et de l'utilisation des sémaphores pour réaliser la synchronisation des tâches avec les périphériques matériels.
AAv2 [heures: 9, D2, D3, D4] : A l'issue du semestre 7, l'étudiant sera capable d'écrire un driver pour un système d'exploitation simple pour permettre à une tâche de communiquer de manière optimale avec un périphérique de son choix et de démontrer son bon fonctionnement à l'aide d'un programme de test qu'il aura écrit.
AAv3 [heures: 30, B1, B2, B3, C1, C2,C3, D2, D3, D4, E3] : A l'issue du semestre 7, l'étudiant sera capable de concevoir une application sur microcontrôleur STM32 dans laquelle l'ensemble du travail à réaliser a été découpé en plusieurs tâches, en respectant un cahier des charges et de rajouter les éléments de synchronisation nécéssaires à l'échanges des données entre tâches et avec les périphériques. Il sera capable de programmer sa solution en utilisant les primitives de FreeRTOS.
AAv4 [heures: 30, C3, C4, D2, D3, D4, E3] : A l'issue du semestre 9, l'étudiant sera capable de structurer un projet embarqué de manière à assurer une sécurité de fonctionnement optimale.
AAv5 [heures: 30, C3, C4, D2, D3, D4, E3] : A l'issue du semestre 7, l'étudiant sera capable de déployer une solution de communication sécurisée pour transmettre et exploiter des données provenant de capteurs dans le cloud.
Modalités d'évaluation
Moyenne réalisée sur les évaluations par compétences des labos/projets.
Mots clés
système d’exploitation, microprocesseur, ARM, pipeline, mémoire, SDRAM, flash, fichier, langage C, capteurs, asservissements, sécurité, trustzone, IOT
Pré-requis
Principe des microprocesseurs, interruptions, coupleurs périphériques élémentaires, Langage C et assembleur ARM.
Ressources
Polycopiés de cours/TD/TP
Systèmes d’exploitation - A. S. Tannenbaum
Computer Architecture, a quantitative approach - J.L Hennessy, D. A. Patterson
Real-Time Operating Systems for ARM Cortex-M Microcontrollers (Embedded Systems) - Jonathan W Valvano.