Logo ÉTS
Session
Cours
Responsable(s) Abdelouahed Gherbi

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement





Cours

1. Introduction (3 heures[1])

  • 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 d’Intel et des microprocesseurs AVR
  • Techniques de programmation des périphériques
  • Optimisation du code

5. Analyse de performance (6 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 (3 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 pour le microcontrôleur AVR de la compagnie Atmel.

 

 NOTE : Si vous éprouvez des difficultés techniques avec le matériel des laboratoires du département, s.v.p. communiquez le problème au chargé du laboratoire (vigninou-horace.gandji.1@ens.etsmtl.ca) ou à support-logti@etsmtl.ca.

 

Travaux pratiques

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

Le projet comporte trois (3) parties :

  1. Développement de l’application d’acquisition de données à taux constant sur le microcontrôleur. (12 heures)
  2. Implantation d’un noyau en temps réel multitâches sur le microcontrôleur, et adaptation de l’application d’acquisition.
    (8 heures)
  3. Optimisation et analyse des performances en temps réel de l’application sur microcontrôleur. (4 heures)

Utilisation d'outils d'ingénierie

  • Carte de développement EVK1100 avec le microcontrôleur ATMel AVR32 UC3A0512.
  • Noyau en temps réel Micro-C/OS-II ou FreeRTOS
  • Environnement de développement Atmel Studio
  • Langage de programmation C et langage d'assemblage
  • Doxygen est un utilitaire qui permet de générer automatiquement la documentation d’un programme en C