Forum: Mikrocontroller und Digitale Elektronik STM32F4 lässt sich nicht mehr programmieren


von Moot S. (mootseeker)


Lesenswert?

Hallo Zusammen,

ich habe seit kurzem ein Problem mit dem programmieren von STM32F411RE 
Chips.

Ich beim programmieren oder debuggen öffnet sich immer ein neuer Tab vo 
drin steht:
"Break at address "0x1fff4252" with no debug information available, or 
outside of program code."

Das Programmien geht nach Consolen ausgabe:
1
 STMicroelectronics ST-LINK GDB server. Version 6.1.0
2
Copyright (c) 2022, STMicroelectronics. All rights reserved.
3
4
Starting server with the following options:
5
        Persistent Mode            : Disabled
6
        Logging Level              : 1
7
        Listen Port Number         : 61234
8
        Status Refresh Delay       : 15s
9
        Verbose Mode               : Disabled
10
        SWD Debug                  : Enabled
11
        InitWhile                  : Enabled
12
13
Waiting for debugger connection...
14
Debugger connected
15
Waiting for debugger connection...
16
Debugger connected
17
Waiting for debugger connection...
18
      -------------------------------------------------------------------
19
                       STM32CubeProgrammer v2.10.0                  
20
      -------------------------------------------------------------------
21
22
Log output file:   
23
ST-LINK SN  : 003E00323137510B39383538
24
ST-LINK FW  : V3J9M3B5S1
25
Board       : STLINK-V3SET
26
Voltage     : 3.25V
27
SWD freq    : 24000 KHz
28
Connect mode: Under Reset
29
Reset mode  : Hardware reset
30
Device ID   : 0x431
31
Revision ID : Rev A
32
Device name : STM32F411xC/E
33
Flash size  : 256 KBytes
34
Device type : MCU
35
Device CPU  : Cortex-M4
36
BL Version  : --
37
38
Memory Programming ...
39
Opening and parsing file: st-link_gdb_server_a16632.srec
40
  File          : st-link_gdb_server_a16632.srec
41
  Size          : 41.51 KB 
42
  Address       : 0x08000000 
43
44
Erasing memory corresponding to segment 0:
45
Erasing internal memory sectors [0 2]
46
Download in Progress:
47
48
File download complete
49
Time elapsed during download operation: 00:00:01.046
50
51
Verifying ...
52
53
Download verified successfully 
54
55
Shutting down...
56
Exit.

Der Mikrokontroller führt das Programm nicht aus. Beim debuggen stützt 
der Vorgang während dem initialisieren ab.

Hat jemand eine Idee, warum das passiert oder kann mir sagen aus 
auslöser für ein solches verhalten sein könnten?

Auf einer zweiten Leiterplatte passiert das mit der selben Firmware 
nicht.

Als Debugger verwende ich einen ST-Link V3

: Bearbeitet durch User
von beo bachta (Gast)


Lesenswert?

Moot S. schrieb:
> Hat jemand eine Idee, warum das passiert oder kann mir sagen aus
> auslöser für ein solches verhalten sein könnten?

Du hast eine schlecht designte Hardware die du natürlich nicht
zeigen willst, sonst könntest du uns ja vom Gegenteil überzeugen.

von Moot S. (mootseeker)


Lesenswert?

Hier alle Infos zum Projekt:

https://github.com/MootSeeker/12273.Transportlogger

Da findet ihr Firmware und Hardware.

von Pete K. (pete77)


Lesenswert?

Was ist denn pcbdoc für ein Dateiformat?

von Pete K. (pete77)


Lesenswert?

Moot S. schrieb:
> Auf einer zweiten Leiterplatte passiert das mit der selben Firmware
> nicht.

Lötfehler

von Moot S. (mootseeker)


Lesenswert?

Pete K. schrieb:
> Was ist denn pcbdoc für ein Dateiformat?

Das Schema/Layout wurde mit Altium Designer gemacht.

Was meinst du mit Lötfehler?
Es sind keine Kurzschlüsse vorhanden, habe auch schon alle Pins mal 
nachgelötet.

Beitrag #7076119 wurde vom Autor gelöscht.
von Moot S. (mootseeker)


Lesenswert?

Es ist Garantiert kein Lötfehler...
Nach dem Nachlöten hat es zwar kurz funktioniert. Aber nach dem nächsten 
programmieren habe ich das Problem wieder.

