Développeur Logiciel Embarqué Senior H/F - Celad
- Grenoble - 38
- Freelance
- Télétravail accepté
- Celad
Les missions du poste
Le besoin
A LIRE ATTENTIVEMENT AVANT DE POSTULER ?
?? 1 jour de télétravail / semaine - ?? Crolles (38) - ?? 5 à 8 ans minimum d'expérience
Vous aimez aller au-delà du développement et prendre part aux choix d'architecture d'un produit embarqué ?
Si vous aimez le C embarqué, les environnements bare-metal et les problématiques d'ultra basse consommation, vous devriez vous sentir à votre place.
Vous interviendrez sur un projet de développement d'un détecteur de fumée autonome sur pile communiquant par radio avec une centrale de sécurité.
Votre rôle : prendre en charge l'architecture logicielle et l'intégration côté EFR32, depuis l'environnement de build jusqu'à l'intégration des différentes briques logicielles.
Vous serez également impliqué dans la communication entre microcontrôleurs, la CI et l'optimisation de la consommation.
Pourquoi ce poste existe ?
Le produit repose sur une architecture bi-microcontrôleur.
Un EFR32 porte la radio et la stack protocolaire. Un STM32G porte l'applicatif de détection développé par un partenaire externe.
Les deux microcontrôleurs doivent communiquer entre eux pour gérer notamment les commandes, les états et le journal d'événements.
Le projet démarre en phase de spécification et nécessite une attention particulière sur la fiabilité, la traçabilité et la consommation énergétique.
Le profil recherché
Profil recherché
Ce que vous allez faire concrètement :
Rédiger et finaliser la spécification du lien inter-MCU et de la couche d'interface applicative
Définir l'architecture bare-metal du firmware EFR32 : boucle événementielle, ordonnancement coopératif, modes basse consommation et découpage en modules
Mettre en place un environnement de build EFR32 reproductible et la pipeline CI
Intégrer le build, l'analyse statique, les tests unitaires et le packaging des livraisons
Développer la couche d'interface applicative et le lien inter-MCU en UART/SPI, DMA et réveil sur événement
Intégrer les livraisons du partenaire et assurer la gestion des versions et leur traçabilité
Mesurer et optimiser le profil de consommation
Produire les éléments nécessaires à la certification
Analyser les défaillances et rechercher les causes racines sur carte
Documenter l'architecture et assurer la transmission des connaissances
En bref : vous ne serez pas uniquement là pour produire du code. Vous participerez aux spécifications, aux choix d'architecture, aux tests, à l'intégration et à la fiabilisation du firmware.
Votre environnement de travail :
Vous rejoindrez une équipe projet composée de :
1 Product Owner
1 développeur logiciel embarqué
1 développeur protocole radio
1 ingénieur RF
L'équipe travaille en Agile Scrum/SAFe avec Azure DevOps pour les repositories, le backlog et les pipelines.
Le projet est mené en co-développement avec un partenaire externe, avec des interfaces à spécifier et des livraisons croisées.
Une présence sur site à Crolles est requise pour les phases d'intégration et de validation matériel.
Ce que vous allez développer dans ce rôle :
Une architecture firmware bare-metal sur EFR32
Des problématiques concrètes d'ultra basse consommation sur un produit alimenté sur pile
L'intégration de composants logiciels provenant de plusieurs acteurs
La définition et la formalisation d'interfaces entre microcontrôleurs
La mise en place et l'amélioration d'un environnement CI/CD embarqué
La validation et l'analyse de défaillances sur produit
Ce qui est indispensable pour réussir ici :
5 à 8 ans minimum d'expérience en développement logiciel embarqué
Une expérience significative sur des produits sur pile / ultra low power menés jusqu'en production
Une maîtrise du C embarqué sur microcontrôleurs ARM Cortex-M
Une maîtrise du développement bare-metal : architecture événementielle, machines à états, interruptions, modes veille/réveil
Une expérience EFR32 / SDK Silicon Labs ou une expérience solide sur une autre famille radio : Nordic nRF, STM32WL, TI CC13xx...
Une maîtrise des communications inter-MCU : UART, SPI, I2C
Une expérience en conception de protocoles de trame robustes
Une expérience CI/CD embarqué : build reproductible, conteneurs, pipelines
Une pratique de l'analyse statique : MISRA C, cppcheck, clang-tidy ou équivalent
Une expérience des tests unitaires embarqués et des stratégies de non-régression
Une expérience de la mesure et de l'optimisation de consommation
Un anglais technique courant
De la rigueur, une capacité à documenter et à transmettre
Ce qui peut faire la différence :
Une expérience FreeRTOS et STM32
Une expérience sur des produits de sécurité ou incendie et leurs contraintes de certification
Des notions de sécurité embarquée : secure boot, mise à jour sécurisée, CRA