cancel
Showing results for 
Search instead for 
Did you mean: 

Error: Data read failed - when connecting to STM32F103C8BT6 Blue Pill

chriskuku
Senior III

Title edited to flag that this relates to a Blue Pill


I'm trying to connect an STM32-STLink-V2 with three wires via SWD (GND, SCLK,SDIO). Was able to run a firmware upgrade, now V2J46S7.
Clicking on Connect gives:

15:35:11 : UR connection mode is defined with the HWrst reset mode
15:35:11 : ST-LINK SN  : XXXXXXXXXXXXXXXXXXXXXXXXXX
15:35:11 : ST-LINK FW  : V2J46S7
15:35:11 : Board       : --
15:35:11 : Voltage     : 3.02V
15:35:11 : SWD freq    : 4000 KHz
15:35:11 : Connect mode: Normal
15:35:11 : Reset mode  : Hardware reset
15:35:11 : Device ID   : 0x410
15:35:11 : Revision ID : Rev X
15:35:11 : Debug in Low Power mode is not supported for this device.
15:35:12 : UPLOADING OPTION BYTES DATA ...
15:35:12 :   Bank          : 0x00
15:35:12 :   Address       : 0x4002201c
15:35:12 :   Size          : 8 Bytes
15:35:12 :   Bank          : 0x01
15:35:12 :   Address       : 0x1ffff800
15:35:12 :   Size          : 16 Bytes
15:35:12 : UPLOADING ...
15:35:12 :   Size          : 1024 Bytes
15:35:12 :   Address       : 0x8000000
15:35:12 : Read progress:
15:35:13 : Error: Data read failed
15:37:13 : Disconnected from device.

 

What's wrong?

1 ACCEPTED SOLUTION

Accepted Solutions

It turned out far less complicated: the RDP bit was set. After unticking it using STM32CubeProgrammer, I was able to read the device.

08:58:28 : STM32CubeProgrammer API v2.20.0 | MacOS-64Bits
08:58:34 : UR connection mode is defined with the HWrst reset mode
08:58:35 : UR connection mode is defined with the HWrst reset mode
08:58:35 : ST-LINK SN  : 0A031612A218303030303032
08:58:35 : ST-LINK FW  : V2J46S7
08:58:35 : Board       : --
08:58:35 : Voltage     : 2.88V
08:58:35 : SWD freq    : 4000 KHz
08:58:35 : Connect mode: Normal
08:58:35 : Reset mode  : Hardware reset
08:58:35 : Device ID   : 0x410
08:58:35 : Revision ID : Rev X
08:58:35 : Debug in Low Power mode is not supported for this device.
08:58:37 : UPLOADING OPTION BYTES DATA ...
08:58:37 :   Bank          : 0x00
08:58:37 :   Address       : 0x4002201c
08:58:37 :   Size          : 8 Bytes
08:58:37 :   Bank          : 0x01
08:58:37 :   Address       : 0x1ffff800
08:58:37 :   Size          : 16 Bytes
08:58:37 : UPLOADING ...
08:58:37 :   Size          : 1024 Bytes
08:58:37 :   Address       : 0x8000000
08:58:37 : Read progress:
08:58:38 : Error: Data read failed
09:01:09 : Option byte command : -ob RDP=0xBB
09:01:09 : qCmd : -ob RDP=0xBB
09:01:09 : PROGRAMMING OPTION BYTES AREA ...
09:01:09 :   Bank          : 0x01
09:01:09 :   Address       : 0x1ffff800
09:01:09 :   Size          : 16 Bytes
09:01:10 : UPLOADING OPTION BYTES DATA ...
09:01:10 :   Bank          : 0x00
09:01:10 :   Address       : 0x4002201c
09:01:10 :   Size          : 8 Bytes
09:01:10 :   Bank          : 0x01
09:01:10 :   Address       : 0x1ffff800
09:01:10 :   Size          : 16 Bytes
09:01:11 : OPTION BYTE PROGRAMMING VERIFICATION:
09:01:11 : Option Bytes successfully programmed
09:01:11 : Time elapsed during option Bytes configuration: 00:00:01.341
09:01:39 : Disconnected from device.
09:01:41 : UR connection mode is defined with the HWrst reset mode
09:01:43 : UR connection mode is defined with the HWrst reset mode
09:01:43 : ST-LINK SN  : 0A031612A218303030303032
09:01:43 : ST-LINK FW  : V2J46S7
09:01:43 : Board       : --
09:01:43 : Voltage     : 2.91V
09:01:43 : SWD freq    : 4000 KHz
09:01:43 : Connect mode: Normal
09:01:43 : Reset mode  : Hardware reset
09:01:43 : Device ID   : 0x410
09:01:43 : Revision ID : Rev X
09:01:43 : Debug in Low Power mode is not supported for this device.
09:01:45 : UPLOADING OPTION BYTES DATA ...
09:01:45 :   Bank          : 0x00
09:01:45 :   Address       : 0x4002201c
09:01:45 :   Size          : 8 Bytes
09:01:45 :   Bank          : 0x01
09:01:45 :   Address       : 0x1ffff800
09:01:45 :   Size          : 16 Bytes
09:01:45 : UPLOADING ...
09:01:45 :   Size          : 1024 Bytes
09:01:45 :   Address       : 0x8000000
09:01:45 : Read progress:
09:01:46 : Error: Data read failed
09:01:58 : Option byte command : -ob RDP=0xA5
09:01:58 : qCmd : -ob RDP=0xA5
09:01:58 : PROGRAMMING OPTION BYTES AREA ...
09:01:58 :   Bank          : 0x01
09:01:58 :   Address       : 0x1ffff800
09:01:58 :   Size          : 16 Bytes
09:01:58 : UPLOADING OPTION BYTES DATA ...
09:01:58 :   Bank          : 0x00
09:01:58 :   Address       : 0x4002201c
09:01:58 :   Size          : 8 Bytes
09:01:59 :   Bank          : 0x01
09:01:59 :   Address       : 0x1ffff800
09:01:59 :   Size          : 16 Bytes
09:01:59 : OPTION BYTE PROGRAMMING VERIFICATION:
09:01:59 : Option Bytes successfully programmed
09:01:59 : Time elapsed during option Bytes configuration: 00:00:00.838
09:02:25 : Disconnected from device.
09:02:28 : UR connection mode is defined with the HWrst reset mode
09:02:29 : UR connection mode is defined with the HWrst reset mode
09:02:29 : ST-LINK SN  : 0A031612A218303030303032
09:02:29 : ST-LINK FW  : V2J46S7
09:02:29 : Board       : --
09:02:29 : Voltage     : 2.94V
09:02:29 : SWD freq    : 4000 KHz
09:02:29 : Connect mode: Normal
09:02:29 : Reset mode  : Hardware reset
09:02:29 : Device ID   : 0x410
09:02:29 : Revision ID : Rev X
09:02:29 : Debug in Low Power mode is not supported for this device.
09:02:30 : UPLOADING OPTION BYTES DATA ...
09:02:30 :   Bank          : 0x00
09:02:30 :   Address       : 0x4002201c
09:02:30 :   Size          : 8 Bytes
09:02:30 :   Bank          : 0x01
09:02:30 :   Address       : 0x1ffff800
09:02:30 :   Size          : 16 Bytes
09:02:30 : UPLOADING ...
09:02:30 :   Size          : 1024 Bytes
09:02:30 :   Address       : 0x8000000
09:02:30 : Read progress:
09:02:30 : Data read successfully
09:02:30 : Time elapsed during the read operation is: 00:00:00.310

 