von pegel (Gast)


Lesenswert?

Moot S. schrieb:
> "Break at address "0x1fff4252" with no debug information available

Boot Pins richtig beschaltet?

von pegel (Gast)


Lesenswert?

Boot0 = 0 ?

von Moot S. (mootseeker)


Lesenswert?

pegel schrieb:
> Moot S. schrieb:
>> "Break at address "0x1fff4252" with no debug information available
>
> Boot Pins richtig beschaltet?

BOOT0 Pin ist mit 10kOhm auf GND geschlossen.
Die Spannung am BOOT Pin ist auch 0V.

von pegel (Gast)


Lesenswert?

Moot S. schrieb:
> 0x1fff4252

Ist im Bootloader Bereich.
Irgendwie springt er da hin.

von Moot S. (mootseeker)


Lesenswert?

Also vielleicht noch als Info, der Ablauf sieht wie folgt aus:

1. Ich speise die Leiterplatte (Stromverbrauch 20-30mA(normal))
2. Schliesse den Debugger an
3. Kompiliere die Firmware
4. Fenster mit "Break at address "0x1fff4252" with no debug information 
available, or outside of program code." ploppt auf
5. Debugger flasht die Firmware erfolgreich
6. Nichts passiert, MCU scheint abgestürzt Strom ca. 50mA (nicht normal)

Ich hoffe das Hilft etwas weiter.

: Bearbeitet durch User
von pegel (Gast)


Lesenswert?

Moot S. schrieb:
> 50mA

Recht hoch.
USB Problem?

von pegel (Gast)


Lesenswert?

Moot S. schrieb:
> 1. Ich speise die Leiterplatte (Stromverbrauch 20-30mA(normal))
> 2. Schliesse den Debugger an

Der lebt aber noch richtig?

von Moot S. (mootseeker)


Lesenswert?

pegel schrieb:
> Moot S. schrieb:
>> 50mA
>
> Recht hoch.
> USB Problem?

USB Kabel ist nicht angeschlossen.
Die Schaltung habe ich aber auch schon erfolgreich in anderen Projekten 
verwendet.

von Moot S. (mootseeker)


Lesenswert?

pegel schrieb:
> Moot S. schrieb:
>> 1. Ich speise die Leiterplatte (Stromverbrauch 20-30mA(normal))
>> 2. Schliesse den Debugger an
>
> Der lebt aber noch richtig?

Der Kontroller kann über das STM32CubeProgrammer Tool angesprochen 
werden.

von Werner P. (werner4096)


Lesenswert?

Genau das gleiche Problem habe ich mit einem STM32L082 gehabt.

Im Flash ist ein Bootloader und das eigentliche Programm.

Auszug aus den xxx-FLASH.ld Dateien.

Bootloader:

MEMORY
{
  RAM    (xrw)    : ORIGIN = 0x20000000,   LENGTH = 20K
  FLASH    (rx)    : ORIGIN = 0x8000000,   LENGTH = 30K
}

Programm:

MEMORY
{
  RAM    (xrw)    : ORIGIN = 0x20000000,   LENGTH = 20K
  FLASH    (rx)    : ORIGIN = 0x8008000,   LENGTH = 128K
}

Mit diesen Einstellungen kann ich nicht debuggen. Erst wenn ich die 
Einstellungen für das Programm auf

MEMORY
{
  RAM    (xrw)    : ORIGIN = 0x20000000,   LENGTH = 20K
  FLASH    (rx)    : ORIGIN = 0x8000000,   LENGTH = 128K
}

ändere und dann debugge funktioniert es. Natürlich ist dann der 
Bootloader weg.

Vor einem Update von STM32CubeIDE funktionierte das einwandfrei.

Grüße

von beo bachta (Gast)


Lesenswert?

Werner P. schrieb:
> Im Flash ist ein Bootloader und das eigentliche Programm.

Aber doch nicht im F411 (den der TO benutzt)?

von Werner P. (werner4096)


Lesenswert?

beo bachta schrieb:
> Werner P. schrieb:
>> Im Flash ist ein Bootloader und das eigentliche Programm.
>
> Aber doch nicht im F411 (den der TO benutzt)?

ups. stimmt. sorry

von pegel (Gast)


Lesenswert?

