Processing math: 100%

21 votos

STM32 y ST-LINK - No se puede conectar a MCU después de la programación exitosa

He construido mi propia placa con STM32F7-45VGT6. He programado con éxito con ST-LINK v2 (no el original sin embargo) y ahora ni siquiera puedo conectar con MCU.

Utilizo ST-Link Utility de ST y la interfaz SWD. Puede darse el caso de que utilice los pines SWD como salida y en mi código los configure como salida GPIO. ¿Puede ser el caso?

No obstante, conecto mi pin de reset a GND y configuro la opción "Conectar bajo reset" en ST-Link Utility pero no funciona... ¿Qué puedo hacer?

En Internet, he encontrado algo sobre el uso de BOOT0 Pin, pero no sé exactamente ...

1voto

Sean Carpenter Puntos 5588

Me encontré con el mismo problema en STM32F1xx. Específicamente no podía conectarme al chip STM32 utilizando la interfaz SWD en mi placa personalizada, mientras que todo funcionaba bien en STM32F7xx ejecutando el mismo firmware en una placa NUCLEO. En mi caso, había 2 razones para esto:

  1. el código de inicio (generado por el SDK y CubeIDE) deshabilita la interfaz SWD casi inmediatamente después del encendido A MENOS QUE especifiques que estás usando SWD en el archivo .ioc (la vista de pinouts y configuración en STM32CubeIDE)
  2. no habría importado que la línea nRST estuviera enrutada a la interfaz SWD de mi placa. Por desgracia, me olvidé de llevarlo allí.

Solución a corto plazo: llevé la señal nRST del programador a la línea de reset usando el cable externo (en mi caso fue fácil, ya que tenía un botón físico de reset en mi placa). Luego la flasheé con la versión de FW que tenía SWD especificada en la vista de pinouts. Después de eso, no hubo necesidad de conectar el nRST más.

Solución a largo plazo: encaminar la línea nRST a la interfaz SWD en la próxima revisión de la placa. Con este cambio, podría desactivar SWD de forma segura durante el arranque y reutilizar los pines

0voto

Tuzo Puntos 14234

Para reprogramar la MCU, mantenga pulsado el botón de reset y seleccione conectar al dispositivo en ST-Link Utility o pulse descargar en su IDE (por ejemplo Keil) y luego suelte el botón de reset.

-1voto

Matt Puntos 150

Los pines de arranque (bits en algunas versiones) pueden impedir que arranque el depurador. Asegúrate de no implementar el patrón de arranque en el arranque (cierto patrón binario en los pines boot0 y boot1), de lo contrario tu MCU entrará en estado de arranque.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X