Diagrama de circuito
Fondo&Loqueheintentado.
- HecableadoestaconfiguraciónyomismousandounaMCUSTM32F411RCnuevadedigikey(enunaplacadearranqueLQFP-64aDIP-64).
- HeconectadoelSWCLK,SWDIO,NRST,GND,MCU_VDD,comosedescribeenelManualdelusuariodeST-LINK/V2(UM1075).
- AlimentemiprototipoutilizandoelUSB,unmultímetroconfirmaque3.3VestállegandoacadaunodelosparesVSS/VDD&PinVBAT.
- HeprobadolasdistintasfrecuenciasparaSWD,asícomolosdiversosmodosdereinicioymodosenlaGUIdeWindows.
- MicableadoestanmínimocomoestetipoqueusaelSTM32F030,asíquenoestoysegurodecuáleselproblema:
enlace - Soy capaz de conectarme usando UART, sin embargo, parece que el programa STM Flash Loader solo brinda la capacidad de cargar a la versión de 512 K, pero tengo la versión de 256 K.
Mensaje de error
arch:~$ st-util -v99
2016-05-18T12:50:58 DEBUG src/stlink-common.c: stlink current mode: debug (jtag or swd)
2016-05-18T12:50:58 DEBUG src/stlink-common.c: stlink current mode: debug (jtag or swd)
2016-05-18T12:50:58 DEBUG src/stlink-common.c: *** looking up stlink version
2016-05-18T12:50:58 DEBUG src/stlink-common.c: st vid = 0x0483 (expect 0x0483)
2016-05-18T12:50:58 DEBUG src/stlink-common.c: stlink pid = 0x3748
2016-05-18T12:50:58 DEBUG src/stlink-common.c: stlink version = 0x2
2016-05-18T12:50:58 DEBUG src/stlink-common.c: jtag version = 0x19
2016-05-18T12:50:58 DEBUG src/stlink-common.c: swim version = 0x4
2016-05-18T12:50:58 INFO src/stlink-common.c: Loading device parameters....
2016-05-18T12:50:58 DEBUG src/stlink-common.c: *** stlink_core_id ***
2016-05-18T12:50:58 DEBUG src/stlink-common.c: core_id = 0x00000000
2016-05-18T12:50:58 DEBUG src/stlink-common.c: *** stlink_read_debug32 0 is 0xe0042000
2016-05-18T12:50:58 DEBUG src/stlink-common.c: *** stlink_read_debug32 0 is 0x40015800
2016-05-18T12:50:58 WARN src/stlink-common.c: unknown chip id! 0
2016-05-18T12:50:58 DEBUG src/stlink-common.c: *** stlink_close ***
Bajo Linux se detecta ST-LINK / V2, sin embargo, la MCU no lo es.
Windows STM ST-LINK Utility trace.log:
Error (0x16) after target cmd F2 36 04 20 04 E0 00 00 00 00
W at 0xe0042004: 0x00000000
Error (0x12) after target cmd F2 35 04 20 04 E0 00 00 00 00
W at 0xe000edf0: 0xa05f0000
Error (0x12) after target cmd F2 35 F0 ED 00 E0 00 00 5F A0
cErrLog::SetLogTraceOn
STLinkUSBDriver.dll loaded
ST-Link/V2 device detected
Target voltage detected: 3.222947
Driving NRST low
Error getting target IDCODE: if SWD, check SWD connection
Error (4) while initializing ST-Link in SWD mode
ST-Link/V2 device detected
Target voltage detected: 3.221382
Driving NRST low
Error getting target IDCODE: if SWD, check SWD connection
Error (4) while initializing ST-Link in SWD mode
ST-Link/V2 device detected
Target voltage detected: 3.221382
Driving NRST low
Error getting target IDCODE: if SWD, check SWD connection
Error (4) while initializing ST-Link in SWD mode
La GUI de Windows muestra "Error de detección" para "Destino" & "Voltaje objetivo", y muestra el mensaje de error "No se puede conectar al objetivo".
Preguntas
- ¿Alguna idea sobre lo que debería probar a continuación, o qué podría estar impidiendo que SWD funcione?
- Soy capaz de conectarme usando UART; sin embargo, el programa STM Flash Loader detecta el modelo de chip aunque sea ligeramente incorrecto, solo tengo la versión 512K en el menú desplegable enlace pero mi chip es la versión de 256K, por lo que parece que no puedo usar el Flash Loader para cargar en un programa. ¿Existen otras herramientas que conozcan el mapa de memoria del chip de 256 K y puedan flashear un binario?
Lo que todavía tengo que probar
- Coloque una resistencia de 22ohm en la línea NRST entre el ST-LINK / V2 y la placa. (AN4488 pg42)
- Conecte completamente y conecte a tierra todos los otros pines de cabecera ST-LINK / V2 como se muestra en AN4488 pg42, aunque no creo que sea necesario.
Dashasheets
- Página del producto con todas las hojas de datos: enlace