Nous avons déjà présenté les outils de débogage matériel / programmeur. Voyons maintenant ensemble le programmeur ST-Link. Dans cet article, vous découvrirez les différentes versions de ST-Link, leurs différences et comment les utiliser pour programmer votre puce.
Version ST-Link
Il existe actuellement trois versions de ST-Link : ST-LINK/V1, ST-LINK/V2 et STLINK-V3. Parallèlement, la carte de développement ST est également fournie avec son propre outil ST-Link, mais la version ST-Link varie en fonction de la carte de développement.
ST-LINK V1
ST-LINK V1 est la version la plus ancienne, et actuellement peu de gens l'utilisent sur le marché.

ST-LINK V2
La version ST-LINK V2 peut être divisée en deux : ST-LINK/V2 (version standard) et ST-LINK/V2-ISOL (version isolée). Parmi celles-ci, ISOL (Isolation) est dotée d'une isolation de 1000 V. Cette version est relativement coûteuse.


ST-LINK V3
STLINK-V3 comporte également plusieurs catégories :
STLINK-V3SET
STLINK-V3SET est un ensemble d'outils de programmation et de téléchargement entièrement fonctionnels, indépendants de la carte d'évaluation ST, et constitue également un outil STLINK-V3 courant. Il est commercialisé au prix de 35 $.

STLINK-3MINI
En 2019, ST a lancé le STLINK-3MINI, plus compact et plus petit, mesurant seulement 15 x 30 mm, et son prix à la mise en vente n'était que de 9,75 $.

STLINK-V3MODS
Les fonctions du STLINK-V3MODS et du STLINK-V3MINI sont fondamentalement les mêmes, mais leurs scénarios d'application sont différents. Vous pouvez le comparer à la « version tampon » du STLINK-V3MINI.

B-STLINK-VOLT
La carte B-STLINK-VOLT est un module complémentaire/une carte adaptateur pour STLINK-V3SET. Elle est plus adaptée aux systèmes STM32 à basse tension (tels que 1,8 V).

B-STLINK-ISOL
Le B-STLINK-ISOL est similaire au B-STLINK-VOLT et est également une « carte d'extension » pour le STLINK-V3SET. Il offre des fonctions d'isolation galvanique et de conversion de tension et s'utilise avec des microcontrôleurs inférieurs à 3,3 V.

STLINK-V3PWR
STLINK-V3PWR, lancé en mars 2023, est un matériel ST-Link utilisé pour surveiller et déboguer le courant à faible consommation STM32. Son prix de lancement est de 93,10 $.

Différentes interfaces ST-LINK
Interface SWIM
L'interface SWIM est utilisée pour déboguer et télécharger STM8. Elle ne comporte que quatre fils et est définie comme suit :
| ST-LINK Port | STM8 Target Board | Function |
|---|---|---|
| VDD | MCU VCC | Connects to STM8's power supply VCC |
| DATA | MCU SWIM PIN | Connects to STM8's SWIM pin |
| GND | GND | Connects to STM8's GND |
| RESET | MCU RESET PIN | Connects to STM8's reset pin |
Interface JTAG/SWD
L'interface ST-Link/V2 JTAG/SWD est définie comme suit :
| Pin | ST-LINK Port | Target STM32 (JTAG) | Target STM32 (SWD) |
|---|---|---|---|
| 1 | TVCC | MCU VDD | MCU VDD |
| 2 | TVCC | MCU VDD | MCU VDD |
| 3 | TRST | JNTRST | GND |
| 4 | GND | GND | GND |
| 5 | TDI | JTDI | GND |
| 6 | GND | GND | GND |
| 7 | TMS_SWDIO | JTMS | SWDIO |
| 8 | GND | GND | GND |
| 9 | TCK_SWCLK | JTCK | SWCLK |
| 10 | GND | GND | GND |
| 11 | NC | NC | NC |
| 12 | GND | GND | GND |
| 13 | TDO_SWO | JTDO | TRACESWO (for SWV) |
| 14 | GND | GND | GND |
| 15 | NRST | NRST | NRST |
| 16 | GND | GND | GND |
| 17 | NC | NC | NC |
| 18 | GND | GND | GND |
| 19 | VDD | NC | NC |
| 20 | GND | GND | GND |
Outil de programmation ST-LINK
Une caractéristique commune du ST-LINK est qu'il est utilisé pour la programmation (téléchargement de programmes). Les outils de programmation comprennent : STVP, STM32 ST-LINK Utility et STM32CubeProgrammer.
- STVP : outil pouvant être utilisé pour la programmation STM8 et 32.
- ST-LINK Utility : outil limité à la programmation STM32.
- STM32CubeProg : outil pouvant être utilisé pour la programmation STM8 et 32.
Exemple de programmation ST-LINK avec Keil 5
Nous vous présentons ici comment utiliser st-link v2 dans Keil 5 pour télécharger et déboguer des programmes pour la carte de développement arm. Cela inclut la méthode de câblage de stlink, la configuration de stlink dans keil, le débogage dans keil, etc.
Keil 5 Configuration
Cliquez sur la baguette magique dans la barre d'outils Keil pour afficher la boîte de dialogue de configuration comme indiqué ci-dessous :


Cochez « Réinitialiser et exécuter », le programme se réinitialisera automatiquement et s'exécutera après le téléchargement vers le microcontrôleur.

Débogage
Entrer en mode débogage
Cliquez sur le bouton pour entrer ou sortir du mode débogage :

Opérations courantes de débogage
Réinitialiser
Réinitialisez le programme à sa position initiale.

Débogage en une seule étape
Cela signifie que chaque fois que vous cliquez sur le bouton, le programme exécute une étape. Lorsqu'il rencontre une fonction d'appel, il entre dans la fonction appelée. Cliquez sur le bouton icône ou appuyez sur la touche de raccourci F11.

Débogage étape par étape
Cela signifie un débogage ligne par ligne, c'est-à-dire que chaque fois que vous cliquez sur le bouton, le programme exécute une ligne. Lorsqu'une fonction est rencontrée, il n'entre pas dans la fonction. Cliquez sur le bouton icône ou appuyez sur la touche de raccourci F10.

Sortir du débogage
signifie sortir du débogage de fonction, c'est-à-dire que chaque fois que vous cliquez sur le bouton, le programme sort d'une fonction jusqu'à ce qu'il sorte de la fonction la plus externe (fonction principale). Cliquez sur le bouton icône ou appuyez sur la combinaison de touches Ctrl + F11.

Exécutez le programme jusqu'à la position spécifique.
Si vous cliquez sur le bouton (ou appuyez sur Ctrl + F11), le programme s'arrêtera lorsqu'il atteindra la position du curseur (à condition que le programme puisse être exécuté jusqu'à la position du curseur).

Aller à la position de pause du programme Keil
Cette fonction est efficace lorsque le programme cesse de s'exécuter et peut nous aider à trouver l'emplacement de la pause du programme.

Fenêtre de débogage
Le menu de la fenêtre de débogage n'est activé que pendant le processus de débogage et diffère de celui de la fenêtre en mode d'édition normal.

Mémoire ou fenêtre variable
Sélectionnez une variable, cliquez avec le bouton droit de la souris et sélectionnez « Ajouter « Nom de la variable » à… » pour l'ajouter à la fenêtre d'observation spécifiée.

Fenêtre Périphériques système
C'est-à-dire la fenêtre d'affichage de la valeur du registre périphérique.



