Développeur c Embarqué - Firmware - Bare Metal - Arm Cortex-M - Efr32 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 - ?? Grenoble (38) - Crolles - ?? Expérience de 5 ans minimum
Vous aimez intervenir au coeur d'un firmware embarqué, là où les choix d'architecture, la consommation énergétique et les échanges entre microcontrôleurs ont un impact direct sur le produit ?
Nous recherchons un.e Développeur C embarqué expérimenté.e pour intervenir sur un projet en phase de spécification, autour d'un EFR32 / ARM Cortex-M.
Ici, l'enjeu ne sera pas simplement de développer les fonctionnalités demandées. Vous participerez aux choix structurants du firmware : architecture bare metal, communication inter-MCU, environnement de build et CI, intégration logicielle et optimisation de la consommation.
Votre enjeu : construire un firmware EFR32 cohérent et maîtrisé
Vous prendrez en charge l'architecture logicielle et l'intégration côté EFR32.
Votre rôle sera notamment de garantir la cohérence technique entre les différentes briques du firmware et de poser des bases suffisamment robustes pour accompagner la suite du développement et les contraintes du produit.
Le projet étant encore en phase de spécification, vous aurez une vraie latitude pour proposer, challenger et documenter les choix techniques, plutôt que d'arriver sur une architecture entièrement figée.
Concrètement, sur quoi allez-vous travailler ?
1/ Architecture firmware & spécifications
Vous définirez l'architecture bare metal du firmware EFR32 : boucle événementielle, ordonnancement coopératif, découpage en modules et gestion des différents modes basse consommation.
Vous participerez également à la rédaction et à la finalisation des spécifications du lien inter-MCU et de la couche d'interface applicative : protocole de trame, gestion des erreurs, journalisation des événements...
Ces travaux seront menés en interaction avec le partenaire impliqué sur le projet.
2/ Développement bas niveau & communication inter-MCU
Vous développerez la couche d'interface applicative ainsi que les mécanismes permettant aux microcontrôleurs de communiquer entre eux.
Vous travaillerez notamment autour de UART / SPI, DMA et mécanismes de réveil sur événement, avec les contraintes classiques d'un environnement embarqué à ressources limitées.
3/ Build, CI et qualité logicielle
Vous mettrez en place un environnement de build EFR32 reproductible, basé notamment sur le SDK Silicon Labs et la toolchain associée.
L'objectif ne sera pas simplement « que ça compile sur votre machine » : vous contribuerez à industrialiser le développement avec une pipeline CI intégrant build, analyse statique, tests unitaires et packaging des livraisons.
Vous participerez également à la définition et à l'amélioration des pratiques de tests unitaires, intégration et non-régression.
4/ Intégration & investigation
Vous intégrerez les différentes fournitures du partenaire - applicatif, sécurité, communication inter-MCU - en assurant leur versioning et leur traçabilité.
Lorsqu'un problème apparaîtra sur cible, vous devrez également être capable de descendre au niveau nécessaire pour mener une analyse de défaillance et rechercher la root cause sur carte.
5/ Consommation énergétique
La consommation fait partie des contraintes de conception du produit.
Vous réaliserez des mesures à l'aide d'un analyseur de courant et d'Energy Profiler, identifierez les pistes d'optimisation et contribuerez à produire les éléments nécessaires à la certification.
Le profil recherché
Profil recherché
L'environnement technique:
Vous évoluerez principalement dans un environnement : C embarqué, Bare Metal, ARM Cortex-M, EFR32, Silicon Labs SDK, UART, SPI, DMA, CI/CD, tests unitaires, analyse statique, Git, Energy Profiler
Une expérience sur d'autres familles de microcontrôleurs, notamment STM32 ou Nordic nRF, sera également pertinente : ce qui nous intéresse avant tout est votre maîtrise des problématiques firmware bas niveau et votre capacité à vous approprier un nouvel environnement MCU.
Ce que nous recherchons réellement:
Nous ne cherchons pas uniquement quelqu'un capable de produire du code C.
Vous avez suffisamment d'expérience en développement firmware embarqué pour prendre du recul sur une architecture, identifier ses limites et proposer des choix adaptés aux contraintes du produit.
Vous savez définir ou challenger une architecture logicielle bare metal et choisir des patterns adaptés à un environnement contraint.
Vous maîtrisez les problématiques de développement sur microcontrôleurs ARM Cortex-M et savez intervenir au plus près du hardware lorsque l'investigation le nécessite.
Vous accordez également de l'importance à la qualité du logiciel : tests, non-régression, analyse statique, intégration continue, gestion des versions et traçabilité font partie de votre manière de travailler.
Enfin, vous êtes à l'aise pour écrire et challenger des spécifications techniques. C'est un point important : le projet démarre en phase de spécification et une partie des décisions structurantes reste à construire.
Votre manière de travailler compte aussi:
Le projet implique des interlocuteurs aux expertises différentes : développement logiciel, hardware, RF, qualité et partenaire externe.
Vous devrez donc être capable d'expliquer vos choix techniques aussi bien à un développeur moins expérimenté qu'à un interlocuteur produit, sans simplifier à l'excès ni transformer chaque échange en cours magistral.
Nous apprécierons particulièrement votre capacité à être rigoureux sans être dogmatique : les règles de développement, les patterns et les process doivent servir la fiabilité du produit.
La documentation et la transmission font également partie du rôle. L'objectif est que les choix, les connaissances et les outils construits pendant le projet restent maîtrisés par l'équipe.
Enfin, vous utiliserez régulièrement l'anglais technique pour travailler avec la documentation Silicon Labs et échanger avec les partenaires ou fournisseurs.
Ce poste vous correspond particulièrement si...
Vous aimez les environnements où il faut comprendre ce qui se passe du code jusqu'à la carte, plutôt que rester uniquement sur la couche applicative.
Vous appréciez également les projets où tout n'est pas encore décidé : il faudra concevoir, argumenter, tester et documenter certains choix.
À l'inverse, si vous recherchez principalement du développement applicatif embarqué sur une architecture déjà définie, ce projet risque de moins correspondre à ce que vous cherchez.
Si vous êtes prêt.e à relever ce défi et à contribuer à des projets stimulants, n'hésitez pas à postuler dès maintenant ! ??
Bienvenue chez CELAD - L'ingénierie à visage humain
Depuis 1990, CELAD accompagne la transformation digitale des entreprises, en conjuguant innovation technologique et proximité humaine. D'abord ancrés dans le monde bancaire, nous sommes aujourd'hui une ESN de référence dans les Systèmes d'Information et l'Informatique Industrielle, forte de plus de 1750 collaborateurs passionnés et engagés.
Nous collaborons avec plus de 250 clients, des PME dynamiques aux Grands Groupes ambitieux, dans des secteurs aussi variés que la banque, l'assurance, la mob