Logo ÉTS
Session
Cours
Responsable(s) Bruno De Kelper

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement





Cours

Date Contenus traités dans le cours Heures
  1.      Introduction
  • Anatomie d’un système embarqué moderne
  • Architecture informatique du système
  • Chaîne d’amorçage et processus de démarrage du  système
  • Concepts de base du « chargeur d’amorçage » (BootLoader)
  • Considérations sur le Noyau
  • Interpréteur de commandes de base BusyBox
  • Système de fichier de base (RootFS).
6 heures
  2. Outils de développement et de mise au point                          
  • Outils de conception du système :
    • Émulation avec QEMU
    • Conception d’un système complet avec BuildRoot
    • Compilation croisée et « chaîne d’outils » (ToolChain)
    • Environnements modernes de développement de systèmes embarqués
    • Outils de déverminage, de vérification et de profilage (GDB, GCov, Valgrind, …)
    • Techniques de déverminage et de vérification.
6 heures
  3. Développement d’applications embarquées                                      
  • Caractéristiques « temps-réel » du système d’exploitation Linux
  • Gérer le matériel et ornières matérielles
  • Programmation défensive
  • Gestion du flot d’activités
  • Faire plus avec moins : développement à ressources limitées
  • Réduire la consommation en puissance.
15 heures
  4. Fiabilité, robustesse et tolérance aux fautes
  • Classification des fautes, types de redondances et mesures de base
  • Fautes matérielles :
    • Taux de fautes, fiabilité et MTF
    • Structures canoniques et résilientes
    • Techniques de tolérance aux fautes
    • Fautes byzantines
    • Redondance de données
  • Modèle de fiabilité et tolérance logicielle :
    • Tests d’acceptation
    • Tolérance à version unique et programmation en N-versions
    • Approche par blocs de recouvrement
    • Préconditions, post-conditions et assertions
12 heures
  Total 39
 

Laboratoires et travaux pratiques

Date Description Heures
  Le laboratoire consiste à faire la conception d’un système embarqué robuste basé sur un système d’exploitation moderne. Plus spécifiquement, il s’agit dans un premier temps de monter les composantes du système pour un quadri-rotor AR-Drone de Parrot. Cet appareil est basé sur la carte de développement Beagelbone Blue et sur le système d’exploitation Linux. Suivit de la mise au point du microprogramme qui contrôle les composantes du drone (capteurs, moteurs, …) et sa communication avec la station au sol. Le tout se terminant par l’ajout des mécanismes logiciels requis pour assurer un fonctionnement robuste et tolérant aux fautes.   Au travers de ce développement, le laboratoire vise aussi à se familiariser avec des outils de développement modernes, les principes de programmation défensive et la méthodologie de conception d’un système embarqué moderne.   24 heures
  Total 24 heures

Utilisation d'outils d'ingénierie

  • ARDrone 2.0 de Parrot
  • Beaglebone Blue.