View solution in original post

9 REPLIES 9
TDK
Super User

> What's wrong?

You probably have a counterfeit chip and/or programmer.

Programmer reports a voltage despite no VCC connected, so maybe you're using this?

TDK_1-1770648844414.png

Non-ST tools often don't work will with newer software.

If you feel a post has answered your question, please click "Accept as Solution".
Andrew Neil
Super User

You need to give more details about your setup - see:

How to write your question to maximize your chances to find a solution

 

As @TDK said, the STM32F103C8BT6 is widely cloned, and there are many fake ST-Links out there.

This was discussed at length recently in this thread 

And this thread

And this thread 

 

See also: How to recognize a genuine ST-LINK/V2 versus a cloned one.

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

I'm using this:


TDK
Super User

That one looks counterfeit as well, unless the markings have changed.

How to recognize a genuine ST-LINK/V2 versus a clo... - STMicroelectronics Community

Plus the board is likely counterfeit.

If you feel a post has answered your question, please click "Accept as Solution".

@chriskuku Note that you can put the image directly in the post - then we can see it:

AndrewNeil_0-1770655156993.png

That's a fake - see this post by @mƎALLEm 

 

You still haven't said what board you're using

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

IMG_0092.jpeg

Either of these - the newer one is a WeAct Studio

In the end it turned out that the bluepill I was using was faulty. Dropped in another one and things vanished into thin air.

So if your problem is now solved, please mark the solution on the post which provided the answer - not this one!

 

Note that Blue Pills are not ST products, and likely don't contain a genuine STM32.

Therefore ST tools may not (fully) support them - see this thread.

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

It turned out far less complicated: the RDP bit was set. After unticking it using STM32CubeProgrammer, I was able to read the device.

