STM32CubeIDE 1.14.0 reste le meilleur point de départ de l’écosystème STM32Cube pour les équipes à la recherche d’un IDE gratuit qui fonctionne en étroite collaboration avec le reste de l’écosystème STM32Cube. La nouvelle version met à jour la plate-forme Eclipse sur laquelle elle repose, permettant ainsi aux développeurs de bénéficier de ses dernières fonctionnalités. ST continue également de créer de nouveaux projets dédiés à son IDE, ce qui signifie qu’ouvrir un code source ST, l’intégrer dans une application et compiler le tout est de plus en plus accessible, même pour ceux qui ont une connaissance plus rudimentaire de l’univers STM32. De plus, comme STM32CubeIDE est fourni avec STM32CubeMX, il offre aux développeurs une bien meilleure productivité.
Table des matières
Quoi de neuf sur STM32CubeIDE 1.14.0?
De nouveaux MCU compatibles
Tout comme STM32CubeMX et STM32CubeProgrammer, STM32CubeIDE est compatible avec le paquet STM32CubeMP13 qui permet d’utiliser un système d’exploitation en temps réel avec le STM32MP13. Par conséquent, les développeurs seront en mesure de créer et de flasher un firmware bare metal sur le Cortex-A7 du microprocesseur. En fait, les projets de démonstration du nouveau logiciel sont déjà configurés pour STM32CubeIDE (les fichiers se trouvent dans un dossier éponyme sous chaque application). Les utilisateurs peuvent ainsi importer rapidement le code source pour commencer à créer un programme ou essayer une fonctionnalité. De même, l’IDE gratuit gère les microcontrôleurs STM32WBA54 et STM32WBA55 que nous avons annoncés en début d’année.
Nouvelle chaîne de compilation GCC
Le gestionnaire de chaînes de compilation de STM32CubeIDE prend désormais en charge le téléchargement de GCC 12. Trop souvent, les développeurs doivent passer beaucoup de temps à installer une chaîne de compilation pour leur IDE afin de s’assurer que tout fonctionne correctement. Certains doivent même passer du temps dans la documentation pour comprendre quels drapeaux utiliser ou quelles options spécifiques configurer. Le Toolchain Manager résout ce problème en offrant une interface graphique qui permet aux utilisateurs de télécharger et d’installer une chaîne de compilation pour STM32CubeIDE en un seul clic. Cela peut être particulièrement intéressant pour les développeurs qui évaluent la version qui leur convient le mieux. Par exemple, GCC 12 peut offrir une plus grande sécurité mais générer des binaires plus volumineux. Toolchain Manager encourage donc l’expérimentation pour aider les développeurs à prendre la meilleure décision.
Qu’est-ce que STM32CubeIDE ?
Un environnement de développement

