+ +
- -
Systèmes d'Exploitation
Calendrier  Détails
Programmation
 
Calendrier  Détails
Processeurs ARM
 
Calendrier  Détails
Processeurs PowerPC
 
 
 
 
Calendrier  Détails
Communications
 
 
Calendrier  Détails
+ +
> >
- -

 
ac6 >> ac6-training >> Systèmes d'Exploitation >> Linux >> Real-time Linux Télécharger le catalogue Télécharger la page Ecrivez nous Version imprimable

D4 Real-time Linux

Real-time Linux with RT-Preempt patch and Xenomai

Real-time Linux with RT-Preempt patch and Xenomai
formateur
Objectifs
  • RTAI
    • Maîtriser le temps réel avec RTAI
    • Synchronisation et communication entre Linux et RTAI
    • Gérer les timers rapides de RTAI
    • Partage et traitement d'interruptions
    • Utiliser LXRT
  • Xenomai (ex RTAI/Fusion)
    • Différences avec RTAI et LXRT
    • Programmation sous Xenomai
    • les drivers temps-réel Xenomai
Les exercices se font sur des cartes cibles :
    Carte à base de processeur ARM9 d'Atmel, avec sonde JTAG Lauterbach.
Nous utilisons le dernier noyau disponible sur www.kernel.org supporté par Xenomai

Les exercices se font en utilisant l'environnement de développement intégré System Workbench for Linux - Basic Edition.

Matériel
  • Un PC par binôme avec Linux + RTLinux
  • Support de cours
  • CDROM avec documentation et exercices corrigés
Pré-requis
  • Connaissance de la programmation Linux (niveau cours D0)
  • Notions d'administration Linux, installation, configuration, mise à jour... (niveau cours D1)
  • Notions de temps réel (niveau cours L7)

1er jour
Le temps réel sous Linux
  • Solutions temps réels pour Linux
  • Architecture et caractéristiques
  • Modularité de Linux
    • architecture et composition du kernel Linux
    • développement de modules kernel
    • distinction entre modules Linux et RTAI
    • outils de développement (compilateur , debugger)
    • outils de gestion des modules (chargement, versions, symboles)
Le développement de modules noyau Linux
  • Outils de développement
    • outils de compilation
    • librairies standard
    • makefile
    • environnements intégrés
    • chargement et la gestion des versions des modules kernel
    • debug kernel
  • Gestion mémoire
    • algorithme d'allocation mémoire buddy et slab allocator
    • zones mémoire d'allocations des drivers
    • allocation dynamique et au boot
Exercise :  Ecriture d'un module simple
2ème jour
Présentation de RTAI
  • Installation de RTAI sous Linux
  • Structure des applications RTAI
  • Programmation des APIS RTAI
Exercise :  Patch du noyau pour RTAI
Exercise :  Configuration et installation de Linux/RTAI
Programmation du Multitâche RTAI
  • Implémentation des taches RTAI
  • Gestion mémoire
  • Stratégie d'ordonnancement
    • algorithme préemptif pur
    • ordonnancement périodique et one-shot
    • spectre des priorités
    • modularité et remplacement de l'ordonnanceur
    • ordonnancement multi processeur (SMP)
  • Outils de communication inter processus (IPC)
    • FIFO de communication
    • mécanisme de mémoire partagée
    • synchronisation inter-tâche (mutex, sémaphore, variables de conditions, verrouillage producteurs/consommateurs, signaux, événements des FIFOs)
Exercise :  Réalisation d'application multi-tâches simple
Exercise :  Dialogue Temps-réel - Linux
3ème jour
Programmation des timers et des horloges
  • Horloges matérielles et logicielles
  • Horloges et deamon
  • Timer RTAI
  • Watchdog
Exercise :  Mesures de performances (changement de contexte)
Programmation des interruptions
  • Architecture des interruptions
  • Installation des ISR RTAI
  • Partage des interruptions
  • Emulation des interruptions Linux sous RTAI
  • Réveil de taches sous interruptions
Exercise :  Mesures de performances (latence d'interruption)
Le temps réel en mode utilisateur avec LXRT
  • Le principe de LXRT
    • modules noyau en mode utilisateur
    • protection mémoire
    • basculement d'ordonnanceur
  • Performances comparées entre RTAI et LXRT
  • Programmation sous LXRT
Exercise :  Transfert d'application RTAI sous LXRT
Présentation de Xenomai
  • Les principes de base de Xenomai
    • modes primaires et secondaires
  • Comparaison avec LXRT
  • La notion de personalité (skin)
  • Installation et configuration de Xenomai
  • La mise au point sous Xenomai
    • utilisation de GDB
    • installation et configuration de LTT (Linux Trace Toolkit)
Exercise :  Patch du noyau pour Xenomai
Exercise :  Configuration et installation de Linux/Xenomai
4ème jour
Programmation sous Xenomai
  • L'interface native de Xenomai
    • gestion des tâches
    • gestion du temps
    • synchronisation
    • communication
    • accès au matériel et aux interruptions
    • communication entre code noyau et utilisateur
  • Les "personnalités" de Xenomai
    • l'API native
    • RTAI
    • Posix
    • pSOS+, vxWorks, VRTX, uItron, ...
  • Les drivers de périphériques temps réel
    • le concept RTDM (Real Time Driver Model)
    • l'interface de développement des drivers
    • profils de périphériques
    • interface utilisateur
Exercise :  Réalisation d'applications multi-tâches mixtes temps-réel - non temps réel
Exercise :  Utilisation des API natives et POSIX