Stage - Communication interne Cortex-A/Cortex-M/DSP

France, Lyon | Engineering | Full-time

Apply

Witekio  est une PME internationale dédiée au développement logiciel embarqué & IoT. Leader du développement Linux Yocto sur plateformes ARM , nous sommes un pure player  Software partenaire de nombreux leaders mondiaux de la high-tech.

 

Reconnus également pour nos plateformes IoT Cloud et nos développements applicatifs, nous sommes une équipe de plus de 180 geeks , créateurs et makers soutenue par une société-mère présente dans le classement Fortune 500, Avnet. Avec des bureaux en France, en Allemagne, au Royaume-Uni et aux États-Unis, notre équipe internationale accompagne nos clients de bout en bout dans leurs projets, avec des services d’architecture et design système, le développement et l'intégration logicielle. 

 

Nos étude de cas : Case studies - Your Embedded and IoT Software Partner

 

Contexte

 

Le domaine de l'Internet des Objets (IoT) continue sa croissance ; les dispositifs déployés sont de plus en plus nombreux, deviennent de plus en plus sophistiqués et sont intégrés dans un nombre de secteurs sans cesse croissant (domotique, industrie, médical, …).

Les exigences de latence, d’efficacité énergétique et de capacité de traitement se renforcent, nécessitant une gestion optimale des ressources du processeur gérant l’intelligence des devices connectés.

Pour répondre à ces défis, les fournisseurs de silicium proposent des System On Chip (SoC) modernes intégrant des cœurs MCU (Microcontroller Unit) et MPU (Microprocessor Unit) sur une même puce, permettant une répartition intelligente des tâches.

 

Sujet de stage

 

Au travers de l'étude puis du test des outils proposés par différents fondeurs pour gérer la communication entre le MPU et le MCU de leurs SoC, l’objectif de ce stage est de réaliser une brique de base logicielle réutilisable permettant d'établir une communication MPU/MCU performante, peu consommatrice en ressources CPU et en énergie.

Une fois éprouvée, cette méthode de communication pourra être adaptée afin d'être utilisable sur des systèmes à double MCU.
Le travail devra être réalisé sur un SoC représentatif des cibles utilisées sur les projets Witekio.

 

Le stage se divisera en quatre étapes :

  • Étude bibliographique :
    Au travers de discussions avec les Teams Leaders “Logiciel Embarqué” et “TheEmbeddedKit” ainsi que de l'étude des exemples, outils et documentations rendues disponibles par les fondeurs :

    • Détermination des cas d’usages typiques des projets Witekio ;

    • Mise en évidence des différentes solutions proposées par les fondeurs notamment Texas Instruments (AM5708), NXP (i.MX 8) et ST MicroElectronics (STM32MPx) ;

    • Recherche des adéquations entre les cas d’usage et le solutions proposées.

  • Analyse comparative :

    • Recherche des adéquations entre les cas d’usage et les solutions proposées par les fondeurs ;

    • Mise en oeuvre d’au moins deux solutions puis comparaison notamment de :

      • facilité de mise en oeuvre ;

      • performance (débit / latence) ;

      • protocole de communication (json, cbor, msgpack, autres ?) ;

      • contraintes ;

      • licence.

    • Présentation de l’analyse comparative au Team Leader du Pôle Accélérateurs ;

    • Aide au choix et à l’implémentation de la solution à retenir dans la brique de base logicielle.

  • Adaptation à une communication inter-MCU :

    • Evaluation de l’adaptabilité de la solution implémentée dans le cadre d’un projet avec deux MCU (ou un MCU à double coeurs) ;

    • Test et implémentation de la solution.

  • Bonus - mapping dbus / zbus :
    En fonction de l’avancement du stage, une étape complémentaire pourrait consister à concevoir puis développer une solution permettant de mapper directement dbus (coeur MPU exécutant un Linux) et zbus (sur le coeur MCU exécutant un Zephyr).
    L’objectif serait d'établir une communication bidirectionnelle (émission et réception de messages depuis/en direction du MPU et du MCU).

 

Profil du stagiaire

 

Ce stage est destiné à un(e) étudiant(e) en développement logiciel en fin d'études avec un profil «  informatique industrielle ».
Pour intégrer Witekio vous devez répondre aux critères suivants :

  • Appétence pour le logiciel bas niveau ;

  • Bonne connaissance de Linux ;

  • Maîtrise du langage C ;

  • Connaissance des outils de développement (gcc, git, diff, etc…) ;

  • Autonomie et prise d’initiative ;

  • Bonne capacité de communication pour s'intégrer et contacter les différentes équipes.

 

Conditions 

 

Le stage se déroulera à Lyon 9 à quelques minutes de la gare de Vaise pour une durée de 5 à 6 mois.

Vous bénéficierez d’une gratification d’un montant de 1000€ (en Master 2), de tickets restaurants et d’une prise en charge du transport en commun.

Ce stage est l’opportunité pour vous d’évoluer dans un environnement technique challengeant et bienveillant. Chez Witekio, nous recrutons des développeurs passionnés, curieux, ayant un fort esprit d’équipe et qui aiment partager. Vous serez encadré(e) et accompagné(e) par des experts du domaine du stage tout en vous donnant l’opportunité de prendre des initiatives. Si vous vous êtes bien intégré(e) et si vous avez rapidement progressé(e) techniquement pendant le stage, vous pourrez recevoir une proposition pour rejoindre Witekio en CDI.

Chez Witekio, tout le monde a sa chance et nous ne tolérons aucune forme de discrimination, ce poste est donc ouvert à tous types de profils.

 

Processus de recrutement 

 

  • 1 test technique via la plateforme CodinGame, ;

  • 1 premier entretien téléphonique pour apprendre à se connaître (environ 30 minutes) ;

  • 1 entretien technique avec votre futur(e) tuteur (1h30) ;

  • 1 dernier échange téléphonique avec le Team Lead (30 minutes).