Développement d'une bibliothèque générique et réutilisable pour les protocoles de communication (I2C, UART, SPI, ...).
Création d'une interface utilisateur (UI) permettant aux développeurs de configurer les paramètres des liaisons et de générer automatiquement du code compatible avec différentes familles de microcontrôleurs.
Objectifs et livrables
Concevoir et implémenter une API C (et bindings Python si nécessaire) pour encapsuler les protocoles de communication courants.
Développer un générateur de code prenant en entrée une configuration (paramètres des bus, débits, broches, modes) et produisant du code prêt à l'emploi pour plusieurs familles de microcontrôleurs.
Fournir une interface utilisateur (desktop ou web) intuitive pour configurer les protocoles et lancer la génération de code.
Livrables attendus : bibliothèque source, UI, exemples d'intégration pour au moins 2 familles de microcontrôleurs, documentation et tests unitaires.
Tâches principales
Analyser les besoins génériques pour I2C, UART, SPI et définir une architecture modulaire pour la bibliothèque.
Implémenter les modules bas-niveau en C et les composants d'orchestration / prototypage en Python.
Développer l'UI pour la configuration des périphériques et l'interface de génération de code.
Rédiger de la documentation d'utilisation, des exemples d'usage et des tests pour valider la portabilité sur différentes cibles.
Compétences et technologies requises
Langages : Python et C (maîtrise demandée).
Expérience souhaitée en systèmes embarqués et connaissance des bus matériels (I2C, SPI, UART).
Connaissance des toolchains de microcontrôleurs, de la génération de code et des bonnes pratiques d'intégration matériel/logiciel.