While I wanted to upload/debug a new HAL Eclipse System Workbench for STM32 project on my STM32F103 it showed the following message:
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'
This happens regularly, what I normally do is startup up STLink utility, and select Target/connect. This shows sometimes an 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.
Since both do not apply, I remove the USB STLink stick (V2, cheap one) and USB for power to the STM and try again, mostly it works. I close the ST Link utility and continue with Eclipse. This takes normally a few minutes and is annoying, but at least I can continue.
However, now I keep getting the ST Link message and cannot get rid of it (also restarted my computer).
If I try ST-LINK/Firmware Update from the ST-Link utility (to check if I can get connection to the ST Link itself), and press Device Connect, I get:
ST-Link is not in the DFU mode.
Please restart it
I don't know how to 'restart' it, but removing the ST Link from the USB and reinserting does not help.
I also tried another ST-Link, but it has the same behavior.
Than I tried another STM32, that worked. However, as soon as I tried to upload the program via Eclipse, it works once, when retrying, I get the same problems as above and now I have both of my STM's not working anymore. The program is not special, and worked before.
How to restore the connection with Eclipse so I can upload programs for debugging again?
Update:
- I tried to put BOOT0 to 1 (3V), I could get once connection with ST link, I erased it. I could even debug after uploading, but just once. Than the problems started as before.
- Also, suddenly, the ST Link utility crashes when trying to connect.
When I put BOOT0 to 0 again, and keep pressing the reset button, select erase memory from the ST Link utility and release the reset button, I could erase it. This makes it possible again to upload a program via Eclipse. However, after the first initial breakpoint stepping further, I get continuous the following error:
Error: JTAG failure: -4
Answer
It seems that in the HAL project the SYS / Debug was not set to Serial Wire (this is not default).
However, the first time it was possible to debug, but not afterwards anymore. The reason is that the JTAG/SWDIO is disabled during the application. When it is disabled, even a connection is hard to make.
What worked:
- Set BOOT0 to 1
- Keep Reset button pressed
- Remove / Erase Chip
- Restart debugging
No comments:
Post a Comment