Abbiamo introdotto gli strumenti di debug hardware / programmatore in precedenza, ora impariamo insieme il programmatore ST-Link. In questo articolo imparerai le diverse versioni di ST-Link, le loro differenze e come usarle per programmare il tuo chip.
Versione ST-Link
Attualmente, ci sono tre versioni di ST-Link: ST-LINK/V1, ST-LINK/V2 e STLINK-V3. Allo stesso tempo, la scheda di sviluppo ST viene fornita anche con il suo strumento ST-Link, ma la versione ST-Link varia a seconda della scheda di sviluppo.
ST-LINK V1
ST-LINK V1 è la versione più antica e attualmente poche persone la usano sul mercato.

ST-LINK V2
La versione ST-LINK V2 può essere divisa in due: ST-LINK/V2 (versione standard) e ST-LINK/V2-ISOL (versione isolata). Tra questi, ISOL (Isolation) è dotato di isolamento da 1000V. Questa versione è relativamente costosa.


ST-LINK V3
STLINK-V3 ha anche più categorie:
STLINK-V3SET
STLINK-V3SET è un set di strumenti di download e programmazione completamente funzionali indipendenti dalla scheda di valutazione ST ed è anche uno strumento STLINK-V3 mainstream. È in vendita a $ 35.

STLINK-3MINI
Nel 2019, ST ha lanciato il più compatto e piccolo STLINK-3MINI, che misura solo 15 x 30 mm, e il suo prezzo quando è stato messo in vendita era di soli $ 9,75.

STLINK-V3MODS
Le funzioni di STLINK-V3MODS e STLINK-V3MINI sono fondamentalmente le stesse, ma gli scenari di applicazione sono diversi. Puoi paragonarlo alla versione “stamp” di STLINK-V3MINI.

B-STLINK-VOLT
La scheda B-STLINK-VOLT è un modulo aggiuntivo / una scheda adattatore per STLINK-V3SET. È più adatto per sistemi STM32 a bassa tensione (come 1,8 V).

B-STLINK-ISOL
B-STLINK-ISOL è simile a B-STLINK-VOLT ed è anche una “scheda di espansione” per STLINK-V3SET. Fornisce isolamento galvanico e funzioni di conversione della tensione ed è utilizzato con microcontrollori inferiori a 3,3 V.

STLINK-V3PWR
STLINK-V3PWR, lanciato a marzo 2023, è un hardware ST-Link utilizzato per monitorare e eseguire il debug della corrente a basso consumo di STM32. Il prezzo al lancio è di $ 93,10.

Diverse interfacce di ST-LINK
Interfaccia SWIM
L’interfaccia SWIM viene utilizzata per eseguire il debug e scaricare STM8. Ha solo quattro fili ed è definita come segue:
| 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 |
Interfaccia JTAG / SWD
L’interfaccia ST-Link / V2 JTAG / SWD è definita come segue:
| 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 |
Strumento di programmazione ST-LINK
Una caratteristica comune di ST-LINK è che viene utilizzato per la programmazione (download di programmi). Gli strumenti di programmazione includono: STVP, STM32 ST-LINK Utility e STM32CubeProgrammer.
- STVP: uno strumento che può essere utilizzato sia per la programmazione STM8 che 32.
- ST-LINK Utility: uno strumento limitato alla programmazione STM32.
- STM32CubeProg: uno strumento che può essere utilizzato sia per la programmazione STM8 che 32.
Un esempio di programmazione ST-LINK con Keil 5
Qui introduciamo come utilizzare st-link v2 in Keil 5 per scaricare e eseguire il debug dei programmi per la scheda di sviluppo arm. Inclusi il metodo di cablaggio di stlink, la configurazione di stlink in keil, il debug in keil, ecc.
Configurazione Keil 5
Fai clic sulla bacchetta magica nella barra degli strumenti Keil per visualizzare la finestra di dialogo di configurazione come mostrato di seguito:


Seleziona “Reset e Run”, il programma si ripristinerà e verrà eseguito automaticamente dopo il download nel microcontrollore.

Debug
Entra nello stato di debug
Fai clic sul pulsante per entrare o uscire dalla modalità debug:

Operazioni di debug comuni
Ripristina
Ripristina il programma alla sua posizione iniziale.

Debug passo passo
Significa che ogni volta che il pulsante viene cliccato, il programma esegue un passo. Quando si incontra una funzione chiamata, entrerà nella funzione chiamata. Clicca sul pulsante icona, oppure premi il tasto di scelta rapida F11.

Debug passo passo
Significa debug riga per riga, cioè ogni volta che il pulsante viene cliccato, il programma esegue una riga. Quando viene incontrata una funzione, non entrerà nella funzione. Clicca sul pulsante icona, oppure premi il tasto di scelta rapida F10.

Esci dal Debug
significa uscire dal debug della funzione, cioè ogni volta che il pulsante viene cliccato, il programma esce da una funzione finché non esce dalla funzione più esterna (funzione principale). Clicca sul pulsante icona, oppure premi il tasto di scelta rapida Ctrl + F11.

Esegui il Programma in una Posizione Specifica
Se clicchi sul pulsante (o Ctrl + F11), il programma si fermerà quando raggiungerà la posizione del cursore (a condizione che il programma possa essere eseguito fino alla posizione del cursore).

Vai alla Posizione di Pausa del Programma Keil
Questa funzione è efficace quando il programma si ferma e può aiutarci a trovare la posizione di pausa del programma.

Finestra di Debug
Il menu della finestra di debug viene attivato solo durante il processo di debug ed è diverso dalla finestra nello stato di modifica normale.

Finestra Memoria o Variabile
Seleziona una variabile, fai clic destro con il mouse e seleziona “Aggiungi ‘Nome Variabile’ a…” per aggiungerla alla finestra di osservazione specificata.

Finestra Periferiche di Sistema
Cioè, la finestra di visualizzazione del valore del registro periferico.




