Tutorial de STM32CubeMX para principiantes

Índice

STM32CubeMX

STM32CubeMX es una herramienta de configuración gráfica para chips STM32 lanzada por STMicroelectronics (ST). El software es eficiente y práctico. Permite realizar numerosas configuraciones mediante operaciones sencillas, utiliza asistentes gráficos para generar código en lenguaje C y es compatible con MDK, IAR For ARM, TrueStudio y otras cadenas de herramientas.

Introducción a STM32CubeMX

STM32CubeMX es una herramienta de configuración gráfica de chips STM32 muy utilizada. Integra la selección de chips, la asignación de pines y la configuración de funciones, la configuración de middleware, la configuración del reloj, el código inicial y las funciones del proyecto.

STM32 es compatible con una gran cantidad de middleware de código abierto y propiedad intelectual independiente de ST, como FreeRTOS, FatFS y mbedTLS de la comunidad de código abierto; la pila de protocolos de dispositivo y host USB propia de ST, TouchGFX, etc.

Ventajas de STM32CubeMX

  • Cubre casi todos los chips de la serie STM32;
  • No es necesario configurar parámetros complejos de diversos periféricos;
  • Admite el uso de asistentes gráficos para generar código de inicialización.
  • Admite múltiples cadenas de herramientas, como MDK, IAR For ARM, TrueStudio, etc.

Descarga e instalación de STM32CubeMX

Antes de instalar STM32CubeMX, asegúrese de que su ordenador ya tiene JRE (Java Runtime Environment):

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

Descargar STM32CubeMX

STM32CubeMX Software Download
STM32CubeMX Software Download

Instalación de STM32CubeMX

La última versión actual (2023) es la V6.9.2. Los sistemas compatibles con la instalación son los siguientes:

  • Windows: 7, 8, 10 (32 y 64 bits)
  • Linux: RedHat, Ubuntu y Fedora (32 y 64 bits)
  • macOS: OS X El Capitan y Sierra
STM32CubeMX Installation Process
STM32CubeMX Installation Process

Instalar la biblioteca HAL

La biblioteca de firmware STM32 HAL significa «Hardware Abstraction Layer» (capa de abstracción de hardware). Es la última capa de abstracción de software integrado lanzada por ST Company para STM32 MCU, con el objetivo de lograr una migración fluida entre los MCU de la serie STM32.

Cuando se lanzó la biblioteca HAL, también se añadieron muchos middlewares de terceros, incluidos RTOS, USB, TCP/IP y gráficos.

La biblioteca HAL tiene dos métodos: instalación en línea e instalación fuera de línea.

A continuación, mostramos la primera forma:

Abra el software STM32CubeMX instalado y acceda a la interfaz de gestión de bibliotecas (Ayuda -> Gestionar paquetes de software integrados). A continuación, marque la biblioteca HAL que desea instalar y haga clic en «Instalar ahora» hasta que la instalación se haya completado correctamente. Como se muestra en la siguiente animación:

HAL Installation
HAL Installation

¿Cómo crear un proyecto STM32CubeMX?

En este tutorial, proporciono un ejemplo sencillo de LED parpadeante para principiantes.

Herramientas necesarias

  • STM32CubeMX y biblioteca HAL;
  • Una placa de desarrollo;
  • Un descargador ST-Link;
  • IDE como: MDK-ARM, EWARM, TureSTUDIO, SW4STM32, etc.

Crear un nuevo proyecto

Selector MCU abierto

Abre STM32CubeMX y entra en el selector de MCU.

Access to MCU Selector
Access to MCU Selector

Seleccionar MCU

Seleccione su modelo de MCU, como STM32F103ZET6.

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

Seleccionar fuente de reloj

Si decide utilizar un reloj externo de alta velocidad (HSE), deberá configurar RCC en System Core (como se muestra a continuación). Si utiliza el reloj interno predeterminado (HSI), puede omitir este paso.

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

Seleccionar pin GPIO (LED)

Aquí utilizamos un pin GPIO (PF8) para controlar el encendido y apagado del LED.

Set PF8 as GPIO _Output to Control LED
Set PF8 as GPIO _Output to Control LED

Configurar el reloj

El reloj predeterminado es el reloj interno de alta velocidad (HSI). Aquí, lo cambiamos al reloj externo de alta velocidad (HSE).

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

Gerente de proyectos

Aquí puedes configurar tú mismo los ajustes de tu proyecto: nombre del proyecto, ubicación del proyecto, cadena de herramientas/IDE y mucho más.

Project Settings_Project Manager - STM32CubeMX
Project Settings_Project Manager - STM32CubeMX

Generar código

Las operaciones anteriores completan un proyecto sencillo con una configuración básica. Solo tiene que hacer clic en «Generar código». Una vez generado el código correctamente, puede abrir el proyecto. Antes de abrir el proyecto, debe instalar MDK ARM de Keil.

Code Generator Project Manager STM32CubeMX
Code Generator_Project Manager - STM32CubeMX

Añadir código de aplicación

El código generado no es lo suficientemente completo y necesitamos añadir nuestro propio código de aplicación. Como se muestra en la siguiente figura, insertamos un fragmento de código de parpadeo de LED en main.c, y el LED de la placa de desarrollo parpadeará una vez cada 1000 ms.

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

Nota:

  1. El retraso de 1000 ms requiere que el reloj esté configurado correctamente.
  2. Los pines correspondientes al LED deben ser coherentes con su desarrollo real.
  3. Después de compilar y descargar el proyecto MDK-ARM generado, debe reiniciarlo de nuevo para que pueda ejecutarse.

Suscríbete

Únete a nuestra lista de suscriptores para recibir actualizaciones mensuales del blog, noticias de tecnología y estudios de caso. Nunca enviaremos spam y puedes cancelar tu suscripción en cualquier momento.

Scroll al inicio

Cotización