## Xbuild MCU : extension VSCode pour builds STM32
Les développeurs embarqués sur STM32 peinent souvent avec les IDE lourds basés sur Eclipse comme STM32CubeIDE. Voici Xbuild MCU, une extension VSCode qui gère l'autogénérération de projets, les builds basés sur Xmake (pilotés par Lua), les imports CubeMX et l'intégration Cortex-Debug. Éditez, compilez et flashez tout dans un seul environnement fluide — fini les allers-retours entre applications.
Cette extension cible les développeurs intermédiaires à seniors : elle utilise des termes techniques précis, supporte GCC/G++, JLink et les sous-modules Git. Testée sur de vrais projets, elle évolue encore activement.
Création et configuration initiale du projet
Ouvrez un dossier vide dans VSCode. L'extension détecte l'absence de xmake.lua et vous invite à le générer. Choisissez un preset MCU (comme STM32F103) et configurez vos chemins :
JLINK_PATH: Chemin vers JLink.exe (ex. :c:/Programs/JLink_V872a/JLink.exe).STM32_SDK: Chemin vers ARM GCC de STM32CubeIDE (ex. :c:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.0.202510090749/tools).
Dans la section MCU, ajoutez vos définitions et chemins d'inclusion. Cliquez sur « Réinitialiser aux valeurs par défaut STM32F103 » pour démarrer, puis adaptez à votre projet. Les valeurs sont tirées directement de CubeIDE.
Import CubeMX : Indiquez votre fichier .ioc. Il copie les fichiers de démarrage, scripts linker et pilotes HAL. Votre main.c et code personnalisé restent intacts — idéal pour les configurations sur mesure.
Gestion des sous-modules Git et templates
Dans les paramètres utilisateur VSCode, listez vos sous-modules d'entreprise. L'extension ajoute des boutons en un clic pour les ajouter/supprimer.
Pour la structure de projet, placez un dossier templates à la racine (idéalement en sous-module Git). La génération crée dossiers, fichiers et définitions à partir du template, puis le nettoie.
Elle génère automatiquement .vscode/launch.json pour Cortex-Debug.
Build, optimisation et analyse
Supporte les configs Debug/Release avec niveaux d'optimisation (-O0, -O1, -Os, -O2, -O3). Après build, affiche l'usage Flash/RAM en pourcentages, comme dans ESP-IDF.
Menu déroulant liste les optimisations avec descriptions :
- -O0 : Aucune optimisation, parfait pour le debug.
- -O1 : Optimisations minimales.
- -O2 : Boosts agressifs de vitesse.
- -O3 : Vitesse max, mais debug compliqué.
- -Os : Optimisation orientée taille.
Doxygen installé ? Elle génère les docs du projet automatiquement.
Points forts
- Autogénère
xmake.luaet.vscode/launch.jsonpour minimiser la config manuelle. - Importe les fichiers CubeMX sans écraser votre code.
- Sous-modules Git et templates fluides pour les workflows d'équipe.
- Analyse d'usage mémoire après chaque build.
- Support Doxygen intégré pour la doc.
Pas un outil universel : conçu pour des besoins spécifiques, mais extensible via scripts Lua et templates. Pour le dev STM32 en VSCode, c'est une alternative légère à CubeIDE.
— Editorial Team
Aucun commentaire pour le moment.