[STM32] Speicherbereich nicht lesbar

Gast #6029521
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?
Angehängte Dateien:
Gast #6029797
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 ...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.