Werner P. schrieb:
> FLASH    (rx)    : ORIGIN = 0x8008000,   LENGTH = 128K

eigentlich LENGTH = 128K-32K

Zum App debuggen brauchst Du den BL nicht killen.
-einfach 8Byte von 0x8008000 nach 0x8000000 kopieren
-App debuggen
-0x08000000 wieder herstellen der originalen 8Byte vom BL

irgendwann wird ST das sicher korrigieren.

beo bachta schrieb:
>> Im Flash ist ein Bootloader und das eigentliche Programm.
>
> Aber doch nicht im F411 (den der TO benutzt)?

Kann er aber einen reinschreiben.
Oder den internen USB BL anspringen:
 __HAL_SYSCFG_REMAPMEMORY_SYSTEMFLASH(); //remap system memory to 
address 0x0000000

von Moot S. (mootseeker)


Lesenswert?

pegel schrieb:
> Werner P. schrieb:
>> FLASH    (rx)    : ORIGIN = 0x8008000,   LENGTH = 128K
>
> eigentlich LENGTH = 128K-32K
>
> Zum App debuggen brauchst Du den BL nicht killen.
> -einfach 8Byte von 0x8008000 nach 0x8000000 kopieren
> -App debuggen
> -0x08000000 wieder herstellen der originalen 8Byte vom BL
>
> irgendwann wird ST das sicher korrigieren.
>

Danke für deine Antwort, ganz verstanden habe ich es aber leider nicht. 
wo liegt nun der Fehler genau?
Was muss ich jetzt genau machen?
Liegt der Fehler in der Adressierung vom Flash Speicher im Linker File?

Das sieht bei mir so aus (Falls es das ist, was ich verstanden habe):
1
/* Memories definition */
2
MEMORY
3
{
4
  RAM    (xrw)    : ORIGIN = 0x20000000,   LENGTH = 128K
5
  FLASH    (rx)    : ORIGIN = 0x8000000,   LENGTH = 512K
6
}

von pegel (Gast)


Lesenswert?

Guten Morgen,
das war alles nur Kommentar zum Problem von Werner P.

Du springst weiterhin zum internen BL.

Bei deinem Problem, wenn 2 identische Platinen vorliegen und das Boot0 
genau so beschaltet ist, würde ich erst einmal ein
"full chip erase" probieren.

Funktioniert das Programmieren ohne ext. Versorgung?
Das gab bei mir auch schon mal Probleme.

Zur Not einen Billig Debugger oder Nucleo Debugger probieren.
Die Spannungsversorgung dann von diesem.

von pegel (Gast)


Lesenswert?

Oder gibt der ST-Link V3 auch 3,3V aus?

von Moot S. (mootseeker)


Lesenswert?

pegel schrieb:

> Bei deinem Problem, wenn 2 identische Platinen vorliegen und das Boot0
> genau so beschaltet ist, würde ich erst einmal ein
> "full chip erase" probieren.

Full Chip Erase scheint zu funktionieren, beim nächsten programmieren, 
habe ich dieses Problem wieder.

> Funktioniert das Programmieren ohne ext. Versorgung?
> Das gab bei mir auch schon mal Probleme.

Nein, das funktioniert sofern nicht, dass ich einfach das gleiche 
Problem habe.

> Zur Not einen Billig Debugger oder Nucleo Debugger probieren.
> Die Spannungsversorgung dann von diesem.
Das kann ich in der zwischen Zeit mal versuchen.
Hoffe aber schon, dass das nicht das Problem ist. Ich habe im letzten 
Projekt den ST-Link V3 auch schon mit einem STM32F411CE verwendet, das 
ist ja eigentlich der selbe Chip, einfach in einem anderen Gehäuse. Bei 
dem hatte ich nie ein Problem.

von pegel (Gast)


Lesenswert?

Wenn das alles nicht hilft, bleibt nur noch Fake Chip oder Fehler im 
Programm.
Kannst ja zwischendurch mal ein kleines Blinky probieren.

Ach noch etwas das mich zum ausführlichen suchen gebracht hat:
ich hatte die falsche Quarzfrequenz eingestellt :(

von Moot S. (mootseeker)


Lesenswert?

Das sind zwei gute Punkte, ich werde dem mal nach gehen und melde mich 
dann wieder :)

von Moot S. (mootseeker)


Angehängte Dateien:

