"¡No se puede conectar al objetivo!" usando la placa de descubrimiento STM32F0 como ST-Link

0

(primera publicación aquí, así que ten paciencia!)

Hola,

Soy un programador integrado muy novato y he golpeado una pared al intentar usar una placa de descubrimiento STM32 como programador ST-Link para un STM32F051K8T externo. Sé que el hardware que tengo es correcto, ya que heredé este proyecto de alguien que tenía todo funcionando y que podía programar sin problemas.

Las conexiones SWD son las siguientes:

Discovery board CN3 -> external STM32F051K8T
VDD_TARGET -> VDD
SWCLK -> PA14
GND -> GND
SWDIO -> PA13
NRST -> NRST with NOT, pulled up to VDD with 1K
SWO -> PB3

He quitado los puentes CN2 de la placa de descubrimiento y estoy cargando el chip externo a través de un cable USB UART.

Estoy usando la aplicación Windows ST-Link para intentar conectarme a la placa con la siguiente configuración:

LaúnicaotraobservaciónquehehechoquepodríaserdealgunautilidadesquecuandoconectoinicialmenteelcableSWDalaplacaexterna,permaneceencendidounLED(esteLEDestáencendidopermanentementecuandolaplacarecibealimentaciónconlacorriente).firmwarecargadoenél).CuandointentoconectarmealobjetivoenlaaplicaciónST-Linkyapareceelsiguientemensajedeerror,elLEDseapagaypermaneceapagadohastaqueenciendoyapaguelaalimentacióndelaplacaoelimineelcableSWD.

14:11:34:Cannotconnecttotarget!Ifyou'retryingtoconnecttoanSTM32W1xxdevice,pleaseselectNormalorHotPlugmodefromTarget->Settingsmenu.Ifyou'retryingtoconnecttoalowfrequencyapplication,pleaseselectalowerSWDFrequencymodefromTarget->Settingsmenu.14:12:55:Internalcommanderror

Heagotadotodaslasvíasquesemeocurrenparaintentarqueesteproyectofuncione,porloquecualquierayudaseríamuyapreciada.

Mejor,

P

2018-12-0310:43edit:

Notengolalibertaddecompartirelesquemacompleto,peroaquíestánlasconexionesSWD.Además,laalimentaciónllegaatravésdeUSBatravésdeunUART->PuenteI2CyluegoreguladoporunTPS61071DDCR.

    
pregunta Batters

2 respuestas

0

Intente cambiar el "Modo de reinicio" a una configuración para reiniciar el software. El programador es perfectamente bueno al enviar un comando de reinicio del software al chip antes de cargar el código, pero no intentará hacerlo si tiene habilitado el reinicio de hardware, y como no tiene el pin NRST del programador conectado al pin de reinicio en el tablero, el chip nunca se restablecerá.

    
respondido por el Billy Kalfus
0

He logrado resolver mi pregunta sin saber al 100% por qué, pero esto es lo que hice:

  • Establezca la frecuencia SWD en la configuración más baja, 5kHz
  • Use un soporte de sujeción para sujetar el cable de programación (con clavijas con resorte) en la placa externa
  • Compruebe la continuidad desde el CN2 de la placa de descubrimiento hasta los pines relevantes en el chip STM32 externo

En algún momento, las cosas empezaron a funcionar y la aplicación ST-Link mostró el contenido de la memoria del dispositivo y ¡pudo programarlo! Así que supongo que la solución fue asegurar una conexión correcta, o simplemente establecer la frecuencia SWD baja y ser persistente al intentar conectarse, conectar la alimentación, intentar conectarse nuevamente, etc.     

respondido por el Batters

Lea otras preguntas en las etiquetas