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.