Virtualisation sur plateforme embarqué ARM d'un OS temps réel et d'un système Linux. Pour atteindre cet objectif, l'hyperviseur libre L4RE associé au micro-noyau Fiasco.OC a été implémenté.


La virtualisation se présente aujourd'hui comme une solution pour avoir des systèmes embarqués plus flexibles, plus compacts et plus sécurisés. Cette technologie, déjà utilisée sur les postes de travail et les serveurs, doit être adaptée aux contraintes imposées par cet environnement : faible empreinte mémoire, gestion du temps réel, ... Elle peut être mise en œuvre dans le domaine de l'automobile, de la téléphonie, du médical, ... Dans le cadre de l’automobile, par exemple, une telle solution peut permettre sur un même matériel, la gestion temps réel des éléments de l’habitacle d’un coté et du multimédia de l’autre.

 

Travail réalisé :

  • Mise en œuvre de l'hyperviseur libre L4RE sur la cible.
  • Mise en œuvre d'un système Linux virtualisé.
  • Portage de l'OS temps réel µC/OS II sur l'hyperviseur.
  • Gestion des machines virtuelles (Priorité de chaque OS, contrôle des accès mémoire, ...).

 

Virtualisation Linux et OS temps réel

 

Les technologies :

  • Linux, OS temps réel µC/OS II
  • Virtualisation, micro-noyau Fiasco.OC, L4RE
  • Langage C, C++, Assembleur ARM,
  • Processeur ARM Cortex A8, Carte Beagle Board

 

 

Maintenance d’une pile de communication FFFIS dans le cadre ERTMS/ETCS visant à permettre l’interopérabilité des équipements ferroviaires européens et adaptation des outils de simulation associés.

Une pile de communication portable répondant aux spécifications FFFIS a été préalablement développée sur la base d’une première version de la norme FFFIS. Afin d’élargir l’interopérabilité des équipements à d’autres sous-systèmes ETCS, il est devenu nécessaire d’implémenter sur la pile FFFIS de nouvelles fonctionnalités : segmentation, réassemblage, contrôle d’intégrité… conformément aux spécifications émises.

La parfaite connaissance des spécifications FFFIS et de l’architecture de la pile a été mise à profit pour réaliser les évolutions demandées au regard des nouvelles versions de la norme.

La pile de communication est organisée en couches protocolaires, respectivement :

  • PB : ProfibusCouches protocolaires pile FFFIS
  • AL : Application Layer
  • STL : Safe Time Layer
  • SLL : Safe Link Layer
  • SJL : Spliting/Joining Layer
  • RL : Redundancy Layer

 

La pile de protocoles normalisée FFFIS assure l’interopérabilité entre des équipements distribués. Elle s’interface avec un bus de terrain Profibus redondé, permet de garantir, avec un niveau de sécurité choisi, l'intégrité, l'authenticité et la validité temporelle des informations transmises, aussi bien en diffusion qu’en mode connecté point à point. Elle permet aux différentes entités présentes à bord de communiquer entre elles de façon sûre et déterministe.

Cette pile de communication est tout particulièrement intégrée sur des équipements critiques, embarqués à bord des trains tels que le JRU (Juridical Recording Unit), véritable boîte noire à bord des trains.

La pile est également utilisée pour réaliser un simulateur d’abonnés FFFIS permettant d’exécuter des scénarios de dialogues nominaux et/ou perturbés entre équipements communicants sur le bus Profibus afin de vérifier leurs comportement et robustesse, dans notre cas particulier ceux du JRU.

Exigences du projet :

  • Garantir la non régression de la pile existante : les fonctionnalités ajoutées doivent pouvoir être retirées ou désactivées. Lorsqu’elles sont activées, elles ne doivent en aucun cas perturber le fonctionnement des autres couches protocolaires.
  • Optimiser l’utilisation de la mémoire : l’allocation  mémoire doit être optimisée notamment dans l’implémentation des fonctions de segmentation et de réassemblage.
  • Préserver le profil temps réel : le profil temps réel ne doit pas être altéré, afin de ne pas remettre en cause le fonctionnement des tâches applicatives.
  • Maintenir la portabilité de la pile : la pile FFFIS doit rester portable. Elle est utilisée aussi bien par l’application embarquée JRU que par un simulateur dédié sur plateforme MS-Windows.
  • Adapter les applications existantes : l’application cible JRU et le simulateur dédié doivent être adaptés pour prendre en compte les nouvelles fonctionnalités.
  • Assurer la compatibilité des interfaces : les interfaces de programmation doivent rester compatibles avec la précédente version de la pile.

 

Architecture et technologies mises en œuvre :

  • Une topologie représentative d’un réseau d’équipements embarqués comprenant EVC, JRU, autres cibles STM Specific Transmission Module… est constituée au moyen d’un bus Profibus redondé. La couche RL est donc également sollicitée.
  • L’interface au médium Profibus est gérée par l’intermédiaire de l’Asic SIEMENS ASPC2. Un driver spécifique est utilisé pour piloter le composant au niveau FDL, Field Data Link.
  • OS temps réel eCOS, langage C, outils croisés GNU pour PowerPC
  • Windows XP, Tcl/Tk
  • Sonde Profibus, analyseur ProfiTrace
  • Debug in-situ par JTAG sur cible PowerPC

 

 

A propos

  Suivez nous sur :