QC1 STM32F103 CMake ToolsQC1 permet de compiler et flasher un projet STM32F103 directement depuis VS Code. La compilation utilise CMake + Ninja. Si le firmware possède son propre Liix AI — agent local avec LM StudioL'icône Liix AI ouvre maintenant un assistant de programmation agentique. En mode Agent ou Full, le modèle peut demander des outils structurés pour inspecter le workspace, lire et rechercher des fichiers, consulter les diagnostics, appliquer une modification, lancer un build ou des tests et relire Git. Chaque résultat est réinjecté dans la conversation avant le tour suivant du modèle. Pour utiliser LM Studio :
Le provider local est le défaut pour une nouvelle configuration; Liix Cloud doit être sélectionné explicitement. Liix utilise Les modes gardent des limites différentes : Chat lit sans modifier; Agent demande une confirmation pour les écritures et commandes; Full automatise les opérations de risque faible ou moyen autorisées, mais conserve une confirmation pour le risque élevé. Les chemins hors workspace et les commandes destructives telles que Par quoi commencer
Les fichiers compilés se trouvent ensuite dans Structure minimale du projetQC1 accepte un projet CMake bare-metal :
Il accepte aussi la structure STM32CubeMX :
Le startup et le linker sont obligatoires. Exemple prêt à copier : faire clignoter la LED D1-1 sans HAL
Dans le projet de référence présent sur cette machine, la LED d'état utilise :
L'exemple utilise donc PC13. Il ne fait aucun appel à 1. Ajouter le module bare metalCopie ces deux fichiers du modèle dans ton firmware :
Le module reprend le fonctionnement non bloquant de 2. Utiliser le modèle
|
| ST-Link | STM32F103 |
|---|---|
| SWDIO | PA13 / SWDIO |
| SWCLK | PA14 / SWCLK |
| GND | GND |
| 3.3 V | 3.3 V, seulement si le ST-Link alimente la carte |
Ne branche pas le 5 V sur une entrée 3,3 V. Si la carte possède sa propre alimentation, relie au minimum les masses ensemble. Pour démarrer normalement après le flash, place généralement BOOT0 à 0.
5. Flasher
Clique sur Flash STM32. QC1 compile d'abord le firmware, puis essaie OpenOCD et st-flash.
Le flash physique demande encore :
- un ST-Link reconnu par le système;
- son pilote si le système en exige un;
- OpenOCD ou
st-flashaccessible par QC1.
Pour exécuter les deux étapes en une fois, utilise Build + Flash + Status.
Commandes QC1
- Build Project : configure et compile avec CMake + Ninja.
- Clean Project : nettoie la cible CMake.
- Rebuild Project : nettoie puis recompile.
- Flash STM32 : compile, puis flashe avec OpenOCD ou
st-flash. - Build + Flash + Status : exécute toute la séquence.
- Detect ST-Link : vérifie la détection du programmateur.
- Open Serial Monitor : ouvre
qc1.serialPortau débitqc1.baudRate. - Start OpenOCD Server : lance OpenOCD avec les configurations ST-Link et STM32F1.
- Show STM32 Status : affiche l'état du projet et des outils.
- Créer un rapport de diagnostic : prépare un rapport Markdown partageable avec les versions, l'état du projet, des outils, du matériel, du build, de Git, les problèmes VS Code et le journal QC1 récent.
Toutes les commandes sont aussi accessibles avec Cmd+Shift+P sur macOS ou Ctrl+Shift+P sur Windows/Linux, puis en recherchant QC1 STM32.
Configuration facultative
L'auto-détection suffit normalement. Ces réglages VS Code permettent toutefois de forcer un chemin :
qc1.projectPath: racine du projet STM32;qc1.cmakePath: exécutable CMake personnalisé;qc1.compilerPath: compilateur ARM GCC personnalisé;qc1.openocdPath: exécutable OpenOCD personnalisé;qc1.stlinkPath: exécutablest-infoutilisé pour détecter le ST-Link;qc1.serialPortetqc1.baudRate: port et débit du moniteur série;qc1.autoDetectProject: active ou désactive la recherche récursive du firmware;qc1.buildDirectory: dossier de build,build/qc1par défaut;qc1.buildType: type de build,Debugpar défaut.
Dépannage rapide
Envoyer une erreur avec tout son contexte
Après une erreur QC1, clique directement sur Créer un rapport dans la notification. Tu peux aussi utiliser le bouton du panneau QC1 ou ouvrir la palette de commandes et lancer QC1 STM32: Créer un rapport de diagnostic. Décris brièvement ce qui s'est passé; QC1 collecte ensuite les états utiles et ouvre une prévisualisation Markdown. Vérifie le contenu, puis enregistre-le ou copie-le avant de l'envoyer.
QC1 ne lit pas directement le contenu du code source pour créer le rapport. Un message du compilateur déjà présent dans le journal ou dans les problèmes VS Code peut néanmoins contenir un extrait. Le rapport ne collecte pas les variables d'environnement, les réglages Liix ou l'URL du dépôt Git, et il masque automatiquement les chemins personnels, les clés, les jetons et les mots de passe connus.
Le projet n'est pas détecté
Ouvre le dossier du firmware, laisse qc1.autoDetectProject activé, ou définis précisément qc1.projectPath. Un chemin relatif est résolu depuis le workspace.
La compilation ne démarre pas
Redémarre VS Code après l'installation et laisse Embedded Build Tools terminer son premier téléchargement. Lance ensuite Show STM32 Status.
Le build fonctionne, mais pas le flash
Vérifie le câblage SWD, l'alimentation, la masse commune et la détection du ST-Link. Le problème n'est alors généralement pas lié à CMake.
La LED ne clignote pas
Vérifie d'abord que D1-1 est réellement reliée à PC13 et qu'aucun autre module ne modifie cette broche. Le modèle utilise 1U pour une LED active à l'état haut; utilise 0U dans les appels d'initialisation si ta LED est active à l'état bas.
Ce qui est autonome
Le VSIX contient l'interface QC1, le moteur TypeScript, le modèle CMake STM32F103, le fichier de toolchain et l'exemple bare metal D1-1. CMake, Ninja et ARM GCC sont fournis automatiquement par la dépendance Embedded Build Tools : aucune installation système de ces trois outils n'est requise.
La seule limite concerne le matériel : un flash réel ne peut pas être autonome sans ST-Link, pilote compatible et outil de communication avec le programmateur.