Wir haben bereits die Hardware-Debugger-Tools/Programmiergeräte vorgestellt, nun wollen wir gemeinsam das ST-Link-Programmiergerät kennenlernen. In diesem Artikel erfahren Sie mehr über die verschiedenen Versionen von ST-Link, ihre Unterschiede und wie Sie sie zum Programmieren Ihres Chips verwenden können.
ST-Link-Version
Derzeit gibt es drei Versionen von ST-Link: ST-LINK/V1, ST-LINK/V2 und STLINK-V3. Gleichzeitig wird das ST-Entwicklungsboard auch mit einem eigenen ST-Link-Tool geliefert, dessen ST-Link-Version jedoch je nach Entwicklungsboard variiert.
ST-LINK V1
ST-LINK V1 ist die früheste Version, die derzeit nur noch von wenigen Anwendern auf dem Markt verwendet wird.

ST-LINK V2
Die ST-LINK V2-Version kann in zwei Varianten unterteilt werden: ST-LINK/V2 (Standardversion) und ST-LINK/V2-ISOL (isolierte Version). Dabei verfügt ISOL (Isolation) über eine 1000-V-Isolation. Diese Version ist relativ teuer.


ST-LINK V3
STLINK-V3 hat ebenfalls mehrere Kategorien:
STLINK-V3SET
STLINK-V3SET ist ein Satz voll funktionsfähiger Download-Programmierwerkzeuge, die unabhängig vom ST-Evaluierungsboard sind, und ist auch ein gängiges STLINK-V3-Werkzeug. Es ist für 35 US-Dollar erhältlich.

STLINK-3MINI
Im Jahr 2019 brachte ST den kompakteren und kleineren STLINK-3MINI auf den Markt, der nur 15 x 30 mm misst und bei seiner Markteinführung nur 9,75 US-Dollar kostete.

STLINK-V3MODS
Die Funktionen von STLINK-V3MODS und STLINK-V3MINI sind im Grunde genommen identisch, jedoch unterscheiden sich die Anwendungsszenarien. Man kann es mit der „Stempelversion“ von STLINK-V3MINI vergleichen.

B-STLINK-VOLT
Das B-STLINK-VOLT-Board ist ein Zusatzmodul/Adapterboard für STLINK-V3SET. Es eignet sich besser für Niederspannungs-STM32-Systeme (z. B. 1,8 V).

B-STLINK-ISOL
B-STLINK-ISOL ähnelt B-STLINK-VOLT und ist ebenfalls eine „Erweiterungskarte” für STLINK-V3SET. Es bietet galvanische Trennung und Spannungswandlungsfunktionen und wird mit Mikrocontrollern unter 3,3 V verwendet.

STLINK-V3PWR
STLINK-V3PWR, eingeführt im März 2023, ist eine ST-Link-Hardware zur Überwachung und Fehlerbehebung des Stromverbrauchs von STM32-Mikrocontrollern. Der Preis bei Markteinführung beträgt 93,10 $.

Verschiedene Schnittstellen von ST-LINK
SWIM-Schnittstelle
Die SWIM-Schnittstelle wird zum Debuggen und Herunterladen von STM8 verwendet. Sie hat nur vier Drähte und ist wie folgt definiert:
| 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 |
JTAG/SWD-Schnittstelle
Die ST-Link/V2 JTAG/SWD-Schnittstelle ist wie folgt definiert:
| 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 |
ST-LINK-Programmierwerkzeug
Eine gemeinsame Eigenschaft von ST-LINK ist, dass es für die Programmierung (Herunterladen von Programmen) verwendet wird. Zu den Programmierwerkzeugen gehören: STVP, STM32 ST-LINK Utility und STM32CubeProgrammer.
- STVP: Ein Tool, das sowohl für die STM8- als auch für die 32-Programmierung verwendet werden kann.
- ST-LINK Utility: Ein Tool, das auf die Programmierung von STM32 beschränkt ist.
- STM32CubeProg: Ein Tool, das sowohl für die STM8- als auch für die 32-Programmierung verwendet werden kann.
Ein Beispiel für die ST-LINK-Programmierung mit Keil 5
Hier stellen wir Ihnen vor, wie Sie st-link v2 in Keil 5 verwenden können, um Programme für das Arm-Entwicklungsboard herunterzuladen und zu debuggen. Dazu gehören die Verkabelung von stlink, die Konfiguration von stlink in Keil, das Debugging in Keil usw.
Keil 5 Konfiguration
Klicken Sie auf den Zauberstab in der Keil-Symbolleiste, um das unten abgebildete Konfigurationsdialogfeld aufzurufen:


Aktivieren Sie „Zurücksetzen und ausführen“. Das Programm wird nach dem Herunterladen auf den Mikrocontroller automatisch zurückgesetzt und ausgeführt.

Fehlersuche
Debugging-Modus aufrufen
Klicken Sie auf die Schaltfläche, um den Debug-Modus zu aktivieren oder zu deaktivieren:

Gängige Debugging-Vorgänge
Zurücksetzen
Setzen Sie das Programm auf seine Ausgangsposition zurück.

Ein-Schritt-Debugging
Das bedeutet, dass jedes Mal, wenn die Schaltfläche angeklickt wird, das Programm einen Schritt ausführt. Wenn es auf eine aufrufende Funktion stößt, ruft es die aufgerufene Funktion auf. Klicken Sie auf die Symbolschaltfläche oder drücken Sie die Tastenkombination F11.

Schrittweises Debuggen
Das bedeutet zeilenweises Debuggen, d. h. jedes Mal, wenn die Schaltfläche angeklickt wird, führt das Programm eine Zeile aus. Wenn eine Funktion gefunden wird, wird diese nicht aufgerufen. Klicken Sie auf die Symbolschaltfläche oder drücken Sie die Tastenkombination F10.

Debugging beenden
bedeutet, dass das Programm aus der Funktionsdebugging-Funktion herausspringt, d. h. jedes Mal, wenn die Schaltfläche angeklickt wird, springt das Programm aus einer Funktion heraus, bis die äußerste Funktion (Hauptfunktion) erreicht ist. Klicken Sie auf die Symbolschaltfläche oder drücken Sie die Tastenkombination Strg + F11.

Führen Sie das Programm an der gewünschten Position aus.
Wenn Sie auf die Schaltfläche klicken (oder Strg + F11 drücken), wird das Programm an der Cursorposition angehalten (vorausgesetzt, das Programm kann bis zur Cursorposition ausgeführt werden).

Zur Pause-Position von Keils Programm springen
Diese Funktion ist wirksam, wenn das Programm nicht mehr ausgeführt wird, und kann uns dabei helfen, die Stelle zu finden, an der das Programm angehalten wurde.

Debug-Fenster
Das Menü des Debugging-Fensters wird nur während des Debugging-Prozesses aktiviert und unterscheidet sich vom Fenster im normalen Bearbeitungszustand.

Speicher oder variables Fenster
Wählen Sie eine Variable aus, klicken Sie mit der rechten Maustaste und wählen Sie „Variablenname hinzufügen zu…“, um sie zum angegebenen Beobachtungsfenster hinzuzufügen.

Systemperipheriegeräte-Fenster
Das heißt, das Fenster zur Anzeige des Werts des peripheren Registers.




