Implantation et intégration d’un framework haut-niveau dédié à la communication au sein d’un système 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, ces briques doivent être réalisées afin de satisfaire des critères de généricité et de configuration importants tout en minimisant l’impact de ces derniers sur les performances du système.
Objectifs et travail à réaliser
CIELE dispose de briques logicielles dîtes « bas-niveau » traitant des problématiques de la communication inter processus, intra processus et distribuée (IPC, segments de mémoire partagée, socket, etc).
L’augmentation de la complexité des systèmes embarqués nous amène aujourd’hui à considérer un framework dît de « haut-niveau » implantant une couche d’abstraction pour faciliter l’échange de données entre les différents nœuds d’un système et proposant de mutiples patrons de communication.
Pour ce faire, il sera nécessaire d’étudier les solutions existantes et innovantes utilisables dans le contexte du développement d’un système embarqué industriel :
- Intergiciel dédié à l’embarqué (TAO ACE, PolyORB-HI, CORBA, etc…)
- Intergiciel orienté message
- Librairie haut-niveau (RabbitMQ, Mangos, ZeroMQ, nanomsg, etc…)
- …
Les objectifs de ce stage sont :
- Faire un état de l’art industriel sur les solutions actuelles traitant de la communication entre les différents nœuds d’un système embarqué.
- Définir les patrons de communication haut-niveau requis par un système embarqué
- Définir les critères de généricité et de configuration
- Définir et valider l’architecture du framework
- Implanter le framework.
On cherchera en particulier à capitaliser sur les briques logicielles existantes utilisées dans les projets industriels de l’entreprise. L’intégration de librairies logicielles ou de frameworks fournis par des tiers peut être envisagée en fonction de certains critères à définir.
La validation s’effectuera sur un projet industriel de CIELE Ingénierie.
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. Il permettra d’acquérir une solide expérience dans le développement des services cœurs d’un système embarqué. Il sera l’occasion de se familiariser avec un processus de développement éprouvé, des techniques de conception et des techniques d’implantation dédiées aux systèmes embarqués industriels.
Ces travaux seront intégrés dans le processus de développement logiciel de l’entreprise.
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 d’un système embarqué
— Architecture microcontrôleur, SoC FPGA
— Programmation baremetal, Linux embarqué
— Programmation C, C++, scripts, Makefile, CMake…
— Logiciel de gestions de versions SVN, Git, Mercurial…
Informations administratives
Responsables du stage :
— G. Lasnier
— C. Palarino
Encadrants du stage :
— G. Labrouche
— G. Lasnier
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