Logo ÉTS
Session
Cours
Responsable(s) Abdelouahed Gherbi

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement





Cours

1. Introduction (3 heures[1])

  • Présentation générale du cours
  • Définition des concepts de base
  • Exemples de systèmes ordinés en temps réel
  • Notion du temps dans les systèmes informatiques.

2. Organisation des ordinateurs : La vision des programmeurs (3 heures)

  • Revue des composantes matérielles et leurs caractéristiques
  • Interfaces internes et externes
  • Jeux d’instructions et temps d’exécution

3. Méthodologies de développement logiciel (6 heures)

  • Cycles de développement d’un projet informatique
  • Modélisation des besoins
  • Spécification des contraintes temporelles
  • Méthodologies de spécification et de conception des systèmes ordinés en temps réel (notamment SysML et AADL)

4. Langages de programmation pour le temps réel (6 heures)

  • Revue des éléments du langage C et de leur impact sur la performance d’un système
  • Introduction au langage assembleur
  • Techniques de programmation des périphériques
  • Optimisation du code

5. Analyse de performance (3 heures)

  • Aspects matériels et logiciels du traitement des interruptions
  • Méthodes de traitements des interruptions
  • Calcul du temps de réponse

6. Étude des systèmes d’exploitation pour le temps réel (6 heures)

  • Systèmes avec et sans interruptions
  • Éléments fondamentaux des systèmes multitâches
  • Services et configuration du noyau

7. Ordonnancement (6 heures)

  • Méthodes pour l’ordonnancement de tâches indépendantes et dépendantes.
  • Calcul du temps d’exécution
  • Problème d’inter blocage et solutions possibles

8. Communication inter-tâches et synchronisation (6 heures)

  • Tampons de données
  • Messages, sémaphores, queues, drapeaux et signaux

 


[1] Ces heures sont des heures approximatives d’enseignements pour chaque sujet et incluent le temps alloué à l’examen intra-trimestriel.

 

Laboratoires et travaux pratiques

Les étudiants utilisent un environnement de développement en assembleur et en langage C. Ils utilisent aussi un environnement de compilation croisée C (STM32CubeIDE) pour les microcontrôleurs STM32.

 

Travaux pratiques

Les étudiants ont à réaliser un oscilloscope numérique et un analyseur spectral en temps réel en utilisant la carte B-L4S5I-IOT01A à un microcontrôleur STM32 (STM32L4S5VIT6). Un ordinateur PC est utilisé pour le traitement et l’affichage des données.

Le projet comporte deux (2) parties :

  1. Développement de l’application d’acquisition de données à taux constant sur le microcontrôleur.
  2. Implantation d’un noyau en temps réel multitâches sur le microcontrôleur, et adaptation de l’application d’acquisition.

Utilisation d'outils d'ingénierie

  • Carte de développement B-L4S5I-IOT01A avec le microcontrôleur STM32L4S5VIT6 basé sur un coeur ARM Cortex-M4 avec 2 Mbytes de mémoire Flash et 640 Kbytes de RAM.
  • Noyau en temps réel FreeRTOS
  • Environnement de développement STM32CubeIDE
  • Langage de programmation C et langage d'assemblage