2023-05-05 09:20 AM - edited 2023-11-20 06:19 AM
Hi,
I had been using ST/Link 2.1 nucleo header so far to program and debug custom STM32 H723 ZG boards and wanted to switch to ST/Link v3 in order to debug with compact probes. Thus I ordered two genuine ST-Link/V3 MINIE from Mouser.
My custom board and debug connector is confirmed to be working since I can connect and program with STLink V2 and V2.1 .
I've tried to connect through CN2 B2B connector as well a CN4 STDC14 Connector but I can not connect to the target via either method on both MINIE board I purchased.
I've updated firmware to V3J10M3, tried versions with and without Mass Storage. I've tried all Modes and Reset Modes.
Still I can not get target informations. Interestingly, CubeProgrammer states that the (target ?) voltage is 0.24V.
Wondering if there is an issue with my custom STD14 to JST-SH6 cable, i've tried to use a V3-SET with the very same cable and I can successfully connect to the MCU. Displayed voltage is 0.0V which is surprising because I get 3.25V with ST-Link V2.
My custom debug connector was designed for ST-Links V2s and only have a 5V input pad instead of 3.3v. So I can't power the board from the ST/Link. But since I power my board from an external USB, that shouldn't be an issue with the ST/Link V3 MINIE. Unless I am missing something.
Could there be a GND reference sharing problem ? The USB GND and Debug Connector GND are shared in my board routing. And anyway, I'd expect that the GND is shared though the computer USB hub as well.
Any idea why the genuine ST-Link/V3-MINIE are not working ??
Do you know what is and how is calculated the (target) voltage displayed by openocd when connecting to a St-Link ?
Solved! Go to Solution.
2023-05-05 11:22 AM
A lot of the fake ST-LINK/V2's didn't have buffers, and the NUCLEO ones generally don't either.
Authentic ST-LINK/V2 pods need VTarget on Pin 1 (or 2), ARM was pretty specific but everyone screwed it up or implemented it differently.
Segger and ST have a ~5V supply on one of the pins (Pin 19) Usually something current limited with a small resistor for the USB supply.
2023-05-05 09:25 AM
The VTarget on ST-LINK's is typically for powering the ST-LINK side buffers, it's not a way to power your board.
Put 3.0 or 3.3V on the Pin 1 side, confirm it measures THAT
2023-05-05 09:52 AM
Well, indeed if I provide 3.3V on Pin 1 (T_Vcc) of the MINIE, it reads 3.3V on voltage and can connect to target, but if I leave the pin floating it doesn't work. :thumbs_up:
So it means that the I/O shifters referenced on T_Vcc of the V3 MINIE absolutely need to be connected to 3.3V source while the V3-SET's can accommodate a floating T_Vcc pin ? How come ?
Ok, it partially explain where the (target) voltage information comes from on ST-Link V3 : basically an ADC reading the voltage of T_Vcc pin. But then how come the old ST-Link V2 were able to read 3.3v while this pin was not existing or wired ?
Also, do you thing I could bypass the Diode D101 from my boards, thus the I/O shifter will be inputing 5v (4.7V to be exact) from T_Vcc pin(1) and I can use my cable/programming connector as-is instead of adding a flying 3.3v reference wire just for ST-Link/V3 MINIE to work ? Usually ST32 hardware are 5V tolerant and I would expect the level shifter to be also tolerant, right ?
2023-05-05 11:22 AM
A lot of the fake ST-LINK/V2's didn't have buffers, and the NUCLEO ones generally don't either.
Authentic ST-LINK/V2 pods need VTarget on Pin 1 (or 2), ARM was pretty specific but everyone screwed it up or implemented it differently.
Segger and ST have a ~5V supply on one of the pins (Pin 19) Usually something current limited with a small resistor for the USB supply.
2023-05-05 11:26 AM
>>V3 MINIE needs, V3-SET's can accommodate a floating T_Vcc pin ? How come ?
I don't design these things, but I'm sure it's mentioned in the documentation, even if cursorily.
I don't think I'd use the 5V, you have a diode, find a 3.3V on the V3 MINIE