Configuration dynamique et déploiement d’un RTOS pour l’Embarqué
Contexte
CIELE Ingénierie est une entreprise spécialisée dans le développement de solutions embarquées électroniques et logicielles. Les solutions développées par CIELE sont aujourd’hui intégrées dans les domaines d’expertises dits critiques tels l’avionique, l’automobile, le ferroviaire et la défense.
CIELE développe aujourd’hui des solutions basées sur une nouvelle architecture matérielle dénommée SoC/FPGA. Le SoC/FPGA intègre au sein d’une unique puce un processeur physique ASIC (e.g. ARM/Cortex-A9 double-cœur) et un FPGA. Cette architecture permet de combiner les avantages de l’ASIC (fréquence élevée, utilisation d’un OS embarqué et des applicatifs haut-niveau, IHM, etc.) à ceux du FPGA (accélération matérielle, acquisition et traitement de larges volumes de données à haut débit, etc.). Si les bénéfices sont conséquents, l’intégration de cette architecture est complexe et nécessite la modification du processus de développement traditionnel des systèmes embarqués basé sur ces technologies.
L’initiative R&D de CIELE est de proposer des outils permettant de concevoir, de valider et d’accélérer le déploiement des briques matérielles et logicielles constituants le système embarqué. Ainsi, le CI-lex Builder 2 est une première solution qui simplifie le déploiement et la reconfiguration des briques matérielles du FPGA lors de la phase de prototypage.
Aujourd’hui, CIELE souhaite enrichir cette solution et a initié le développement de la suite d’outils ADES (Automatic Deployment of Embedded Solutions) visant à simplifier la conception, la validation et le déploiement des briques matérielles (IPs, DSPs..) et des briques logicielles (OS embarqué, drivers, applicatifs) selon un nouveau processus de développement adapté au SoC.
Objectifs et travail à réaliser
La suite d’outils ADES fournit des fonctionnalités adressant aussi bien le développement de briques logicielles que celui de briques matérielles. Ces fonctionnalités peuvent être invoquées à différentes phases du processus de développement.
L’une des fonctionnalités est de permettre une configuration fine et dynamique d’un RTOS. L’outil permet ainsi d’automatiser les étapes de configuration de l’OS (drivers, système de fichier, ordonnanceur...) et son déploiement sur la cible.
ADES fournit un framework permettant la modélisation des composants matériels et logiciels. Un modèle ADES sert alors de point d’entrée pour la configuration et le déploiement.
L’objectif de ce stage est de proposer un modèle et une architecture permettant de configurer dynamiquement un RTOS dédié à l’Embarqué. Les actions de configuration, mais aussi celles de compilation et de déploiement des différentes briques de l’OS devront être étudiées et implantées.
Pour cela, un état de l’art sur les RTOS libres est à réaliser afin de déterminer le candidat approprié. De plus, il sera nécessaire d’analyser l’architecture de la suite d’outils ADES et de prendre du recul par rapport aux choix technologiques effectués. On cherchera en particulier à capitaliser sur les outils existants pour la configuration et mais aussi à satisfaire le caractère générique de la fonctionnalité́ .
Prérequis et apports du stage
Le stage présentant une partie pratique assez importante, il est nécessaire d’avoir une expérience raisonnable de la programmation et une connaissance générale de l’architecture d’un OS temps-réel pour l’Embarqué et de son déploiement. Il permettra d’acquérir une solide expérience sur la configuration et le déploiement d’un système embarqué, sur la modélisation d’un système et les principes de compilation. Il sera l’occasion de se familiariser avec des techniques de conception déjà éprouvées et appelées à se développer, tant au niveau de la recherche que de l’industrie.
Ces travaux seront intègrés à la suite d’outils ADES. En fonction des résultats, ce stage peut déboucher sur une embauche.
Profil
Stage ingénieur de niveau bac + 5, spécialisation systèmes logiciels embarqués.
Connaissances souhaitées :
— Architecture processeurs et si possible microcontrôleurs
— Architecture et déploiement RTOS, noyau Linux (Kconfig, Buildroot, Yocto...)
— Programmation C
— Développement sur plateforme Eclipse (Java, EMF...)
Informations administratives
Responsables et encadrants du stage :
— G. Lasnier
— G. Labrouche
Lieu du stage : bureau d’étude CIELE Ingénierie – Créteil Europarc – Métro L8 Créteil Pointe du Lac
Rémunération : 900 – 1100 € selon profil
Durée : six mois