Lesenswert?

Guten Morgen,

pegel schrieb:
> Wenn das alles nicht hilft, bleibt nur noch Fake Chip oder Fehler im
> Programm.
> Kannst ja zwischendurch mal ein kleines Blinky probieren.

Das habe ich nun Versucht. Es kommt immernoch dieser break tab. Nun aber 
mit einer anderen Addresse. Habe einen Screenshot in den Anhang gelegt.

> Ach noch etwas das mich zum ausführlichen suchen gebracht hat:
> ich hatte die falsche Quarzfrequenz eingestellt :(

Quarz Frequenz ist korrekt eingestellt.

: Bearbeitet durch User
von pegel (Gast)


Lesenswert?

Moin.

Zumindest ist er im FLASH geblieben.
Hast Du nur den ST-Link angeschlossen und sonst nichts?

Blinky mit STM32CubeProgrammer übertragen geht auch nicht?

An welchem Pin ist eine LED?
Dann bastele ich dir ein unabhängiges Blinky, dass Du mit dem 
STM32CubeProgrammer zum Test übertragen kannst.
Entweder per SWD oder per USB Bootloader.

von Moot S. (mootseeker)


Lesenswert?

Programmieren funktioniert nicht mit dem STM32CubeProgrammer. Console 
sagt zwar erfolgreich aber wenn ich den Speicher auslese ist er leer 
(Alles 0xFFFFFFFF).

Log von Console:
1
  09:10:44 : MASS ERASE ... 
2
  09:10:48 : Mass erase successfully achieved
3
  09:10:49 : UPLOADING ...
4
  09:10:49 :   Size          : 1024 Bytes
5
  09:10:49 :   Address       : 0x8000000
6
  09:10:49 : Read progress:
7
  09:10:49 : Data read successfully
8
  09:10:49 : Time elapsed during the read operation is: 00:00:00.004
9
  09:11:28 : Memory Programming ...
10
  09:11:28 : Opening and parsing file: Blink_F4.elf
11
  09:11:28 :   File          : Blink_F4.elf
12
  09:11:28 :   Size          : 5868 Bytes
13
  09:11:28 :   Address       : 0x08000000 
14
  09:11:28 : Erasing memory corresponding to segment 0:
15
  09:11:28 : Erasing internal memory sector 0
16
  09:11:28 : Download in Progress:
17
  09:11:28 : File download complete
18
  09:11:28 : Time elapsed during download operation: 00:00:00.322
19
  09:11:28 : Verifying ...
20
  09:11:28 : Read progress:
21
  09:11:28 : Download verified successfully 
22
  09:11:28 : RUNNING Program ... 
23
  09:11:28 :   Address:      : 0x00000000
24
  09:11:28 : Application is running, Please Hold on...
25
  09:11:28 : Start operation achieved successfully
LED (zweifarbig) ist an den Pins PC14 (Grün) / PC15 (Rot) angeschlossen.
Die Pins sind auf GPIO Ouput gesetzt.

: Bearbeitet durch User
von pegel (Gast)


Angehängte Dateien:

Lesenswert?

Moot S. schrieb:
> Programmieren funktioniert nicht mit dem STM32CubeProgrammer.
Mit der grafischen Oberfläche probiert?
Da kannst Du Verbosity level einstellen.
Probier mal 3, dann gibt es mehr Info.

Blinky im Anhang.

von pegel (Gast)


Lesenswert?

Moot S. schrieb:
> 09:11:28 :   Address:      : 0x00000000

?

von Moot S. (mootseeker)


Lesenswert?

Danke für die Info und das File!

Funktioniert aber leider nicht, LED blinkt nicht, MCU zieht ca. 70mA 
Strom.
Log:
1
10:26:04:555 : Memory Programming ...
2
  10:26:04:555 : Opening and parsing file: F411_Blinky.bin
3
  10:26:04:557 :   File          : F411_Blinky.bin
4
  10:26:04:557 :   Size          : 5856 Bytes
5
  10:26:04:557 :   Address       : 0x08000000 
6
  10:26:04:557 : Erasing Segment <0> Address <0x08000000> Size <5856>Bytes
7
  10:26:04:557 : Erasing memory corresponding to segment 0:
8
  10:26:04:558 : Memory erase...
9
  10:26:04:560 : halt ap 0 
10
  10:26:04:560 : w ap 0 reg 15 PC   (0x20000000)  
11
  10:26:04:561 : w ap 0 reg 17 MSP  (0x20000500)  
12
  10:26:04:563 : w ap 0 reg 16 xPSR (0x01000000)  
13
  10:26:04:564 : w ap 0 @0x20000C00 0x00000200 bytes Data 0x00000000
14
  10:26:04:564 : w ap 0 @0x20000000 0x00000004 bytes Data 0x0000BE00
15
  10:26:04:565 : w ap 0 @0x20000004 0x000007DC bytes Data 0xF000B580
16
  10:26:04:565 : Erasing internal memory sector 0
17
  10:26:04:565 : Init flashloader...
18
  10:26:04:566 : halt ap 0 
19
  10:26:04:568 : w ap 0 reg 0 R0   0x00000001
20
  10:26:04:568 : w ap 0 reg 1 R1   0x00000000
21
  10:26:04:568 : w ap 0 reg 2 R2   0x00000000
22
  10:26:04:568 : w ap 0 reg 3 R3   0x00000000
23
  10:26:04:568 : w ap 0 reg 4 R4   0x00000000
24
  10:26:04:568 : w ap 0 reg 5 R5   0x00000000
25
  10:26:04:568 : w ap 0 reg 6 R6   0x00000000
26
  10:26:04:568 : w ap 0 reg 7 R7   0x00000000
27
  10:26:04:570 : w ap 0 reg 8 R8   0x00000000
28
  10:26:04:570 : w ap 0 reg 9 R9   0x00000000
29
  10:26:04:571 : w ap 0 reg 10 R10  0x00000000
30
  10:26:04:571 : w ap 0 reg 11 R11  0x00000000
31
  10:26:04:571 : w ap 0 reg 12 R12  0x00000000
32
  10:26:04:572 : w ap 0 reg 13 SP   0x00000000
33
  10:26:04:572 : w ap 0 reg 14 LR   0x20000001
34
  10:26:04:572 : w ap 0 reg 15 PC   0x20000005
35
  10:26:04:572 : w ap 0 reg 16 xPSR 0x01000000
36
  10:26:04:572 : w ap 0 reg 17 MSP  0x20000BDC
37
  10:26:04:572 : w ap 0 reg 18 PSP  0x00000000
38
  10:26:04:572 : run ap 0 
39
  10:26:04:572 : halt ap 0 
40
  10:26:04:572 : r ap 0 reg 0 R0   0x00000001
41
  10:26:04:573 : Loader sector erase...
42
  10:26:04:573 : w ap 0 reg 0 R0   0x08000000
43
  10:26:04:573 : w ap 0 reg 1 R1   0x08000000
44
  10:26:04:573 : w ap 0 reg 2 R2   0x00000002
45
  10:26:04:574 : w ap 0 reg 3 R3   0x00000000
46
  10:26:04:574 : w ap 0 reg 4 R4   0x00000000
47
  10:26:04:575 : w ap 0 reg 5 R5   0x00000000
48
  10:26:04:576 : w ap 0 reg 6 R6   0x00000000
49
  10:26:04:576 : w ap 0 reg 7 R7   0x00000000
50
  10:26:04:576 : w ap 0 reg 8 R8   0x00000000
51
  10:26:04:576 : w ap 0 reg 9 R9   0x00000000
52
  10:26:04:576 : w ap 0 reg 10 R10  0x00000000
53
  10:26:04:577 : w ap 0 reg 11 R11  0x00000000
54
  10:26:04:577 : w ap 0 reg 12 R12  0x00000000
55
  10:26:04:577 : w ap 0 reg 13 SP   0x00000000
56
  10:26:04:578 : w ap 0 reg 14 LR   0x20000001
57
  10:26:04:579 : w ap 0 reg 15 PC   0x200001A7
58
  10:26:04:579 : w ap 0 reg 16 xPSR 0x01000000
59
  10:26:04:579 : w ap 0 reg 17 MSP  0x20000BDC
60
  10:26:04:580 : w ap 0 reg 18 PSP  0x00000000
61
  10:26:04:580 : run ap 0 
62
  10:26:04:825 : halt ap 0 
63
  10:26:04:825 : r ap 0 reg 0 R0   0x00000001
64
  10:26:04:825 : erase: 0266ms
65
  10:26:04:825 : Download in Progress:
66
  10:26:04:825 :   Size          : 5856 Bytes
67
  10:26:04:826 :   Address       : 0x08000000 
68
  10:26:04:826 : Buffer program...
69
  10:26:04:826 : halt ap 0 
70
  10:26:04:826 : w ap 0 reg 15 PC   (0x20000000)  
71
  10:26:04:826 : w ap 0 reg 17 MSP  (0x20000500)  
72
  10:26:04:826 : w ap 0 reg 16 xPSR (0x01000000)  
73
  10:26:04:827 : w ap 0 @0x20000C00 0x00000200 bytes Data 0x00000000
74
  10:26:04:828 : w ap 0 @0x20000000 0x00000004 bytes Data 0x0000BE00
75
  10:26:04:829 : w ap 0 @0x20000004 0x000007DC bytes Data 0xF000B580
76
  10:26:04:829 : Loader write range...
77
  10:26:04:832 : w ap 0 @0x20000C00 0x00000B70 bytes Data 0x20020000
78
  10:26:04:832 : W B1 in RAM @0x20000C00 size 0x00000B70 : 0004ms
79
  10:26:04:832 : Init flashloader...
80
  10:26:04:832 : halt ap 0 
81
  10:26:04:832 : w ap 0 reg 0 R0   0x00000001
82
  10:26:04:833 : w ap 0 reg 1 R1   0x00000000
83
  10:26:04:833 : w ap 0 reg 2 R2   0x00000000
84
  10:26:04:842 : w ap 0 reg 3 R3   0x00000000
85
  10:26:04:842 : w ap 0 reg 4 R4   0x00000000
86
  10:26:04:843 : w ap 0 reg 5 R5   0x00000000
87
  10:26:04:843 : w ap 0 reg 6 R6   0x00000000
88
  10:26:04:843 : w ap 0 reg 7 R7   0x00000000
89
  10:26:04:843 : w ap 0 reg 8 R8   0x00000000
90
  10:26:04:843 : w ap 0 reg 9 R9   0x00000000
91
  10:26:04:843 : w ap 0 reg 10 R10  0x00000000
92
  10:26:04:843 : w ap 0 reg 11 R11  0x00000000
93
  10:26:04:843 : w ap 0 reg 12 R12  0x00000000
94
  10:26:04:843 : w ap 0 reg 13 SP   0x00000000
95
  10:26:04:843 : w ap 0 reg 14 LR   0x20000001
96
  10:26:04:843 : w ap 0 reg 15 PC   0x20000005
97
  10:26:04:843 : w ap 0 reg 16 xPSR 0x01000000
98
  10:26:04:843 : w ap 0 reg 17 MSP  0x20000BDC
99
  10:26:04:843 : w ap 0 reg 18 PSP  0x00000000
100
  10:26:04:843 : run ap 0 
101
  10:26:04:843 : halt ap 0 
102
  10:26:04:843 : r ap 0 reg 0 R0   0x00000001
103
  10:26:04:843 : w ap 0 reg 0 R0   0x08000000
104
  10:26:04:843 : w ap 0 reg 1 R1   0x00000B70
105
  10:26:04:843 : w ap 0 reg 2 R2   0x20000C00
106
  10:26:04:844 : w ap 0 reg 3 R3   0x00000002
107
  10:26:04:844 : w ap 0 reg 4 R4   0x00000000
108
  10:26:04:844 : w ap 0 reg 5 R5   0x00000000
109
  10:26:04:844 : w ap 0 reg 6 R6   0x00000000
110
  10:26:04:844 : w ap 0 reg 7 R7   0x00000000
111
  10:26:04:844 : w ap 0 reg 8 R8   0x00000000
112
  10:26:04:844 : w ap 0 reg 9 R9   0x00000000
113
  10:26:04:844 : w ap 0 reg 10 R10  0x00000000
114
  10:26:04:844 : w ap 0 reg 11 R11  0x00000000
115
  10:26:04:844 : w ap 0 reg 12 R12  0x00000000
116
  10:26:04:844 : w ap 0 reg 13 SP   0x00000000
117
  10:26:04:844 : w ap 0 reg 14 LR   0x20000001
118
  10:26:04:844 : w ap 0 reg 15 PC   0x20000033
119
  10:26:04:844 : w ap 0 reg 16 xPSR 0x01000000
120
  10:26:04:844 : w ap 0 reg 17 MSP  0x20000BDC
121
  10:26:04:844 : w ap 0 reg 18 PSP  0x00000000
122
  10:26:04:844 : run ap 0 
123
  10:26:04:848 : w ap 0 @0x20001770 0x00000B70 bytes Data 0x431369BA
124
  10:26:04:848 : W B2 in RAM @0x20008400 size 0x00000B70: 0011ms
125
  10:26:04:861 : r ap 0 reg 0 R0   0x00000001
126
  10:26:04:861 : Wait W B1 in Flash @0x08000000 size 0x00000B70: 0009ms
127
  10:26:04:861 : w ap 0 reg 0 R0   0x08000B70
128
  10:26:04:861 : w ap 0 reg 1 R1   0x00000B70
129
  10:26:04:861 : w ap 0 reg 2 R2   0x20001770
130
  10:26:04:861 : w ap 0 reg 3 R3   0x00000002
131
  10:26:04:861 : w ap 0 reg 4 R4   0x00000000
132
  10:26:04:861 : w ap 0 reg 5 R5   0x00000000
133
  10:26:04:861 : w ap 0 reg 6 R6   0x00000000
134
  10:26:04:861 : w ap 0 reg 7 R7   0x00000000
135
  10:26:04:861 : w ap 0 reg 8 R8   0x00000000
136
  10:26:04:861 : w ap 0 reg 9 R9   0x00000000
137
  10:26:04:861 : w ap 0 reg 10 R10  0x00000000
138
  10:26:04:861 : w ap 0 reg 11 R11  0x00000000
139
  10:26:04:861 : w ap 0 reg 12 R12  0x00000000
140
  10:26:04:861 : w ap 0 reg 13 SP   0x00000000
141
  10:26:04:861 : w ap 0 reg 14 LR   0x20000001
142
  10:26:04:861 : w ap 0 reg 15 PC   0x20000033
143
  10:26:04:861 : w ap 0 reg 16 xPSR 0x01000000
144
  10:26:04:861 : w ap 0 reg 17 MSP  0x20000BDC
145
  10:26:04:861 : w ap 0 reg 18 PSP  0x00000000
146
  10:26:04:861 : run ap 0 
147
  10:26:04:876 : r ap 0 reg 0 R0   0x00000001
148
  10:26:04:876 : Write elapsed time: 0040ms
149
  10:26:04:876 : Segment[0] downloaded successfully
150
  10:26:04:876 : File download complete
151
  10:26:04:898 : Time elapsed during download operation: 00:00:00.312
152
  10:26:04:898 : Verifying ...
153
  10:26:04:898 : Read progress:
154
  10:26:04:898 : Reading data...
155
  10:26:04:898 : r ap 0 @0x08000000 0x00000400 bytes Data 0x20020000
156
  10:26:04:898 : Reading data...
157
  10:26:04:898 : r ap 0 @0x08000400 0x00000400 bytes Data 0xEBB3B15D
158
  10:26:04:898 : Reading data...
159
  10:26:04:898 : r ap 0 @0x08000800 0x00000400 bytes Data 0x2301D001
160
  10:26:04:898 : Reading data...
161
  10:26:04:898 : r ap 0 @0x08000C00 0x00000400 bytes Data 0x601A69BA
162
  10:26:04:899 : Reading data...
163
  10:26:04:900 : r ap 0 @0x08001000 0x00000400 bytes Data 0x693B4602
164
  10:26:04:900 : Reading data...
165
  10:26:04:900 : r ap 0 @0x08001400 0x000002E0 bytes Data 0x687B020C
166
  10:26:04:900 : Download verified successfully 
167
  10:26:04:909 : RUNNING Program ... 
168
  10:26:04:909 :   Address:      : 0x08000000
169
  10:26:04:912 : w ap 0 reg 15 PC   0x08000741
170
  10:26:04:913 : w ap 0 reg 17 MSP  0x20020000
171
  10:26:04:913 : w ap 0 reg 16 xPSR 0x01000000
172
  10:26:04:913 : Application is running, Please Hold on...
173
  10:26:04:913 : Start operation achieved successfully

von pegel (Gast)


Lesenswert?

Jetzt tippe ich auch langsam auf Kurzschluss oder Hardwarefehler.

von Johnny B. (johnnyb)


Lesenswert?

Sind die beiden für SWD genutzten GPIO's auch entsprechend 
initialisiert?

von pegel (Gast)


Lesenswert?

Im letzten Blinky kann ich das garantieren.

von Lothar (Gast)


Lesenswert?

Kannst Du ein Blinky über Bootloader TX/RX flashen oder nicht?

Falls ja dann sperrt Dein Programm den Debugger aus.

von Moot S. (mootseeker)


Lesenswert?

pegel schrieb:
> Jetzt tippe ich auch langsam auf Kurzschluss oder Hardwarefehler.

Ich habe nun den Programmer weggenommen und die Speisung kurz 
ausgeschalten.
Nach dem erneuten einschalten blinken nun die beiden LED's 
abwechslungsweise.

Kann es sein, dass ich ein Problem mit der Reset Leitung habe?

Wieder mit dem Debugger verbunden und wie ich im STM32CubeProgrammer auf 
Connect klicke funktioniert es nicht mehr.

von pegel (Gast)


Lesenswert?

Hast Du Software Reset eingestellt?

von Moot S. (mootseeker)


Lesenswert?

Ja

von pegel (Gast)


Lesenswert?

Moot S. schrieb:
> Wieder mit dem Debugger verbunden

Versorgung nur von diesem?

von pegel (Gast)


Lesenswert?

Moot S. schrieb:
> wie ich im STM32CubeProgrammer auf
> Connect klicke funktioniert es nicht mehr.

Damit hält das Programm an.

von pegel (Gast)


Lesenswert?

Bei Disconnect läuft es weiter.

von Moot S. (mootseeker)


Lesenswert?

pegel schrieb:
> Bei Disconnect läuft es weiter.

Bei Connect hält es an und bei Disconnect geht der Strom hoch.
Das Programm läuft nicht weiter.

von pegel (Gast)


Lesenswert?

Moot S. schrieb:
> Das Programm läuft nicht weiter.

Da liegt wohl das Problem.
Normal wird dann Software Reset ausgelöst und das Programm startet.

Hast Du noch einen anderen ST-Link?

von pegel (Gast)


Lesenswert?

Hat der ST-Link V3 eine Reset Leitung?
Dann ist es vermutlich Hardware Reset und die Leitung zu benutzen.

von (Gast)


Lesenswert?

Moot S. schrieb:
> 4. Fenster mit "Break at address "0x1fff4252" with no debug information
> available, or outside of program code." ploppt auf

Sieht das im Disassembly nach vernünftigem Code aus? Dort sollte der STM 
interne bootloader liegen. Kann man singlesteppen? Oder gar "run" 
ausführen?

von Flip B. (frickelfreak)


Lesenswert?

Ich habe mal von stm32l151rct6 auf stm32l151ret6 umgestellt, letzterer 
hatte die Interrupt-origin scb->vtor nach dem boot auf den Bootloader 
system memory gesetzt. der erste interrupt ließ den programmfluss dann 
richtung bootloader abbiegen.

von Moot S. (mootseeker)


Lesenswert?

pegel schrieb:
> Hast Du noch einen anderen ST-Link?

Nein aber könnte ich auftreiben.

pegel schrieb:
> Hat der ST-Link V3 eine Reset Leitung?

Ja hat er: NRST

rµ schrieb:
> Sieht das im Disassembly nach vernünftigem Code aus? Dort sollte der STM
> interne Bootloader liegen. Kann man singlesteppen? Oder gar "run"
> ausführen?

Das File lässt sich nicht öffnen, bei "Run" oder "Step" Stürzt der 
Debugging Prozess ab.

von Moot S. (mootseeker)


Lesenswert?

Dieses Problem ist gelöst.
Ich habe heute den MCU getauscht. Nun habe ich das Problem nicht mehr.
Es war sehr wahrscheinlich ein Schaden im MCU selbst.

Dazu gekommen bin ich, weil ich bemerkt habe, dass wenn ich bei den 4 
Tastern einen gedrückt habe bei allen anderen Pins die Spannung nach GND 
ging.
Das ist nach dem Layout nicht möglich. So muss ein Schaden im MCU sein.

Naja nun läuft alles so wie es soll. Vielen Dank für eure Hilfe und eure 
Zeit!

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.