Forum: Mikrocontroller und Digitale Elektronik [STM32] Speicherbereich nicht lesbar


von esteem (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe einen Teil des Flashs eines STM32H743 für das nichtflüchtige 
Speichern einiger Programmdaten vorgesehen, d.h. sie werden alle paar 
Stunden geschrieben. Jetzt kann ich plötzlich, nachdem es einiege Zeit 
lang funktionierte, einen bestimmten Speicherbereich nicht mehr lesen. 
Die Speicherung erfolgt inkrementell, d.h. der nächste freie 
Speicherbereich wird beschrieben und alles gelöscht wenn der Sektor voll 
ist. Der aktuelle Bereich ist bisher nur ein einziges Mal beschrieben 
worden, es sollte daher also keine Verschleißerscheinung sein. Alles vor 
und hinter diesen paar Bytes ist aber weiterhin lesbar, es handelt sich 
also nur um diese paar Bytes. Im Bild kann man sehen, dass der 
Memory-Browser an diesen Stellen nur Fragezeichen anzeigt. Ich kann 
nicht ausschließen, dass das letzte Speichern der Daten in irgendeiner 
Weise unterbrochen wurde oder Fehlgeschlagen ist. Hat jemand so etwas 
schonmal gesehen? Kann man verhindern, dass der Prozessor dann direkt in 
einen Hard Fault geht?

von A. B. (Gast)


Lesenswert?

Natürlich ist der Speicherbereich "lesbar". Es kann nur sein, dass bei 
Lesen ein ECC-Fehler auftritt (Einbit oder Mehrbit). Dabei wird aber nur 
ein Flag im Flash-Statusregister gesetzt und - falls nicht maskiert - 
ein Interrupt erzeugt. Vermutlich ist der also zwar eingeschaltet, aber 
der Interrupt-Handler nicht da oder der erzeugt absichtlich einen 
HardFault.

Da immer ganze 32-Byte-Blöcke über ECC gesichert werden, darf man beim 
Schreiben nätürlich jeden dieser Blöcke nur EINMAL beim Programmieren 
"anfassen". Und wenn während der Schreiboperation etwas schiefläuft, ist 
mindestens der Inhalt dieses kompletten Blocks hinüber ...

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.