STM32CubeMX est un outil de configuration graphique pour les puces STM32 lancé par STMicroelectronics (ST). Ce logiciel est efficace et pratique. Il permet de réaliser de nombreuses configurations à l'aide d'opérations simples, d'utiliser des assistants graphiques pour générer du code en langage C et prend en charge MDK, IAR For ARM, TrueStudio et d'autres chaînes d'outils.
Introduction à STM32CubeMX
STM32CubeMX est un outil de configuration graphique largement utilisé pour les puces STM32. Il intègre la sélection des puces, l'affectation des broches et la configuration des fonctions, la configuration des middlewares, la configuration de l'horloge, le code initial et les fonctions du projet.
STM32 prend en charge une multitude de middlewares open source et de propriété intellectuelle indépendants de ST, tels que FreeRTOS, FatFS, mbedTLS de la communauté open source ; la pile de protocoles hôte et périphérique USB propre à ST, TouchGFX, etc.
Avantages de STM32CubeMX
- Couvre presque toutes les puces de la série STM32 ;
- Pas besoin de configurer les paramètres complexes des différents périphériques ;
- Prend en charge l'utilisation d'assistants graphiques pour générer le code d'initialisation ;
- Prend en charge plusieurs chaînes d'outils, telles que MDK, IAR For ARM, TrueStudio, etc.
Téléchargement et installation de STM32CubeMX
Avant d'installer STM32CubeMX, assurez-vous que votre ordinateur dispose déjà de JRE (Java Runtime Environment) :
Téléchargement STM32CubeMX

STM32CubeMX Installation
La dernière version actuellement disponible (2023) est la V6.9.2. Les systèmes prenant en charge l'installation sont les suivants :
- Windows : 7, 8, 10 (32 et 64 bits)
- Linux : RedHat, Ubuntu et Fedora (32 et 64 bits)
- macOS : OS X El Capitan et Sierra

Installer la bibliothèque HAL
La bibliothèque firmware STM32 HAL signifie Hardware Abstraction Layer (couche d'abstraction matérielle). Il s'agit de la dernière couche d'abstraction logicielle embarquée lancée par la société ST pour les microcontrôleurs STM32, dans le but de permettre une migration transparente entre les microcontrôleurs de la série STM32.
Lors du lancement de la bibliothèque HAL, de nombreux middlewares tiers ont également été ajoutés, notamment RTOS, USB, TCP/IP et des composants graphiques.
La bibliothèque HAL propose deux méthodes : l'installation en ligne et l'installation hors ligne.
Nous vous présentons ici la première méthode :
Ouvrez le logiciel STM32CubeMX installé et accédez à l'interface de gestion de la bibliothèque (Aide -> Gérer les packages logiciels embarqués). Cochez ensuite la bibliothèque HAL que vous souhaitez installer et cliquez sur « Installer maintenant » jusqu'à ce que l'installation soit terminée. Comme le montre l'animation suivante :

Comment créer un projet STM32CubeMX ?
Dans ce tutoriel, je fournis un exemple simple de clignotement de LED pour les débutants.
Outils nécessaires
- STM32CubeMX et bibliothèque HAL ;
- Une carte de développement ;
- Un téléchargeur ST-Link ;
- IDE tel que : MDK-ARM, EWARM, TureSTUDIO, SW4STM32, etc.
Créer un nouveau projet
Sélecteur MCU ouvert
Ouvrez STM32CubeMX et accédez au sélecteur MCU.

Sélectionner le microcontrôleur
Sélectionnez votre modèle de microcontrôleur, tel que STM32F103ZET6.

Sélectionner la source d'horloge
Si vous choisissez d'utiliser une horloge externe haute vitesse (HSE), vous devez configurer RCC dans System Core (comme indiqué ci-dessous). Si vous utilisez l'horloge interne par défaut (HSI), cette étape peut être ignorée.

Sélectionner la broche GPIO (LED)
Nous utilisons ici une broche GPIO (PF8) pour contrôler l'allumage et l'extinction de la LED.

Configurer l'horloge
L'horloge par défaut est l'horloge interne haute vitesse (HSI). Ici, nous la remplaçons par l'horloge externe haute vitesse (HSE).

Chef de projet
Ici, vous pouvez personnaliser les paramètres de votre projet : nom du projet, emplacement du projet, chaîne d'outils/IDE, etc.

Générer le code
Les opérations ci-dessus permettent de terminer un projet simple avec une configuration de base. Il vous suffit de cliquer sur « Générer le code ». Une fois le code généré, vous pouvez ouvrir le projet. Avant d'ouvrir votre projet, vous devez installer MDK ARM de Keil.

Ajouter le code de l'application
Le code généré n'est pas suffisamment complet et nous devons ajouter notre propre code d'application. Comme le montre la figure ci-dessous, nous insérons un morceau de code de clignotement LED dans main.c, et la LED sur la carte de développement clignotera une fois toutes les 1000 ms.

Remarque :
- Le délai de 1000 ms nécessite que votre horloge soit correctement configurée.
- Les broches correspondant aux LED doivent être cohérentes avec votre développement réel.
- Après avoir compilé et téléchargé le projet MDK-ARM généré, vous devez le réinitialiser à nouveau pour qu'il puisse fonctionner.