STM32CubeIDE est le premier environnement de développement de ST et sert de référence aux développeurs travaillant sur les microcontrôleurs STM32. Nombre d’entre eux utilisent une chaîne de compilation d’un éditeur tiers, et nous travaillons en étroite collaboration avec IAR, Keil et d’autres pour nous assurer qu’ils offrent à leurs utilisateurs une expérience exceptionnelle. Cependant, STM32CubeIDE nous permet de proposer quelque chose de spécial en offrant aux passionnés et aux professionnels un environnement gratuit et riche en fonctionnalités. L’IDE de ST offre des formats de projet flexibles, un sélecteur de chaîne de compilation et des fonctions de débogage avancées. De plus, l’intégration d’outils tels que STM32CubeMXouvre la voie à des processus plus efficaces. STM32CubeIDE est disponible pour Windows, macOS et Linux, avec une version spécifique pour Debian/Ubuntu ainsi que Fedora, et un installateur plus général pour les autres distributions.
L’une des caractéristiques de STM32CubeIDE est qu’il est fourni avec STM32CubeMX. Les développeurs peuvent utiliser ce dernier pour sélectionner leur carte ou leur microcontrôleur et démarrer un projet après avoir configuré le brochage et l’arbre d’horloge. Les utilisateurs peuvent ainsi passer plus facilement de l’écriture du code à l’utilitaire de configuration. Si un projet doit être modifié ou si les équipes réalisent qu’elles doivent faire des ajustements, la mise à jour devient plus simple. De même, au-delà des types de projets basés sur le STM32CubeMX, qui sont idéaux pour le prototypage et les projets simples, STM32CubeIDE offre des formats de projets qui donnent aux utilisateurs plus de contrôle sur leurs fichiers et leurs paramètres. En voici deux exemples :
- Projets gérés par l’outil de développement C ou C++ (CDT). Le format permet un contrôle complet des fichiers, mais les makefiles sont générés automatiquement par l’IDE.
- Les projets Makefile ou CMake permettent à l’utilisateur de gérer à la fois le fichier Makefile et l’ensemble du code source. De nombreuses personnes choisissent ce format en raison de sa flexibilité. Il dissocie l’IDE du système de compilation, ce qui simplifie les mises à jour des outils et rend les projets plus portables, puisqu’une codebase peut cibler plusieurs MCU STM32. Cependant, il nécessite une approche plus pratique, car les utilisateurs ne bénéficient pas des avantages des Makefile générés automatiquement.
Un éditeur de texte
En ce qui concerne son éditeur de texte, STM32CubeIDE utilise un système basé sur Eclipse. Les développeurs peuvent ainsi utiliser des plugins Eclipse pour inspecter leur code source, trouver des bogues ou gérer des équipes à l’aide de systèmes de gestion des tâches. Les développeurs peuvent ainsi utiliser des outils familiers, ce qui réduit la courbe d’apprentissage. Comme c’est traditionnellement le cas avec les éditeurs de texte, STM32CubeIDE inclut également un mécanisme de formatage du code pour améliorer la lisibilité. De plus, l’éditeur propose une fonction d’autocomplétion (raccourci clavier CTRL+Espace), qui expose les fonctions et leurs paramètres pour un développement plus fluide. Par exemple, les utilisateurs peuvent cliquer sur une fonction pour l’appeler dans l’éditeur de texte au lieu de la mémoriser ou de consulter constamment la documentation de référence.
Un débogueur
Le débogueur du STM32CubeIDE prend en charge les dispositifs à un ou plusieurs cœurs. Il peut également gérer le débogage de TrustZone avec le déroulement complet de la pile et la gestion des points d’arrêt CTI (Cross Triggering Interface). En s’appuyant sur plusieurs configurations de débogage, l’utilisateur peut utiliser différentes méthodes pour lancer des sessions de débogage dans divers modes. Par exemple, la programmation de la mémoire interne seulement lorsqu’il n’y a pas de changement de code sur la mémoire externe peut entraîner un gain de temps considérable. Le débogueur prend également en charge le traçage basé sur les événements du Serial Wire Viewer, ce qui permet une analyse et un profilage précieux en cours d’exécution. Il existe également un support pour le traçage RTOS d’Azure RTOS ThreadX et FreeRTOS avec des traces de piles multithread complètes et la visualisation des objets d’événements du noyau.
D’où vient STM32CubeIDE ?
Avant STM32CubeIDE, les développeurs utilisaient SW4STM32, une version gratuite de System Workbench. Elle était populaire parmi les passionnés et les étudiants, comme l’a montré l’Université du Michigan-Dearborn, qui a utilisé la chaîne de compilation pour écrire une application pour voiture sans conducteur. STM32CubeIDE a pris le relais en prenant en charge nos microcontrôleurs et les MPU STM32, mais en proposant également STM32CubeMX. ST ne supporte plus SW4STM32, mais le logiciel est toujours disponible sur OpenSTM32.org. Depuis des années, STM32CubeIDE permet de porter facilement des projets depuis SW4STM32 afin de faciliter la transition vers le nouvel IDE. Par conséquent, l’ancienne solution est principalement utilisée pour d’anciens projets.
L’un des événements qui a finalement conduit à l’arrivée de STM32CubeIDE a été l’acquisition d’Atollic par ST en 2017. L’éditeur de logiciels était célèbre pour TrueSTUDIO, qui a aidé de nombreux développeurs à comprendre le fonctionnement interne de leurs applications. Par exemple, les outils de trace et de profilage permettaient aux utilisateurs de tracer les données, les événements, l’historique de la mémoire et de visualiser les variables en temps réel, ce qui était inestimable pour saisir le comportement du code sans geler son exécution. Après l’acquisition, STM32CubeIDE a obtenu toutes ces fonctionnalités et bien plus encore. STM32CubeIDE offre également la possibilité de porter facilement des projets depuis TrueSTUDIO pour aider les utilisateurs à passer de l’un à l’autre.
Quelles sont les caractéristiques historiques de STM32CubeIDE ?