08:58:28 : STM32CubeProgrammer API v2.20.0 | MacOS-64Bits
08:58:34 : UR connection mode is defined with the HWrst reset mode
08:58:35 : UR connection mode is defined with the HWrst reset mode
08:58:35 : ST-LINK SN  : 0A031612A218303030303032
08:58:35 : ST-LINK FW  : V2J46S7
08:58:35 : Board       : --
08:58:35 : Voltage     : 2.88V
08:58:35 : SWD freq    : 4000 KHz
08:58:35 : Connect mode: Normal
08:58:35 : Reset mode  : Hardware reset
08:58:35 : Device ID   : 0x410
08:58:35 : Revision ID : Rev X
08:58:35 : Debug in Low Power mode is not supported for this device.
08:58:37 : UPLOADING OPTION BYTES DATA ...
08:58:37 :   Bank          : 0x00
08:58:37 :   Address       : 0x4002201c
08:58:37 :   Size          : 8 Bytes
08:58:37 :   Bank          : 0x01
08:58:37 :   Address       : 0x1ffff800
08:58:37 :   Size          : 16 Bytes
08:58:37 : UPLOADING ...
08:58:37 :   Size          : 1024 Bytes
08:58:37 :   Address       : 0x8000000
08:58:37 : Read progress:
08:58:38 : Error: Data read failed
09:01:09 : Option byte command : -ob RDP=0xBB
09:01:09 : qCmd : -ob RDP=0xBB
09:01:09 : PROGRAMMING OPTION BYTES AREA ...
09:01:09 :   Bank          : 0x01
09:01:09 :   Address       : 0x1ffff800
09:01:09 :   Size          : 16 Bytes
09:01:10 : UPLOADING OPTION BYTES DATA ...
09:01:10 :   Bank          : 0x00
09:01:10 :   Address       : 0x4002201c
09:01:10 :   Size          : 8 Bytes
09:01:10 :   Bank          : 0x01
09:01:10 :   Address       : 0x1ffff800
09:01:10 :   Size          : 16 Bytes
09:01:11 : OPTION BYTE PROGRAMMING VERIFICATION:
09:01:11 : Option Bytes successfully programmed
09:01:11 : Time elapsed during option Bytes configuration: 00:00:01.341
09:01:39 : Disconnected from device.
09:01:41 : UR connection mode is defined with the HWrst reset mode
09:01:43 : UR connection mode is defined with the HWrst reset mode
09:01:43 : ST-LINK SN  : 0A031612A218303030303032
09:01:43 : ST-LINK FW  : V2J46S7
09:01:43 : Board       : --
09:01:43 : Voltage     : 2.91V
09:01:43 : SWD freq    : 4000 KHz
09:01:43 : Connect mode: Normal
09:01:43 : Reset mode  : Hardware reset
09:01:43 : Device ID   : 0x410
09:01:43 : Revision ID : Rev X
09:01:43 : Debug in Low Power mode is not supported for this device.
09:01:45 : UPLOADING OPTION BYTES DATA ...
09:01:45 :   Bank          : 0x00
09:01:45 :   Address       : 0x4002201c
09:01:45 :   Size          : 8 Bytes
09:01:45 :   Bank          : 0x01
09:01:45 :   Address       : 0x1ffff800
09:01:45 :   Size          : 16 Bytes
09:01:45 : UPLOADING ...
09:01:45 :   Size          : 1024 Bytes
09:01:45 :   Address       : 0x8000000
09:01:45 : Read progress:
09:01:46 : Error: Data read failed
09:01:58 : Option byte command : -ob RDP=0xA5
09:01:58 : qCmd : -ob RDP=0xA5
09:01:58 : PROGRAMMING OPTION BYTES AREA ...
09:01:58 :   Bank          : 0x01
09:01:58 :   Address       : 0x1ffff800
09:01:58 :   Size          : 16 Bytes
09:01:58 : UPLOADING OPTION BYTES DATA ...
09:01:58 :   Bank          : 0x00
09:01:58 :   Address       : 0x4002201c
09:01:58 :   Size          : 8 Bytes
09:01:59 :   Bank          : 0x01
09:01:59 :   Address       : 0x1ffff800
09:01:59 :   Size          : 16 Bytes
09:01:59 : OPTION BYTE PROGRAMMING VERIFICATION:
09:01:59 : Option Bytes successfully programmed
09:01:59 : Time elapsed during option Bytes configuration: 00:00:00.838
09:02:25 : Disconnected from device.
09:02:28 : UR connection mode is defined with the HWrst reset mode
09:02:29 : UR connection mode is defined with the HWrst reset mode
09:02:29 : ST-LINK SN  : 0A031612A218303030303032
09:02:29 : ST-LINK FW  : V2J46S7
09:02:29 : Board       : --
09:02:29 : Voltage     : 2.94V
09:02:29 : SWD freq    : 4000 KHz
09:02:29 : Connect mode: Normal
09:02:29 : Reset mode  : Hardware reset
09:02:29 : Device ID   : 0x410
09:02:29 : Revision ID : Rev X
09:02:29 : Debug in Low Power mode is not supported for this device.
09:02:30 : UPLOADING OPTION BYTES DATA ...
09:02:30 :   Bank          : 0x00
09:02:30 :   Address       : 0x4002201c
09:02:30 :   Size          : 8 Bytes
09:02:30 :   Bank          : 0x01
09:02:30 :   Address       : 0x1ffff800
09:02:30 :   Size          : 16 Bytes
09:02:30 : UPLOADING ...
09:02:30 :   Size          : 1024 Bytes
09:02:30 :   Address       : 0x8000000
09:02:30 : Read progress:
09:02:30 : Data read successfully
09:02:30 : Time elapsed during the read operation is: 00:00:00.310