Speicherproblem C8051F021

OP #2496017
Hallo zusammen

ich habe da mal ein Problem:

ich habe einen Chip C8051F021.. die Hardware drum rum ist bereits fertig 
und kann momentan zumindest nicht geändert werden.

Zu meinem Problem:
Ich lese direkt nach dem einschalten mehrere Werte aus dem Flash und 
speichere auch gleich wieder etwas hinein...funktioniert im normalfall 
auch ...

wenn ich jedoch etwas schreiben will muss ich das Seitenweise bei dem 
Controller machen.. also immer 512 bytes ... ist auch kein Problem..
nur muss man bevor man was schreibt erstmal alles löschen.. bzw mit FF 
beschreiben ... geht auch ...
jetzt habe ich das Problem das wenn es zu einem Stromausfall (oder 
Wackelkontakt beim Netzteil anschließen...) beim schreibvorgang kommt, 
kann es vorkommen das die Werte schon gelöscht sind aber die neuen noch 
nicht geschrieben ... also alles weg ist ...

wie kann ich sowas verhindern?

T
Am besten ist eine Spannungsüberwachung.
D.h. die Spannung vor dem Regler wird über einen ADC-Eingang überwacht, 
ob sie hoch genug ist und erst dann das Schreiben erlaubt.
Und an der VCC ist dann ein entsprechend dicker Elko, der für die Dauer 
des Schreibens garantiert genug Energie liefert.

Als Notlösung nimmt man 2 Pages wechselweise und speichert eine 
fortlaufende Nummer und eine CRC mit.
Stimmen beide CRC, ist die Page mit der nächsten folgenden Nummer die 
neuere.
D.h. bei 0xFF und 0x00, ist die Page mit 0x00 neuer.


Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.