Gast
#6580361
Ich habe ein Programm auf einem STM32L1 am Laufen, das ein paar Variablen im EEPROM speichert. Um das Speichern zu überprüfen sehe ich mir den EEPROM-Inhalt während einer Debug-Session an und stelle fest, dass sich die Werte wie erwartet ändern. Dann beende ich das Debugging, mache die Spannungsversorgung (USB) aus und wieder an, starte eine Debug-Session und schaue mir den EEPROM-Inhalt erneut an, bevor der uC wirklich losläuft (Breakpoint bei main). Die Werte von vorhin stehen noch immer im EEPROM. Lasse ich den uC jetzt loslaufen, werden die Werte richtig ausgelesen. Läuft der STM32 jedoch ohne kurzes Debugging los, liest er immer nur 0 aus dem EEPROM aus. Zum Debuggen benutze ich eine Blackmagic Probe mit der neusten Firmware. Führe ich damit folgende Schritte durch, läuft es anschließend ebenfalls wie erwartet:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |