Job Description Nous recherchons un ingénieur micrologiciel pour rejoindre notre équipe de R&D à Grenade, en Espagne.En tant que Senior Embedded Software Engineer, vous commencerez à travailler sur un engagement très motivant avec l'équipe d'ingénierie R&D à Grenade, en Espagne, où vous devrez développer les principaux éléments d'un système de synchronisation qui étend le timing White Rabbit sur une interface de communication en espace libre.
Ainsi, vous participerez à la conception, à l'intégration et à la validation des principaux éléments logiciels et micrologiciels embarqués d'un prototype de synchronisation sans fil White Rabbit.
Cela pourrait inclure la conception de modules et de pilotes de noyau Linux personnalisés, d'images Linux spécialisées, d'applications de niveau utilisateur, de bibliothèques logicielles ou même de procédures d'automatisation des tests.
En outre, vous mettrez en œuvre les extensions nécessaires à notre protocole de synchronisation pour utiliser la nouvelle interface sans fil, et vous déboguerez et diagnostiquerez tout problème survenant lors de la conception de ces extensions.
L'assemblage de démonstrateurs expérimentaux et des déplacements pour présenter des preuves de concept pourraient être nécessaires au cours des dernières étapes du projet.
Ce que vous ferez : - Vous aurez la responsabilité de comprendre les exigences et d'aider au développement d'un projet qui comprend des éléments très innovants.
- En collaboration avec les équipes de test et de qualité, vous vous assurerez que vos développements sont produits conformément aux spécifications.
- Vous utiliserez votre esprit critique et vos compétences en matière de résolution de problèmes pour garantir la plus haute qualité des résultats dans le respect du calendrier, des efforts et du budget impartis.
- Vous travaillerez avec les dernières et meilleures technologies de PNT résilientes et déterministes !
- Vous communiquerez efficacement avec les autres partenaires du projet et les gestionnaires de projet, et vous serez constamment en contact avec eux, du lancement du projet aux réunions avec les parties prenantes.
- Vous développerez les éléments logiciels de nos produits de chronométrage embarqués actuels et de la prochaine génération de produits entrants d'Orolia.
Cela comprendra, sans s'y limiter, l'écriture de modules de noyau personnalisés et d'extensions à nos protocoles de synchronisation.
- Vous devrez valider les composants logiciels que vous implémentez, assurer leur fonctionnement sous Linux embarqué et déboguer les problèmes complexes résultant de l'intégration de plusieurs éléments SW et FPGA sur un système embarqué.
Complementary Description Principales responsabilités : - Vous contribuerez aux spécifications techniques en collaboration avec les responsables techniques.
- Vous fournirez des estimations de la charge de travail nécessaire à la réalisation des tâches spécifiées et planifierez le travail en conséquence.
- Vous contribuerez au développement et à la validation des composants.
- Vous effectuerez les tâches de développement conformément au plan de projet.
- Vous vérifierez la qualité des livrables par des tests unitaires systématiques.
- Vous participerez à la qualification finale des livrables, y compris la validation de la documentation.
Job Requirements Idéalement issu(e) d'un Master's Degree en télécommunications, en génie logiciel, en informatique ou dans un domaine connexe.
Vous êtes fort d'une Exigence minimale de 5 ans d'expérience dans : - Outils de génération de Linux embarqué et systèmes de construction (par exemple, Buildroot, Petalinux, ...).
- Développement de logiciels embarqués et débogage pour Linux embarqué et autonome (par exemple, microcontrôleurs, baremetal pour les dispositifs Xilinx).
- Expérience avérée dans le développement de pilotes réseau du noyau Linux, de modes DMA et de modifications personnalisées du noyau.
- Développement, test et débogage de logiciels embarqués.
Vous serez amené à déboguer des problèmes complexes impliquant de multiples interactions, par exemple, le noyau, les applications utilisateur, les modules IP FPGA, ... Une maîtrise pratique des outils de débogage, tels que GDB, DDD ou Valgrind, est attendue.
- Solides compétences en automatisation et en scripting (par exemple, bash, TCL, ...).
- Solide connaissance des principaux langages de programmation pour le prototypage embarqué et agile, notamment C, C++, Python, ... - Expérience approfondie des référentiels et du contrôle de version (Git, SVN, ...).
Expérience souhaitable dans : o Mise en réseau Linux, Xilinx AXI DMA, et gestion des interfaces de transmission série à partir de l'espace noyau, comme les PHY génériques ou les émetteurs-récepteurs GTx de Xilinx.
o Connaissance préalable des protocoles de chronométrage, de synchronisation et de diffusion de fréquences (par exemple, PTP, NTP, SyncE, ou autres) serait appréciée.
o Une connaissance préalable de l'architecture Xilinx, par exemple, Zynq-7000, UltraScale, Zynq-MPSoC, est également souhaitable.
o Une connaissance pratique des chaînes d'outils de compilation croisée pour différentes plateformes (par exemple, ARM SoCs, LM32, ....) serait souhaitable.