Interface Nucleo ST-Link

Ce document décrit comment connecter une carte Nucleo STM32L476RG à un MCU STM cible pour les téléchargements de firmware, le débogage et les connexions de terminaux série. La carte Nucleo se connecte via USB à un hôte (Mac, Windows ou Linux), le débogage et les câbles série sont connectés à la cible. Cela permet de copier les fichiers du firmware (par ex. les fichiers « .bin » de Mbed) sur la clé USB du Nucleo, qui est ensuite flashé de la carte Nucleo dans la cible. « Tera Term » ou etc. peut être utilisé comme terminal COM virtuel.

Carte Nucleo : conditions préalables

  • Manuels STM recommandés : UM1724, Manuel d’utilisation, Cartes STM32 Nucleo
  • Assurez-vous que la version du firmware Nucleo ST-Link est V2J29M18 ou supérieure (sinon le MCU STML433 ne fonctionnera pas correctement) :
  • Pour mettre à jour le firmware du Nucleo-L4-ST-Link, utilisez l’utilitaire « STLinkUpgrade »

Préparation de la carte Nucleo pour la connexion de la cible à distance

Utilisez une carte Nucleo standard dotée d’une interface ST-Link. Procédez comme suit pour connecter la carte Nucleo à la cible (voir illustration de la carte Nucleo ci-dessous) :

  • Ouvrir le cavalier JP6 (3,3 V pour Nucleo MCU, pour éviter les signaux MCU)
  • Souder le connecteur JP4 (non monté en usine)
  • Régler le cavalier JP4 (active les signaux RX/TX sur CN3)
  • Ouvrir le cavalier CN2 (2 x, ceci permet le débogage d’application à distance pour ST-Link)

Préparation et raccordement du câble adaptateur

Un câble adaptateur à 8 broches sert de câble ST-Link reliant la carte Nucleo à la carte cible :

SignalBroche ST-LinkBroche cibleExplication
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 (NE PAS CONNECTER)Connexion au débogage, la VDD n’est pas nécessaire et pourrait favoriser les courants de fuite, alors veuillez laisser ouvert
SWCLKCN4-2J3-5 (PA14)Connexion au débogage
GNDCN4-3J3-8Connexion au débogage
SWDIOCN4-4J3-7Connexion au débogage
RSTCN4-5J3-4Connexion au débogage
SWOCN4-6J3-3Connexion au débogage

Pour utiliser les connexions RX/TX/RST/SWO entre une cible distante et l’interface ST-Link de la carte Nucleo, les ponts 0 Ω en bas de la carte Nucleo doivent être déconnectés (voir figure ci-dessous). L’interface ST-Link de la carte peut également être déconnectée (voir ligne pointillée blanche sur la carte Nucleo dans la figure ci-dessus).

0 ΩSignalisation
SB12RST
SB13RX
SB14TX
SB15SWO

Si vous avez connecté le câble ST-Link à l’application cible, procédez comme suit :

  • Connectez le port USB à l’interface ST-Link

LD1 sur la carte ST-Link doit s’allumer et la clé USB « NODE_L476RG » doit être montée sur le bureau.

Configuration terminé

Après toutes les modifications apportées à la carte Nucleo conformément aux étapes ci-dessus, la carte cible peut être connectée via le câble adaptateur à 8 broches :

Charger le firmware sur la cible

Glissez le fichier « .bin » contenant le firmware sur la clé USB du Nucleo (« NODE_L476RG ») :

LD1 clignote rapidement pendant quelques secondes et passe au vert (connecté). Si LD1 est rouge, aucune connexion avec la cible n’a pu être établie.

Connecter l’UART série de la cible au terminal hôte

Pour permettre le débogage de la pression série, les câbles série de la cible (CN3, PA2+PA15) sont connectés au débogueur ST-Link. Cette communication série est transmise du débogueur ST-Link à l’hôte via une connexion USB Virtual COM et peut être utilisée avec un programme terminal.

Deux paramètres sont nécessaires pour utiliser la connexion COM virtuelle sur l’hôte :

  • Nom du périphérique USB
  • Rapidité de modulation

Windows

Le port COM correct pour le modem USB peut être trouvé via « Panneau de configuration » > « Gestionnaire de périphériques » de l’entrée « Ports (COM & LPT) » :

Une fois que vous avez trouvé le numéro de port du port série, ouvrez « Tera Term » et entrez le numéro de port et la rapidité de modulation via « Setup > Serial port… » :


Sortie d’échantillon « Tera Term » (Windows) :

Mac

Le nom correct du périphérique USB peut être modifié en entrant la commande ls /dev/tty.usbmodem* dans un shell.

Sortie d’échantillon terminal (Mac/Linux), ex. :
screen /dev/tty.usbmodemfa413 230400

Sample application output