Forum: Mikrocontroller und Digitale Elektronik ST-LINK_GDB_server mit STM32H743 und STLink V3MINI


von Johannes S. (Gast)


Lesenswert?

Für die STM Controller möchte ich den STLink V3 benutzen, mit dem gdb 
der aus VSCode heraus aufgerufen wird. Mit einigen STM32F4 klappt das 
gut, mit dem H7 nur bedingt.

SWD ist über GND, SWDIO und SWCLK angeschlossen und beim connect wird 
die MCU angehalten, vom STM32CubeProgrammer ein Stub heruntergelanden 
und dann klemmt es. Es soll lt. Ausgabe wieder ein Reset ausgelöst 
werden und das geht im 'Normal' Mode nicht.
Es funktioniert wenn der STLink die Reset Leitung bedienen kann, aber 
das Board (DevEBox STM32H743VI) hat dummerweise keine Reset Leitung auf 
Header geführt. Ich habe zum Testen ein Dupontkabel an den Reset Taster 
angelötet, aber das würde ich gerne vermeiden.
Kennt hier jemand dieses Problem? Es scheint an dem Code im Stub zu 
liegen der evtl. in einem WFI hängt.
1
STMicroelectronics ST-LINK GDB server. Version 5.8.0
2
Copyright (c) 2020, STMicroelectronics. All rights reserved.
3
4
Starting server with the following options:
5
        Persistent Mode            : Disabled
6
        Logging Level              : 31
7
        Listen Port Number         : 50000
8
        Status Refresh Delay       : 15s
9
        Verbose Mode               : Disabled
10
        SWD Debug                  : Enabled
11
12
Target connection mode: Default
13
Reading ROM table for AP 0 @0xe00fefd0
14
Hardware watchpoint supported by the target 
15
COM frequency = 24000 kHz
16
ST-LINK Firmware version : V3J7M2
17
Device ID: 0x450
18
PC: 0x80037fc
19
ST-LINK device status: HALT_MODE
20
ST-LINK detects target voltage = 3.29 V
21
ST-LINK device status: HALT_MODE
22
ST-LINK device initialization OK
23
Waiting for debugger connection...
24
Waiting for connection on port 50000...
25
Accepted connection on port 50000...
26
Debugger connected
27
Enter STM32_AppReset() function 
28
NVIC_DFSR_REG = 0x0000000B
29
NVIC_CFGFSR_REG = 0x00000000
30
 ------ Switching to STM32CubeProgrammer ----- 
31
      -------------------------------------------------------------------
32
                       STM32CubeProgrammer v2.8.0                  
33
      -------------------------------------------------------------------
34
35
ST-LINK SN  : 004900313137510B33333639
36
ST-LINK FW  : V3J7M2
37
Board       : STLINK-V3MINI
38
Voltage     : 3.29V
39
SWD freq    : 24000 KHz
40
Connect mode: Under Reset
41
Reset mode  : Hardware reset
42
Device ID   : 0x450
43
Revision ID : Rev V
44
Device name : STM32H7xx
45
Flash size  : 2 MBytes
46
Device type : MCU
47
Device CPU  : Cortex-M7
48
BL Version  : 0x90
49
50
51
52
Memory Programming ...
53
Opening and parsing file: ST-LINK_GDB_server_a16228.srec
54
  File          : ST-LINK_GDB_server_a16228.srec
55
  Size          : 40704 Bytes
56
  Address       : 0x08000000 
57
58
59
Erasing memory corresponding to segment 0:
60
Erasing internal memory sector 0
61
Download in Progress:
62
63
64
File download complete
65
Time elapsed during download operation: 00:00:00.988
66
 ------ Switching context ----- 
67
Target connection mode: Default
68
Target connection failed. Try connecting under reset
69
Target connection failed
70
Target no device found

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

Sind evt. Fuses fuer Schreib/Leseschutz gesetzt?

von Johannes S. (Gast)


Lesenswert?

zumindest nicht absichtlich, ein erase all hatte ich schon mal mit dem 
STM32CubeProgrammer gemacht. Und mit HW Reset geht es ja.

Die BMP kommt auch ohne HW Reset aus, mit deinem Code hatte das auch 
funktioniert, da ist auch kein Stub nötig. Der V3 ist aber mit seinem 
Fullspeed USB und 24 MHz SWD schon einen Tick schneller. An BMP auf dem 
H723 habe ich auch schon gedacht, wäre natürlich auch cool :)

von pegel (Gast)


Lesenswert?

Eigentlich klingt das wie gewöhnlich, wenn die SWD Pins abgeschaltet 
sind, bzw. anders verwendet werden.

Programm erfolgreich übertragen -> Ende der Verbindung

von Johannes S. (Gast)


Lesenswert?

Nein, die SWD Pins werden nicht umprogrammiert, kein CubeMX Programm. 
Mein Code wird ja nicht geladen, das ist ein Loader den der Cube 
Programmer mitbringt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.