La première chose que les utilisateurs remarquent est le centre d’information, qui abrite de nombreuses ressources sur les outils de développement et le hardware STM32. Par exemple, des manuels de référence, des guides d’utilisation et des vidéos tutorielles sont immédiatement disponibles. De plus, en présentant de nouvelles fonctionnalités et de nouveaux logiciels dans le centre d’information, les utilisateurs peuvent obtenir plus rapidement des informations sur les dernières mises à jour. C’est aussi l’occasion de rappeler d’anciennes fonctionnalités, comme le mécanisme d’exportation Azure RTOS TraceX. En bref, les développeurs peuvent exporter des traces et les analyser dans TraceX pour accélérer les opérations de débogage.
STM32CubeIDE vise également à réduire la courbe d’apprentissage pour les nouveaux venus. Par exemple, il existe un large éventail de vidéos tutorielles. Actuellement, la plupart des contenus se concentrent sur l’environnement de développement intégré et le STM32CubeMX, mais d’autres sont à venir. Lorsque les utilisateurs cliquent sur un picto, un lien ouvre une fenêtre de navigation vers YouTube. Les développeurs qui démarrent une application autour du Bluetooth, du GNSS, du MEMS, du NFC, etc. peuvent ainsi commencer par consulter la vidéo correspondante. Les vidéos servent de complément au manuel d’utilisation déjà disponible dans STM32CubeIDE.
Meilleure intégration de CMake
L’une des principales caractéristiques du STM32CubeIDE est son intégration avec CMake, la famille d’utilitaires open-source conçue pour aider les développeurs à construire, tester et livrer leurs logiciels. CMake est un outil très apprécié des ingénieurs logiciels, car il les aide à élaborer de vastes projets multiplateformes. C’est pourquoi de nombreux utilisateurs de STM32CubeIDE nous ont demandé de prendre en charge CMake. La communauté ST a même publié un guide étape par étape en 2020 qui utilisait un plugin Eclipse. Aujourd’hui, la nouvelle version de l’IDE gratuit rend les choses beaucoup plus simples, et pour aider davantage les utilisateurs, nous avons également publié une note pour les guider dans le processus.
Débogage sans projet
Le débogage sans projet permet de déboguer des fichiers .ELF sans passer des heures à configurer ou à porter un projet au format STM32CubeIDE. Compte tenu de la prolifération des éditeurs de texte et des IDE multiplateformes, il est essentiel de s’adapter aux développeurs plutôt que de les forcer à utiliser un processus particulier. Par exemple, de nombreuses entreprises permettent aux développeurs de logiciels d’utiliser l’IDE de leur choix, en leur demandant seulement d’utiliser une version commune du compilateur. De plus, ST a toujours adopté une approche agnostique afin de promouvoir l’interopérabilité avec le plus grand nombre d’outils.
Le problème de l’agnosticisme des IDE est que personne ne peut s’attendre à ce que tous les IDE tiers prennent en charge les fonctions de débogage avancées du STM32. Par conséquent, certains développeurs se sentent obligés d’utiliser une solution qu’ils n’affectionne pas vraiment, simplement parce qu’elle manque de fonctionnalités. La fonction de débogage sans projet de STM32CubeIDE résout ce problème. Il permet au développeur de logiciels d’utiliser n’importe quel IDE ou éditeur de texte, n’importe quelle compilation et n’importe quel compilateur, mais d’ouvrir rapidement STM32CubeIDE pour bénéficier de fonctions de débogage spécifiques lorsque cela est nécessaire. Par conséquent, l’IDE de ST offre une bien plus grande flexibilité et encourage les développeurs STM32 à utiliser ce qu’ils préfèrent plutôt que de les enfermer dans un environnement restrictif.