Aller au contenu

Développement firmware

De l'environnement de développement au binaire déployé sur cible — maîtriser les outils et méthodes du firmware industriel.


Pourquoi ce parcours ?

Écrire du code pour un microcontrôleur ou un système Linux embarqué ne ressemble pas au développement logiciel classique. Les contraintes sont physiques : quelques dizaines de kilooctets de RAM, pas de système de fichiers, une boucle temps réel qui ne peut pas se permettre de bloquer. La chaîne d'outils elle-même est différente — cross-compilation, flashage via JTAG, debug avec un probe matériel.

Ce parcours couvre l'ensemble du cycle de développement firmware : choix de la toolchain, programmation concurrente avec un RTOS, Linux embarqué, développement FPGA, techniques de debug et d'instrumentation, stratégies de test, jusqu'à la gestion des releases et du déploiement OTA.


Unités d'enseignement associées

Ce parcours est commun aux UE suivantes :

Code Intitulé Pertinence
UTC302 Systèmes temps réel Chapitres 02, 07
ELE118 Architectures embarquées Chapitres 01, 04
ELE106 Programmation bas niveau Chapitres 01, 02, 05
ELE119 Linux embarqué Chapitre 03
ELE109 Intégration et tests Chapitres 06, 07

Chapitres du parcours

# Titre Ce que vous apprendrez
01 Toolchains et environnements ESP-IDF, Arduino, PlatformIO, Mbed, STM32CubeIDE
02 Programmation RTOS Tasks, queues, sémaphores, FreeRTOS vs Zephyr
03 Linux embarqué Yocto, Buildroot, device tree, systemd
04 Développement FPGA HDL, HLS, synthèse, IP cores
05 Debug et instrumentation JTAG, SWD, oscilloscope, profiling
06 Tests embarqués Unity, HIL, QEMU, CI firmware
07 Build, release et OTA Versioning, artefacts, signature, déploiement

Commencer : Toolchains et environnements — choisir les bons outils avant d'écrire la première ligne de code.