Aunque quería cargar / depurar un nuevo HAL Eclipse System Workbench para el proyecto STM32 en mi STM32F103, mostraba el siguiente mensaje:
OpenOCD child process termination
Reason:
Wrong device detected
Details:
Wrong device detected
Open On-Chip Debugger 0.10.0-dev-00302-gc211ca5-dirty (2017-07-03-10:41)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
none separate
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 950 kHz
adapter_nsrst_delay: 100
Info : clock speed 950 kHz
Info : STLINK v2 JTAG v27 API v2 SWIM v6 VID 0x0483 PID 0x3748
Info : vid/pid are not identical: 0x0483/0x374B 0x0483/0x3748
Info : using stlink api v2
Info : Target voltage: 3.236436
Error: init mode failed (unable to connect to the target)
in procedure 'init'
in procedure 'ocd_bouncer'
Esto sucede con regularidad, lo que normalmente hago es iniciar la utilidad STLink y seleccionar Target / connect. Esto muestra a veces un error:
Can not connect to target!
If you're trying to connect to an STMW1xx device, please select
Normal or HotPlug mode from Target->Settings menu.
If you're trying to connect a low frequency application, please select
a lower SWD Frequency mode from Target->Settings menu.
Dado que ambos no se aplican, quito la memoria USB STLink (V2, una barata) y el USB para encender el STM y lo intento de nuevo, sobre todo funciona. Cierro la utilidad ST Link y continúo con Eclipse. Esto normalmente toma unos minutos y es molesto, pero al menos puedo continuar.
Sin embargo, ahora sigo recibiendo el mensaje ST Link y no puedo deshacerme de él (también reinicié mi computadora).
Si pruebo ST-LINK / Firmware Update desde la utilidad ST-Link (para comprobar si puedo conectarme al ST Link) y presiono Device Connect, aparece:
ST-Link is not in the DFU mode.
Please restart it
No sé cómo 'reiniciarlo', pero eliminar el enlace ST del USB y reinsertarlo no ayuda.
También probé otro ST-Link, pero tiene el mismo comportamiento.
Que probé otro STM32, que funcionó. Sin embargo, tan pronto como intenté cargar el programa a través de Eclipse, funciona una vez, al volver a intentarlo, tengo los mismos problemas que antes y ahora mis dos STM ya no funcionan. El programa no es especial, y funcionó antes.
¿Cómo restaurar la conexión con Eclipse para que pueda volver a cargar programas para la depuración?
Actualización:
- Traté de poner BOOT0 a 1 (3V), una vez que pude conectarme con el enlace ST, lo borré. Incluso pude depurar después de subir, pero solo una vez. Que los problemas comenzaron como antes.
- Además, de repente, la utilidad ST Link se bloquea al intentar conectarse.
-
Cuando pongo BOOT0 en 0 otra vez, y sigo presionando el botón de reinicio, selecciono borrar la memoria de la utilidad ST Link y suelte el botón de reinicio, podría borrarlo. Esto hace posible de nuevo cargar un programa a través de Eclipse. Sin embargo, después de que el primer punto de interrupción inicial avanzara, recibo el siguiente error:
Error: error de JTAG: -4