Formation Linux temps réel
Transcription
Formation Linux temps réel
Formation Linux temps réel Durée : 2 jours Public visé Ingénieurs et chefs de projets techniques amenés à concevoir une solution industrielle complète avec des technologies libres. Objectif de la formation Présenter les principaux aspects de la mise en place et de l'utilisation des extensions temps réel du noyau Linux. Les travaux pratiques seront réalisés sur une carte Raspberry Pi B+ (RPi B+) basée sur un processeur ARM11 (BCM 2835), sur l'émulateur QEMU et sur plate-forme x86 (le PC du stagiaire). La RPi sera livrée avec une carte SD de 4 Go et un câble console USB permettant également d'alimenter la RPi. Les stagiaires utiliseront leur PC (Windows ou Linux) ou MacBook (Mac OS X 10.5 ou plus) puisque l'environnement de développement est intégré à une image VirtualBox contenant également les supports de cours. L'image de développement est basée sur la distribution Fedora 14. Le matériel nécessaire aux travaux pratiques sera fourni aux stagiaires (carte RPi et accessoires, ouvrage « Linux embarqué ») pourra être conservé à l'issue du stage (dans le cas d'une formation Inter-entreprises). Connaissances requises Pré-requis matériel • Connaissance utilisateur Linux ou à défaut UNIX • OS Windows (XP ou supérieur), Linux ou bien MacBook sous Mac OS X 10.5 ou supérieur. • Notions de langage C • Droits administrateur sur le système Windows ou MacOS X afin d'ajouter l'image VirtualBox et le pilote du câble USB/Série • Notions de manipulation commande (shell) de la ligne de • Le stagiaire utilisera son PC portable (ou un MacBook) pour la formation. • La machine devra disposer AU MINIMUM de 2 Gode mémoire vive, de 20 Go d'espace libre sur le disque et d'un lecteur de carte SD Ils ont bénéficié du transfert de compétences Open Wide Ingénierie ! Une formation de Référence ! Cette formation a été conçue par Pierre Ficheux, auteur des quatre ouvrages Linux embarqué. Formation Linux temps réel Durée : 2 jours Programme formation Linux temps réel • • • Solutions temps réel sous Linux o Rappels sur le temps réel o Linux standard o Les patch de préemption du noyau Linux (preempt-kernel, low-latency) o Le patch PREEMPT-RT o Technique du co-noyau (RTLinux, RTAI, Xenomai) o Tableau comparatif des solutions o Test des extensions temps réel de Linux sur la base d'une mini-distribution construite avec Buildroot et basée sur PREEMPT-RT, RTAI ou Xenomai. Pour chaque extension, on mettra en évidence les performances en utilisant les outils hackbench, latency, cyclictest, stress. Programmation temps réel en POSIX sur noyau Linux standard o Configuration de l'ordonnanceur Linux (SCHED_OTHER, SCHED_FIFO, SCHED_RR) o Les signaux o Les « threads » POSIX : création, arrêt, MUTEX, sémaphores, conditions, extensions temps réel o Compteurs POSIX.1 et POSIX.4 o Création d'un tâche périodique POSIX exploitant les GPIO de la RPi (rpi_gpio) et mise en évidence des problèmes de « jitter » Focus sur Xenomai o Historique Introduction o Description fonctionnelle o Architecture o Installation et mesure de performances avec les outils latency et hackbench (voir test PREEMPT-RT / RTAI) o Domaines d'exécution, fonctionnement d'ADEOS o Migration et conception d'application API POSIX de Xenomai Mise en œuvre de l'API POSIX sur l'exemple xenomai_rpi_gpio et comparaison avec la version Linux rpi_gpio. Présentation de l'API RTDM (Real Time Driver Model) Modification de l'application xenomai_rpi_gpio pour utiliser le pilote RTDM