Interfaz Nucleo ST-Link

Este documento describe cómo usar una tarjeta Nucleo STM32L476RG para conectarse a una MCU STM de destino para la descarga de firmware, depuración y conexión de terminal serie. La tarjeta Nucleo se conecta vía USB a un host (Mac, Windows o Linux), la depuración y los cables serie se conectan al equipo de destino. Como resultado, los archivos de firmware (por ejemplo, los archivos Mbed “.bin”) pueden copiarse a la unidad USB Nucleo, que la tarjeta Nucleo entonces flasheará en la tarjeta de destino. “Tera Term” o similar puede utilizarse como terminal COM virtual.

Tarjeta Nucleo: condiciones previas

  • Manuales recomendados de STM: UM1724, manual del usuario, tarjetas Nucleo STM32
  • Asegúrese de que la versión del firmware de Nucleo ST-Link sea V2J29M18 o superior (de lo contrario, la MCU STML433 no funciona correctamente):
  • Utilice la utilidad “STLinkUpgrade” de ST-Link para actualizar el firmware de Nucleo L4 ST-Link

Preparación de la tarjeta Nucleo para la conexión de equipos remotos

Utilice una tarjeta Nucleo estándar que incluya una interfaz ST-Link. Haga lo siguiente para conectar la tarjeta Nucleo a la tarjeta de destino (consulte la figura de la tarjeta Nucleo a continuación):

  • Quite el jumper JP6 (3,3 V para la MCU Nucleo, para evitar señales de MCU)
  • Suelde en el cabezal de pines JP4 (no montado en fábrica)
  • Ponga el jumper en JP4 (permite señales RX/TX en CN3)
  • Quite los jumper CN2 (2 x, esto permite ST-Link para la depuración remota de aplicaciones)

Preparación y conexión del cable adaptador

Un cable adaptador de 8 pines actúa como un cable ST-Link y es necesario para conectar la tarjeta Nucleo a la tarjeta de destino:

SeñalPin ST-LinkPin de destinoComentario
ConsoleCN3-1 (RX)J3-3 (PA15 TX)Terminal USB Virtual COM
ConsoleCN3-2 (TX)J3-1 (PA2 RX)Terminal USB Virtual COM
VDDCN4-1J3-6 (DO NOT CONNECT)Conector de depuración, VDD no es necesario y puede resultar en corriente inversa, por lo tanto déjelo abierto
SWCLKCN4-2J3-5 (PA14)Conector de depuración
GNDCN4-3J3-8Conector de depuración
SWDIOCN4-4J3-7Conector de depuración
RSTCN4-5J3-4Conector de depuración
SWOCN4-6J3-3Conector de depuración

El uso de las líneas RX/TX/RST/SWO entre un equipo remoto y la interfaz ST-Link de la tarjeta Nucleo requiere que los puentes de 0 Ω en la parte posterior de la tarjeta Nucleo se desuelden (véase figura abajo). Otra opción es romper la parte ST-Link (ver la línea blanca punteada en la figura de la tarjeta Nucleo arriba).

0 ΩSeñal
SB12RST
SB13RX
SB14TX
SB15SWO

Cuando el cable ST-Link esté conectado a la aplicación de destino, continúe como se indica a continuación:

  • Conecte el puerto USB a la interfaz ST-Link

El led LD1 ST-Link debería encenderse y la unidad USB “NODE_L476RG” montarse en el escritorio.

Configuración finalizada

Después de que se hayan hecho todas las modificaciones a la tarjeta Nucleo, de acuerdo con las instrucciones anteriores, la tarjeta de destino se puede conectar mediante el cable adaptador de 8 pines:

Cargar el firmware en la tarjeta de destino

Arrastre y suelte el archivo “.bin” que contiene el firmware a la unidad USB Nucleo (“NODE_L476RG”):

LD1 parpadea rápidamente durante unos segundos y cambia a verde (conectado). Si LD1 se ilumina en rojo, no se pudo establecer ninguna conexión de destino.

Conectar el UART serie de destino al terminal host

Para permitir la salida de depuración a través de la interfaz serie, los cables serie del destino (CN3, PA2+PA15) se conectan al depurador ST-Link. Esta comunicación en serie se reenvia al host por el depurador ST-Link a través de una conexión USB Virtual COM y puede utilizarse con un programa terminal.

Se necesitan dos parámetros para utilizar la conexión COM virtual en el host:

  • Nombre del dispositivo USB
  • Tasa de baudios

Windows

El puerto COM del módem USB correcto se puede determinar en el “Panel de control” > “Administrador de dispositivos” de Windows desde la entrada “Puertos (COM & LPT)”:

Una vez que haya encontrado el número del puerto serie, abra “Tera Term” e introduzca el número de puerto y la velocidad de transmisión a través de “Setup» > «Serial port…”:

Salida “Tera Term” de la aplicación de prueba (Windows):

Mac

El nombre correcto del dispositivo USB se puede determinar introduciendo el comando ls /dev/tty.usbmodem* en un shell.

Salida de la aplicación muestra de terminal (Mac/Linux), p. ej:
screen /dev/tty.usbmodemfa413 230400

Sample application output