ejoignez l'Aventure MYTTRA en tant qu'Ingénieur Développement Logiciel Embarqué !
Vous êtes passionné par le développement logiciel embarqué, la programmation bas niveau et les systèmes à fortes contraintes techniques ?
Chez MYTTRA, nous recherchons un Ingénieur Développement Logiciel Embarqué C++ / STM32 pour renforcer nos équipes R&D et intervenir sur le développement de solutions industrielles à forte composante électronique et logicielle.
Vous évoluerez au plus proche du hardware, dans un environnement mêlant microcontrôleurs, firmware, électronique, temps réel et développement C/C++.
Vos Missions
- Développement logiciel embarqué : Concevoir, développer et maintenir des logiciels embarqués en C/C++ sur microcontrôleurs.
- Développement bas niveau : Intervenir au plus proche du hardware pour développer et faire évoluer les différentes couches logicielles du produit.
- Microcontrôleurs STM32 : Développer et intégrer des fonctionnalités sur architectures STM32 / ARM Cortex.
- Drivers et périphériques : Développer, configurer et maintenir les interfaces avec les différents périphériques et composants électroniques.
- Protocoles de communication : Intégrer et exploiter des interfaces telles que UART, SPI, I²C, CAN, GPIO, PWM, ADC ou DMA, selon les architectures produits.
- Temps réel : Participer au développement de logiciels fonctionnant en environnement bare-metal et/ou RTOS.
- Intégration Hardware/Software : Collaborer étroitement avec les équipes électroniques pour assurer l'intégration du logiciel sur les cartes et équipements.
- Debug sur cible : Analyser les comportements du système et résoudre les anomalies logicielles et Hardware/Software à l'aide des outils de debug adaptés.
- Tests et validation : Définir et réaliser les tests unitaires, tests d'intégration et validations sur cible afin de garantir la robustesse des développements.
- Optimisation : Travailler sur les performances du logiciel embarqué : temps d'exécution, utilisation mémoire, fiabilité et maintenabilité.
- Gestion de configuration : Utiliser Git pour assurer le versioning, la gestion des branches et la traçabilité des évolutions logicielles.
- Qualité logicielle : Participer aux revues de code et contribuer à l'amélioration continue des pratiques de développement.
- Documentation technique : Documenter les architectures, développements, interfaces et résultats de tests.
Environnement Technique
C / C++ - STM32 - ARM Cortex - Microcontrôleurs - Firmware - Git - Embedded Software - Bare-Metal - RTOS - UART - SPI - I²C - CAN - GPIO - JTAG/SWD