Un produit bootloader est en place. Il est en charge de la reprogrammation des calculateurs, selon les exigences d’entrée des différents constructeurs automobiles. Il est flashé sur une carte électronique avec laquelle on communique depuis un PC de tests via un protocole CAN ou Ethernet. Ce produit bootloader contient beaucoup de fonctionnalités configurables, permettant de répondre aux exigences des différents constructeurs avec le même produit de départ. Le but du stage est de développer de nouvelles fonctionnalités (langage C), afin de servir de nouveaux constructeurs. Ces nouvelles fonctionnalités doivent être validées via des scripts de test (en langage Python) qui permettent de qualifier le comportement du calculateur.
Voici les différentes étapes planifiées pour ce stage :
- Introduction : Avant de commencer le développement, une étape de formation est réalisée. Cela passe par la prise en main de l’environnement de développement EB (EB tresos Studio, makefile, Eclipse, protocole de diagnostic, etc.) ainsi que de la solution de validation en place (développée en interne).
- Étape 1 : La première partie du stage consiste à améliorer la solution en place, en investiguant les bugs ouverts (recherche de l’origine du problème, en debuggant le code existant). Objectif : bien comprendre le fonctionnement des deux parties (PC de test + bootloader)
- Étape 2 : La deuxième partie consiste à développer de nouvelles fonctionnalités dans le bootloader, en participant au design et au développement avec l’équipe produit. Objectif : enrichir le produit et apprendre les règles de design logiciel, selon le process en place chez Elektrobit. Note : Les couches logicielles embarquées sont soumises à de fortes contraintes: durée d’exécution la plus faible possible, consommation mémoire faible. Le développement devra être optimisé pour chaque ligne de code.
- Étape 3 : La troisième partie du stage consiste à générer des configurations du bootloader (liées aux nouvelles fonctionnalités créées), à développer le code d’intégration (qui permet de relier les fonctionnalités activées entre elles), à écrire les scripts de tests, et enfin analyser/interpréter les résultats. Objectif : détecter les non-conformités du projet + corriger ces non-conformités
- Étape 4 : La troisième partie consiste à développer une interface graphique pour la solution de validation contrôlée aujourd’hui uniquement en ligne de commande.
Environnement :
- Interface hardware gérant les réseaux CAN/Ethernet
- Outil EB tresos Studio - Divers IDE (Eclipse ou Spécifiques au μC utilisé)
- Cartes électroniques des microcontrôleurs cibles avec les chaines de debug associées