2019-05-01 04:44 PM
Hello,
I have been working with a Nucleo eval board and have not had any problems with the ST-Link connection. Recently I got an ST-Link/V2 ISOL dongle to use with a custom board using the same chip, and have been unable to connect with it. There seem to be a couple issues, I'll detail them below. In these examples I am using the STM32Programmer Tool since it has the most verbosity, but I have similar results with the STLink Utility and the AC6 System Workbench.
1) The USB connection is flaky: When I try to refresh the connection, or connect to the target, frequently it loses the USB connection and I have to either unplug or disable/renable the device to reconnect. See below: The first connect succeeded, and then I get a DEV_USB_COMM_ERR when I try to refresh. When using the EVAL board I can refresh the connection with no issues.
2) The board voltage is incorrect. With the eval board, I see the target voltage of ~3.3V. With the dongle, I've seen anything from 0V to 2.2V, but never 3.3V. I have measured the voltage in the ribbon cable going into Vcc at 3.3V, so I'm not sure why the dongle doesn't see it. In the image below, the ribbon cable is completely disconnected but the target voltage is non-zero:
3) The device isn't recongnized: On the occasions when the USB comm isn't lost when trying to connect, I instead get an error that the device isn't recognized. No screenshot of this one, but here is the error details:
Wrong device detected
Open On-Chip Debugger 0.10.0-dev-00011-g46c94c8 (2018-09-06-08:52)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
srst_only separate srst_nogate srst_open_drain connect_assert_srst
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter_nsrst_delay: 100
adapter speed: 1800 kHz
Info : clock speed 1800 kHz
Info : STLINK v2 JTAG v31 API v2 SWIM v7 VID 0x0483 PID 0x3748
Info : vid/pid are not identical: 0x0483/0x374B 0x0483/0x3748
Info : using stlink api v2
Info : Target voltage: 0.001575
Error: target voltage may be too low for reliable debugging
Error: init mode failed (unable to connect to the target)
in procedure 'init'
in procedure 'ocd_bouncer'
For comparison, here is an example where I'm connected to the eval board. You can see that the voltage is correct and a refresh worked fine:
I have tried with multiple ST-Link dongles, and multiple USB cables and the issues are consistent.
Any suggestions for what could be wrong, or how to debug this issue?
Thank you.
2019-05-01 05:44 PM
>>I have tried with multiple ST-Link dongles, and multiple USB cables and the issues are consistent. Any suggestions for what could be wrong, or how to debug this issue?
A NON-ISOLATED one? Authentic ones?
The other commonality is the board. Is that working with basic software? Can you access/write using ROM System Loader via USB or UART?
2019-05-02 08:02 AM
I have not tried any non-ISOL dongles: we only got the isolated ones. We can certainly try the normal version but will have to order them.
Are there issues with inauthentic STLink dongles? I imagine we sourced them from a reliable vendor, but will double-check.
We were using these dongles for our first attempt at programming the new board. I will try the USB/UART route to verify that the issue is with the dongle and not the board.
2019-05-02 04:20 PM
The NUCLEO's present a non-isolated ST-LINK SWD connection option, and the ST-LINK portion can be detached from target half of the board.
Not using the ISOL pods here, but not sure how they'd measure target voltage.
The problem with fake/counterfeit pods is you don't know how much functionality and componentry was left out.
2023-08-01 01:11 AM
Just connect those points(3.3v and gnd) , then it will work