Tutoriel STM32CubeMX pour débutants

Table des Matières

STM32CubeMX

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) :

https://www.java.com/en/download/manual.jsp

Téléchargement STM32CubeMX

STM32CubeMX Software Download
STM32CubeMX Software Download

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
STM32CubeMX Installation Process
STM32CubeMX Installation Process

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 :

HAL Installation
HAL Installation

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.

Access to MCU Selector
Access to MCU Selector

Sélectionner le microcontrôleur

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

Selector MCU to Start a New Project
Selector MCU to Start a New Project

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.

High Speed Clock (HSE) _ RCC Mode and Configuration
High Speed Clock (HSE) _ RCC Mode and Configuration

Sélectionner la broche GPIO (LED)

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

Set PF8 as GPIO _Output to Control LED
Set PF8 as GPIO _Output to Control 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).

High Speed Clock (HSE) Configuration
High Speed Clock (HSE) Configuration

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.

Project Settings_Project Manager - STM32CubeMX
Project Settings_Project Manager - STM32CubeMX

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.

Code Generator Project Manager STM32CubeMX
Code Generator_Project Manager - STM32CubeMX

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.

LED Blinking Code for STM32 MCU Project
LED Blinking Code for STM32 MCU Project

Remarque :

  1. Le délai de 1000 ms nécessite que votre horloge soit correctement configurée.
  2. Les broches correspondant aux LED doivent être cohérentes avec votre développement réel.
  3. 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.

Abonnez-vous

Rejoignez notre liste d’abonnés pour obtenir mensuel blog des mises à jour, des nouvelles technologies, des études de cas. Nous n’enverrons jamais de spam, et vous pouvez vous désinscrire à tout moment.

Retour en haut

Instant Quote