Problemas al conectar la placa de descubrimiento ST-Link V2 y STM32F4

No puedo conectarme a mi placa STM32F4Discovery usando un ST-Link/v2 .

Quité los puentes de CN3, conecté los cables correctamente, pero la herramienta de utilidad no detecta nada...

Usando el manual de ST-Link/v2 :

PIN1  (VAPP)      -> VDD
PIN7  (TMS_SWDIO) -> PA13
PIN9  (TCK_SWCLK) -> PA14
PIN20 (GND)       -> GND

Aquí está la conexión física:

ingrese la descripción de la imagen aquí

Y la configuración del software:

ingrese la descripción de la imagen aquí

Este es el mensaje de error que recibo al intentar conectarme:

ingrese la descripción de la imagen aquí

Aquí está el mensaje de registro que recibo en el seguimiento:

ST-Link/V2 device detected
Target voltage detected: 0.601975
Driving NRST low
Error getting target IDCODE: if SWD, check SWD connection
Error (4) while initializing ST-Link in SWD mode

Por favor ayuda, me está volviendo loco...

¿Sabes que el Discovery tiene un ST-Link incorporado?
Sí, pero soldé otro chip SMT32F en una placa adaptadora e intenté acceder a él. No pude y luego recurrí a un dispositivo que sé que debería funcionar (placa de descubrimiento) y ahora tengo los mismos problemas. Así que necesito hacer que funcione en un tablero profesional y solo entonces puedo pasar con 100% de certeza a mi propio tablero.
Ya veo, entonces no importa mi comentario.
Tengo el mismo problema :( StjepanV ¿podría aclarar cómo solucionó el problema, por favor? Gracias, Mariano
¡Hola @MarianoJimenezBrenes! Mi problema fue que no estaba suministrando un VCC dedicado para el chip (3V en mi caso). Necesita alimentar el chip por separado. El pin JTAG VCC es solo para detección de voltaje, no para suministro de energía.
Aunque esta publicación me resultó útil, me gustaría agregar que la imagen está mal. Dijiste correctamente que: PIN1 -> VDD PIN7 -> PA13 PIN9 -> PA14 PIN20 -> GND Pero en la imagen tienes: PIN1 -> VDD PIN9 -> PA13 PIN11 -> PA14 PIN20 -> GND El problema es con la imagen de Google motor de búsqueda, la gente perezosa haría conexiones equivocadas (como yo mismo en mi primer intento, jeje). PD Esto debería ser un comentario, pero mi reputación aún no me lo permite ;)
-1 por publicar una imagen que muestra conexiones SWD incorrectas que difieren del texto, ya que los dos pines del medio están conectados incorrectamente por 1 en los pines 9 y 11 del STLINK en lugar de los pines 7 y 9 a los que pertenecen.
@ChrisStratton ¿Sabe si hay alguna razón por la que esto no funcionaría para la nueva versión STM32F407G-DISC1 ? Tengo todo cableado correctamente, pero cuando trato de programar con openocd me sale errorError: timed out while waiting for target halted | TARGET: stm32f4x.cpu - Not halted | embedded:startup.tcl:477: Error: ** Unable to reset target **
Todo este asunto de usar un STLINK externo en una placa que tiene uno incorporado es una tontería para empezar...
@ChrisStratton Es útil para crear prototipos cuando no desea incluir al programador en el diseño final. Creo que este es el problema: electronics.stackexchange.com/a/365146/194001
No, no tiene sentido. Si desea tener un programador, instale los puentes. Si no desea que un programador los elimine. El cableado en uno externo es simplemente una tontería hasta que llega a una placa personalizada o un prototipo de ruptura que no tiene el suyo propio.

Respuestas (2)

Voltaje objetivo detectado: 0.601975

Necesitas potenciar tu objetivo. El adaptador de depuración no proporciona energía, usa el Vtargetpin para determinar los niveles de voltaje de salida.

¡Gracias por la pronta respuesta! Ahora que conecté la entrada de 3.3 V, comienza a parpadear y todas esas cosas de demostración, pero ahora tengo un nuevo error: Dispositivo ST-Link/V2 detectado Voltaje objetivo detectado: 3.242133 Error al obtener el IDCODE objetivo: si SWD, verifique la conexión SWD Error ( 4) mientras se inicializa ST-Link en modo SWD
"Restablecimiento de hardware" requiere que la línea de restablecimiento esté conectada. Aparentemente, este no es el caso.
Lo conecté ahora, tira del pin NRST hacia abajo y parpadea por un momento cuando presiono el botón de conexión y luego arroja un error arriba. Y he intentado usar el modo Normal pero me está dando el mismo error.
Entonces, el problema fue cuando conecté la placa de descubrimiento usando USB, aunque los puentes CN3 no estaban conectados, todavía reconocía el ST-Link v2 integrado e intenté usar ese... Después de darme cuenta dolorosamente de cambiarlo a uno externo, funcionó simplemente ¡bien! ¡Gracias a todos los involucrados!

Presumiblemente, usa el puerto GPIOA en su código fuente. Si es así, primero descargue el programa al descubrimiento; su código entra en conflicto con los pines swd. Cuando enciende su placa, su código fuente cambia los roles de los pines pa13 y pa14. Debe conectar swd a su placa inmediatamente después del reinicio (y hacerlo después de la alimentación) antes de cargar su código en la CPU.

¿Qué debes hacer? Deberías borrar la memoria flash.

Primero abra la utilidad STM32 ST-LINK.

  1. presione y mantenga presionado descubrir el botón negro (botón nrst),
  2. haga clic en destino -> configuración,
  3. seleccione la opción "conectar bajo reinicio"; al mismo tiempo, haga clic en actualizar y suelte el botón negro de la placa de descubrimiento,
  4. repita hasta que STM32 ST-LINK Utility conecte su placa,
  5. borrar memoria flash,
  6. ¡disfrutar!