Skip to content

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

  1. 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.
  2. 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).
  3. Description et simulation des architectures matérielles : VHDL
  4. Projet OS
  5. 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.