STLINK-V3MINIE auslesen

OP #7943047
Lesenswert?

Habe jetzt einen ST-LINK V3MINIE hier vor mir und würde ihn, bevor ich die Firmware auf den neuesten Stand bringe (STLinkUpgrade.app, macOS), gerne auslesen, um die Original-Firmware zu sichern. Leider hat der Support der st-link utilities für macOS mit der Version 1.8 geendet.

Versuche es gerade mit STM32CubeProgrammer, aber das Programm meckert, weil kein Target angeschlossen ist.

1
0:58:40 : UR connection mode is defined with the HWrst reset mode
2
10:58:40 : UR connection mode is defined with the HWrst reset mode
3
10:58:40 : ST-LINK SN  : 001B003A3234512457333831
4
10:58:40 : ST-LINK FW  : V3J15M7
5
10:58:40 : Board       : STLINK-V3MINIE
6
10:58:40 : Voltage     : 0.00V
7
10:58:40 : Error: Unable to get core ID
8
10:58:40 : Error: No STM32 target found! If your product embeds Debug Authentication, please perform a discovery using Debug Authentication

Ich müßte doch 512KB auslesen, also 0x80000 ab 0x0800000 ?

#7943063
Lesenswert?

Bei den ganz alten stlinks auf basis der STM32F103 gab es mal jemanden der die readout-protection geknackt hatte und die firmware-images irgendwo zum download gestellt hatte.

Bei den neueren hab ich davon noch nix gesehen. Da die deutlich neuere controller verwenden und außerdem das ganze swd aus ist dürfte das aber schwerer werden. vermutlich ein fall für voltage glitching, em fault injection oder eine der anderen angriffstechniken.

OP #7943228
Lesenswert?

Habe jetzt das STLINK-V3MINIE "geupgraded". Habe an den Edge Connector einen 2reihigen Pinheader angelötet und ein Target (STM32H503 blue pill) verbunden.

1
Target - STLINKV3
2
   GND - GND
3
 SWCLK - CLK 
4
 SWDIO - TDO
5

6
17:51:30 : STM32CubeProgrammer API v2.20.0 | MacOS-64Bits 
7
17:51:35 : UR connection mode is defined with the HWrst reset mode
8
17:51:35 : UR connection mode is defined with the HWrst reset mode
9
17:51:36 : ST-LINK SN  : 001B003A3234512457333831
10
17:51:36 : ST-LINK FW  : V3J16M9
11
17:51:36 : Board       : STLINK-V3MINIE
12
17:51:36 : Voltage     : 0.21V
13
17:51:36 : Error: Unable to get core ID
14
17:51:36 : Error: No STM32 target found! If your product embeds Debug Authentication, please perform a discovery using Debug Authentication

Man sieht, Firmware Version ist höher. Bei Spannung wird 0.21V angezeigt (?). Irgendwo im ST-Forum sagte jemand, man müsse 3,3V des Target mit Vdd verbinden (?). Erstens habe ich nur einen Pin Vcc und zweitens ist mir momentan nicht wohl dabei. Vielleicht ist aber auch der 14pol. Miniheader anders belegt als der 10pol. Edge-Connector.

Jemand eine Idee?

EDIT: habe festgestellt, daß man tatsächlich den 3,3V pin des Targets mit dem Vcc Pin des STLINKV3Minie verbinden muß. Ich hatte erst mal am nicht verbundenen Vcc Pin gemessen und da maß ich gut 0,2V, was STM32Prog ja auch anzeigt. Dann habe ich die Verbindung 3,3V Target mit dem Vcc Pin hergestellt und nun zeigt STM32CubeProgrammer 3,28 V an. Allerdings verbindet er nicht zum Target.

: Bearbeitet durch User
OP #7943238
Lesenswert?

Nemopuk schrieb:

Christoph K. schrieb:

Allerdings verbindet er nicht zum Target.

Wie gesagt: setze den Boot0 Jumper auf 1 (High) und drücke dann den Reset Button.

Das STM32H503 Board hat für BOOT0 resp. NRST jeweils einen Druckknopf. Schwierig, die "hintereinander" zu drücken und mit der dritten Hand dann noch den Connect Button vom STM32CubeProgrammer. Gut, mit meinem Patschemittelfinger versucht, also BOOT0 gedrückt, den haltend, NRST dazu gedrückt, beide haltend und dann mit dem Mauscursor den Connect button? Führt leider immer noch zum Connect-Fehler.

: Bearbeitet durch User
#7943243
Lesenswert?

Christoph K. schrieb:

Das STM32H503 Board hat für BOOT0 resp. NRST jeweils einen Druckknopf. Schwierig, die "hintereinander" zu drücken und mit der dritten Hand dann noch den Connect Button vom STM32CubeProgrammer.

Es ist nur wichtig, dass der µC mit Boot0=1 startet. Also Boot0 und Reset drücken, dann Reset loslassen. Von da an läuft der Bootloader, der auch die Kommunikation via SWD zulässt. Wann du den Programmieradapter verbindest ist egal, Hauptsache danach.

Programme, die mit der Cube IDE generiert wurden, deaktivieren SWD hingegen standardmäßig.

Funktioniert dein Mikrocontroller überhaupt? Kannst du den Bootloader seriell ansprechen? Hast du da ein funktionierendes Programm drauf?

: Bearbeitet durch User
OP #7943253
Lesenswert?

Nemopuk schrieb im Beitrag #7943243: ...

