Korrekte Verdrahtung des 10-poligen Cortex-M-Debug-Anschlusses

Der 10-Pin-Debug-Anschluss von ARM Cortex-M hat fünf interessante Signale, im Original-PDF heißen sie:

  • SWDIO/TMS
  • SWDCLK / TCK
  • SWO/TDO
  • NC / TDI
  • nRESET

Für MCUs, die nur SWD unterstützen und möglicherweise sogar kein SWO haben (wie der STM32F030), gehe ich davon aus, dass die Verkabelung wie folgt ist:

  • SWDIO / TMS: PA13 ("SWDIO")
  • SWDCLK / TCK: PA14 ("SWCLK")
  • SWO / TDO: Offen
  • NC/TDI: Offen
  • nRESET: NRST (Chip-Reset)

Ist die Annahme, dass nRESET Chip-Reset bedeutet, richtig?

Denn wenn ja, wie wäre es mit einem größeren Gerät wie einem STM32F103:

  • SWDIO/TMS: PA13 ("JTMS/SWDIO")
  • SWDCLK / TCK: PA14 ("JTCK/SWCLK")
  • SWO/TDO: PB3 ("JTDO/TRACESWO")
  • NC / TDI: PA15 ("JTDI")
  • nRESET: NRST (Chip-Reset) oder PB4 (JNTRST)

Hier ist nicht mehr klar, wo nRESET angeschlossen werden soll: An das Chip-Reset-Signal (NRST) oder das JTAG-Reset-Signal (JNTRST)?

Ist es außerdem empfehlenswert, sowohl die SWD- als auch die JTAG-Verbindung an ein Gerät anzuschließen, das beide unterstützt (wie das STM32F103)? Wenn ein solches Gerät nur an SWD angeschlossen werden soll, ändert sich dann die Bedeutung von nRESET (dh bei Verwendung von JTAG wird es möglicherweise an JNTRST angeschlossen, aber wenn es nur SWD verwendet, wird es an NRST angeschlossen)?

Ich denke, Sie müssen einen Link für das STM32F103-Datenblatt hinzufügen und uns auf den Abschnitt verweisen, der die NRST- und JNTRST-Eingänge beschreibt. Und machen Sie keine Annahmen ... lesen Sie das Datenblatt.

Antworten (1)

nRESET und JNTRST erfüllen nicht denselben Zweck.

nRESET ist ein vollständiger Chip-Reset.
JNTRST ist jtag reset, das für Boundary Scan verwendet wird.

Der kleine 10-polige ARM SWD- Anschluss verbindet sich nicht mit JNTRST, das ist eine JTAG-Funktion. Dazu benötigen Sie die 20-Pin-Version.

Wie auch im Handbuch des ST Link V2 beschrieben , der den 20-Pin-Anschluss hat. Beachten Sie, dass NRST immer NRST ist.Geben Sie hier die Bildbeschreibung ein

nRESET ist ebenfalls optional. Nur wenn Sie den Zugriff auf SWDIO und SWCLK deaktivieren möchten, ist ein vollständiger Chip-Reset durch den Programmierer erforderlich.


Ich füge dem Programmieranschluss oft einen unbestückten Widerstand in Reihe mit NRST hinzu, um das Risiko von Problemen im Feld zu verringern. Ich kann dies für Prototypen hinzufügen, wo es erforderlich sein könnte. Die Produktionsprogrammierung wird dadurch nicht behindert.