Description du poste
Vous intégrerez une équipe dédiée aux systèmes embarqués et participerez à la conception, au développement et à l’optimisation de solutions logicielles bas niveau.
Vos missions principales seront :
1. Développement Logiciel Embarqué
- Développer et maintenir des drivers Linux, des modules noyau (kernel), et des Board Support Packages (BSP) pour des architectures embarquées (ARM, x86, RISC-V).
- Optimiser les performances :
- Réduction des temps de boot et de la consommation mémoire.
- Amélioration de la stabilité et de la fiabilité des systèmes (gestion des erreurs).
- Intégrer et valider les solutions sur cibles matérielles (cartes de développement, prototypes industriels).
- Débugger et corriger les anomalies logicielles.
2. Architecture & Intégration Système
- Participer à la conception architecturale :
- Définition des interfaces logicielles (middleware, APIs) entre le BSP et les couches applicatives.
- Collaboration avec les équipes hardware pour valider les spécifications techniques.
- Assurer l’intégration système :
- Validation des interactions entre logiciel et matériel (UART, SPI, I2C, CAN).
3. Build & Déploiement
- Configurer et maintenir les environnements de build :
- Utilisation de Yocto Project, Buildroot, ou OpenWRT pour générer des images Linux embarquées.
- Automatisation des processus de compilation.
- Déployer et tester les solutions sur cible :
- Création de scripts de déploiement (Python, Bash).
- Mise en place de tests automatisés (CI/CD embarqué, tests unitaires avec Google Test/Unity).
4. Veille Technologique & Amélioration Continue
- Suivre les évolutions des technologies embarquées :
- Nouvelles versions du noyau Linux (LTS, patches sécurité).
- Outils et méthodologies DevOps pour l’embarqué (Jenkins, GitLab CI).
- Proposer des optimisations :
- Automatisation des processus de test et de validation.