Cableado correcto del conector de depuración Cortex-M de 10 pines

El conector de depuración ARM Cortex-M de 10 pines tiene cinco señales interesantes, en el PDF original se nombran:

  • SWDIO/TMS
  • SWD CLK / TCK
  • SWO / TDO
  • NC/TDI
  • nRESET

Para MCU que solo admiten SWD y que incluso podrían no tener SWO (como el STM32F030), asumo que el cableado es el siguiente:

  • SWDIO/TMS: PA13 ("SWDIO")
  • SWDCLK/TCK: PA14 ("SWCLK")
  • SWO/TDO: Abierto
  • NC/TDI: Abierto
  • nRESET: NRST (reinicio de chip)

¿Es correcta la suposición de que nRESET significa reinicio de chip?

Porque si lo es, ¿qué tal un dispositivo más grande como un STM32F103?

  • SWDIO/TMS: PA13 ("JTMS/SWDIO")
  • SWDCLK/TCK: PA14 ("JTCK/SWCLK")
  • SWO/TDO: PB3 ("JTDO/TRACESWO")
  • NC/TDI: PA15 ("JTDI")
  • nRESET: NRST (reinicio de chip) o PB4 (JNTRST)

Aquí, ya no está claro dónde conectar nRESET: ¿A la señal de reinicio del chip (NRST) o la señal de reinicio JTAG (JNTRST)?

Además, ¿es una buena práctica conectar tanto la conexión SWD como la JTAG a un dispositivo que admita ambos (como el STM32F103)? Si dicho dispositivo solo debe conectarse a SWD, ¿cambia el significado de nRESET (es decir, cuando se usa JTAG tal vez esté conectado a JNTRST, pero cuando solo se usa SWD está conectado a NRST)?

Creo que debe agregar un enlace para la hoja de datos STM32F103 y señalarnos la sección que describe las entradas NRST y JNTRST. Y no haga suposiciones... lea la hoja de datos.

Respuestas (1)

nRESET y JNTRST no cumplen el mismo propósito.

nRESET es un reinicio completo del chip.
JNTRST es un reinicio de jtag, que se usa para el escaneo de límites.

El pequeño conector ARM SWD de 10 pines no se conecta a JNTRST, esa es una característica de JTAG. Necesitas la versión de 20 pines para eso.

Como también se describe en el manual del ST Link V2 , que tiene el conector de 20 pines. Tenga en cuenta que NRST siempre es NRST.ingrese la descripción de la imagen aquí

nRESET también es opcional. Solo si tiene la intención de deshabilitar el acceso a SWDIO y SWCLK, se requiere un reinicio completo del chip por parte del programador.


A menudo agrego una resistencia no poblada en serie con NRST al conector de programación para reducir el riesgo de problemas en el campo. Puedo agregar esto para prototipos, donde podría ser necesario. Esto no impide la programación de la producción.