Funktioniert dein Mikrocontroller überhaupt? Kannst du den Bootloader seriell ansprechen? Hast du da ein funktionierendes Programm drauf?

Ja, hatte ihn vorher mit blackmagic Pill programmiert über den SWD header. Funktioniert alles.

So, wie Du es jetzt beschreibst, habe ich es mal gemacht (BOOT0 gedrückt, gehalten, NRST gedrückt und losgelassen, BOOt0 weiter gehalten, Connect gedrückt - keine Verbindung).

Ich könnte noch mal ein Mass-Erase des Targets machen (mit einem anderen Programmer).

: Bearbeitet durch User
#7943267
Lesenswert?

Gerd E. schrieb:

Bei den ganz alten stlinks auf basis der STM32F103 gab es mal jemanden der die readout-protection geknackt hatte und die firmware-images irgendwo zum download gestellt hatte.

Bei den neueren hab ich davon noch nix gesehen. Da die deutlich neuere controller verwenden und außerdem das ganze swd aus ist dürfte das aber schwerer werden. vermutlich ein fall für voltage glitching, em fault injection oder eine der anderen angriffstechniken.

Er hat einfach das update-tool disassembliert. st hatte es da nich sooo ernst genommen mit der cybersecurity: http://www.taylorkillian.com/2013/01/retrieving-st-linkv2-firmware-from.html

OP #7943420
Lesenswert?

Anderes Target ausprobiert (STM32F103C8T6 bluepill). Verbindet auch nicht.

1
0:28:11 : UR connection mode is defined with the HWrst reset mode
2
10:28:11 : UR connection mode is defined with the HWrst reset mode
3
10:28:11 : ST-LINK SN  : 001B003A3234512457333831
4
10:28:11 : ST-LINK FW  : V3J16M9
5
10:28:11 : Board       : STLINK-V3MINIE
6
10:28:11 : Voltage     : 3.29V
7
10:28:11 : Error: Unable to get core ID
8
10:28:11 : Error: No STM32 target found! If your product embeds Debug Authentication, please perform a discovery using Debug Authentication

Auch alle möglichen Frequenzen und Modi probiert. Mit BOOT0 Jumper gesetzt, Reset. Und ohne. Keine Chance, das STLINK-V3 zu verbinden (10-pol Edge Connector mit angelöteten Header Pins). Grübel.

OP #7943503
Lesenswert?

Andreas B. schrieb:

Christoph K. schrieb:

Target - STLINKV3 GND - GND SWCLK - CLK SWDIO - TDO <---

"Table 3.Pads on board to BTB card edge connector (CN2) TOP 1 Reserved 2 T_JTDI/NC 3 T_JTMS/T_SWDIO <--- 4 T_JCLK/T_SWCLK 5 T_JTDO/T_SWO ..."

Super! Danke. Das war's.

1
2:57:49 : STM32CubeProgrammer API v2.20.0 | MacOS-64Bits 
2
12:59:07 : UR connection mode is defined with the HWrst reset mode
3
12:59:07 : UR connection mode is defined with the HWrst reset mode
4
12:59:07 : Warning: Device changed, refreshing...
5
12:59:07 : UR connection mode is defined with the HWrst reset mode
6
12:59:08 : UR connection mode is defined with the HWrst reset mode
7
12:59:08 : ST-LINK SN  : 001B003A3234512457333831
8
12:59:08 : ST-LINK FW  : V3J16M8
9
12:59:08 : Board       : STLINK-V3MINIE
10
12:59:08 : Voltage     : 3.29V
11
12:59:08 : SWD freq    : 8000 KHz
12
12:59:08 : Connect mode: Normal
13
12:59:08 : Reset mode  : Hardware reset
14
12:59:08 : Device ID   : 0x474
15
12:59:08 : Revision ID : Rev Y
16
12:59:08 : Debug in Low Power mode enabled.
17
12:59:08 : SFSP Version: v1.4.0
18
12:59:08 : UPLOADING OPTION BYTES DATA ...
19
12:59:08 :   Bank          : 0x00
20
12:59:08 :   Address       : 0x40022050
21
12:59:08 :   Size          : 8 Bytes
22
12:59:08 :   Bank          : 0x01
23
12:59:08 :   Address       : 0x40022070
24
12:59:08 :   Size          : 8 Bytes
25
12:59:08 :   Bank          : 0x02
26
12:59:08 :   Address       : 0x40022080
27
12:59:08 :   Size          : 8 Bytes
28
12:59:08 :   Bank          : 0x03
29
12:59:08 :   Address       : 0x400220e8
30
12:59:08 :   Size          : 8 Bytes
31
12:59:08 :   Bank          : 0x04
32
12:59:08 :   Address       : 0x400221e8
33
12:59:08 :   Size          : 8 Bytes
34
12:59:08 :   Bank          : 0x05
35
12:59:08 :   Address       : 0x40022090
36
12:59:08 :   Size          : 8 Bytes
37
12:59:08 :   Bank          : 0x06
38
12:59:08 :   Address       : 0x400220f8
39
12:59:08 :   Size          : 8 Bytes
40
12:59:08 :   Bank          : 0x07
41
12:59:08 :   Address       : 0x400221f8
42
12:59:08 :   Size          : 8 Bytes
43
12:59:08 : UPLOADING ...
44
12:59:08 :   Size          : 1024 Bytes
45
12:59:08 :   Address       : 0x8000000
46
12:59:08 : Read progress:
47
12:59:08 : Data read successfully
48
12:59:08 : Time elapsed during the read operation is: 00:00:00.025
: Bearbeitet durch User

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren