Le projet Xenomai (http://www.xenomai.org) propose une extension du noyau Linux et permet de développer des applications « temps réel dur ». Outre les applications, l'utilisation de périphériques spéciaux nécessite de développer des pilotes temps réel en utilisant RTDM (Real Time Driver Model). En nous basant sur trois exemples concrets, nous décrirons dans cet article les principaux éléments de cette API tant du côté du développement noyau que de celui de l'accès au pilote depuis l'espace utilisateur. Les sources des exemples sont disponibles sur http://pficheux.free.fr/articles/lmf/kernel_programming/rtdm_drivers.
1. Introduction
En juillet 2003, nous avions écrit avec Patrice Kadionik un article décrivant les possibilités d'utilisation de Linux comme système temps réel. Cet article fut mis à jour en 2006 et nous avions consacré un article presque entier à la nouvelle version 2 de Xenomai qui avait vu le jour dans les mois précédents (en 2005) suite à la séparation du projet Xenomai et de la communauté RTAI. Dans l'article de 2006, nous avions également introduit les concepts généraux du temps réel. Aujourd'hui, le présent article sera exclusivement focalisé sur le développement de pilotes utilisables avec une architecture Linux/Xenomai plus communément nommée « architecture à double noyau » (ou co-noyau).
Après quelques mots concernant l'état des extensions temps réel pour Linux, nous décrirons rapidement la mise en place d'une version récente de Xenomai (2.5) puis nous décrirons l'API de programmation RTDM. Nous verrons plus loin dans l'article que RTDM...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première