Programando la STM32 Blue Pill con Arduino IDE. Parte 2: uso de ST-Link

En la primera parte de esta serie de artículos dedicados a la programación de la Blue Pill con el IDE de Arduino vimos como instalar el core del STM32 y el programa STM32CubeProgrammer, junto a todos los drivers necesarios. En esta segunda parte nos concentraremos en el proceso de grabación utilizando el programador/depurador ST-Link.

El programador y depurador ST-Link

El ST-Link es un dispositivo que nos sirve para programar los micros STM8 y STM32 y también para hacer una depuración del funcionamiento del programa, permitiendo que lo hagamos funcionar paso a paso, inspeccionar las variables, detener la ejecución en una instrucción en particular y muchas otras funciones sumamente útiles para encontrar los errores que pueda contener el código (aunque la depuración no está soportada en el versión 1.X del Arduino IDE).

El ST-Link original de ST funciona para toda la línea de micros y emplea dos interfaces: SWI y JTAG, el que permite una depuración mas completa, pero por unos pocos dólares también se consiguen las versiones alternativas, en formato de “dongle” USB con interfaz SWI, pero que son perfectamente útiles para la Blue Pill

Fig. 1. ST-Link original a la izquierda y alternativo a la derecha

En el artículo anterior de esta serie vimos como instalar el software programador, el STM32CubeProgrammer y los drivers necesarios. Para verificar que el sistema operativo reconozca el ST-Link (Windows en mi caso) debemos conectarlo y acceder al Administrador de dispositivos:

Fig. 2. Driver del ST-Link instalado en Windows

Conexión del ST-Link

La conexión del ST-Link a la Blue Pill es muy sencilla, ya que son solo 4 pines los que se deben cablear: SWCLK, SWDIO, 3.3V y GND. Hay que prestar especial atención a la distribución de los pines, ya que puede cambiar de un ST-Link a otro.

Conexiones

Revisar siempre el conexionado de los pines en la serigrafía impresa sobre el ST-Link, porque puede variar de uno a otro

Fig. 3. Conexiones del ST-Link

En la siguiente imagen puede verse el ST-Link cableado a la Blue Pill

Fig. 4. El ST-Link conectado

Configuración del IDE

Antes de poder probar el ST-Link debemos aseguramos que el método de programación (Upload Method) esté configurado como STM32CubeIdeProgrammer (SWD)

Fig. 5. Método de grabación

Van a notar que no aparecen nuevos puertos COM (como sucede con los Arduino o los ESP) pero no desesperen, no significa que algo haya ido mal en la instalación: el ST-Link no genera un VCP (Virtual COM Port) y el driver lo controla de manera directa.

Probando la instalación

Para comprobar el funcionamiento vamos a hacer funcionar el típico programa de ejemplo “Blink”, haciendo parpadear el led incluido en la Blue Pill, que está en el pin PC13 y ya se encuentra definido como LED_BUILTIN. Para ello abriremos el programa desde el menú ArchivoEjemplos01.BasicsBlink

Fig. 6. El ejemplo Blink

Si pulsamos el botón Subir, el programa se compila y se graba en la BluePill, comenzando a funcionar inmediatamente.

Fig. 7. El programa cargado en la BluePill

El core STM32 es un desarrollo activo, que cuenta con muchos desarrolladores que incluyen nuevas funciones constantemente. Para una referencia mas completa pueden visitar su Wiki, donde encontraran las placas soportadas, las librerías disponibles y una referencia de la API, para saber cómo debemos acceder al hardware. También pueden acceder a la página de GitHub del proyecto y el foro si tienen la necesidad de realizar alguna consulta.

Conclusiones

En este artículo vimos como programar la Blue Pill con un grabador ST-Link. En la siguiente y última parte de la serie analizaremos como hacerlo a través de un adaptador FTDI.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: