cancel
Showing results for 
Search instead for 
Did you mean: 

Problems connecting ST-LINK V3 and STM32F103C8T6

ILebe.1
Associate

Hello. I have a weird problem connecting a purchased V3 emulator to a blue pill board with STM32F103C8T6.

I have:

1) STLINK V3 original emulator (tested two copies from the same batch, with different firmware: the latest firmware from the site and the firmware that was purchased)

2) STLINK V2 clone - purchased earlier for testing.

3) Nucleo-F756G original board. (works great)

4) "Blue Pill" board with STM32F103C8T6.

 and ST-LINK Utility v 4.5.0, USB driver v 5.1.2

If I connect "Blue Pill" to "STLINK V2 clone" or "STLINK V2.1 on Nucleo-F756G" emulators, then the target is successfully detected and connected.

If I connect the target "STM32F756 on Nucleo-F756G" to the emulator "STLINK V3", everything also works fine: the connection to the target is established and work with the controller memory is possible.

But if I connect "Blue Pill" to "STLINK V3", then the connection is not established: I see the error "Detection fail".

 "Blue Pill" has an external power supply, its value is 3.2 volts (this is confirmed by the fact that when working through V2 emulators), for connection I tried connectors CN6 (SWD) and CN2 (ARM 20-pin). In all experiments I use 4 wires: T_VCC, GND, CLK, DIO.

I am attaching two screenshots: successful connection "STLINK V2.1" with STM32F103C8T6 and unsuccessful connection "STLINK V3" with STM32F103C8T6. Also a photo of the emulator and target connection.

I tried to investigate the exchange via SWD with a logic analyzer: data transfer works in both directions, but the content of the transferred data is slightly different. the attached file v2.txt contains a decryption of the connection "STLINK V2.1" with STM32F103C8T6. In the v3.txt file, the decryption of the failed connection "STLINK V3" with STM32F103C8T6.

As I understand it, individually, each device works, as it can interface with one of the others. The connection "STLINK V3" with STM32F103C8T6 is also done correctly, since there is a two-way exchange via SWD. But in this case the connection cannot be established. Please help me understand this situation

3 REPLIES 3
Uwe Bonnes
Principal III

For some reason, StlinkV3 checks the MCUID very early. That way, StlinkV3 can deny to debug non-ST MCUS. As a side effect of this protection(?), however reading the MCUID that early in the connection setup often fail, e.g. because the device is in WFI, some other sleep or who knows what else.

0693W000003BWTTQA4.jpgThanks for the answer. Yes, I admit that my STM32F103C8T6 may turn out to be unoriginal (and I don't know how to check it). However, I was hoping that I would see a more specific error message in this case. Moreover, the original V2.1 emulator does not refuse to work with it.

Uwe Bonnes
Principal III

Recent bl*ckm*g*c reports non STM F103 as the PIDR in the ROMtable is different and often the core revision