Checksumme EEPROM berechnen

OP #853388
Die Suchfunktion hat mich hier nur bedingt weiter gebracht.

Es geht um eine reichlich alte Mikrocontroller Applikation, für die ich 
gerne eine aktuelle Benutzeroberfläche (PC-seitig) erstellt hätte.

Das Auslesen des EEPROMs über den Mikrocontroller funktioniert bereits 
bestens. Beim Schreiben taucht jedoch ein Problem auf:

Im EEPROM wird automatisch eine bestimmte Speicherzelle verändert, falls 
sich irgendeine andere Speicherzelle ändert. Da das nun auch noch die 
letzte Zelle ist, liegt die Vermutung nahe, es handelt sich um ein CRC. 
Berechnet und geschrieben wird der komplette Speicherinhalt vom PC aus.

Nun zur eigentlichen Frage:
Gibt es für die Brechnung von EEPROM-Inhalten Standardalgorithmen?

Viele Grüße,
Thomas
Das einfachste ist aufsummieren aller Bytes und nur das niederwertigste 
Byte der Summe wird gespeichert.
Alternativ auch das Komplement davon. Dies hat den Vorteil, dass die 
Summe aller Bytes 0 ergibt (wenn man nur das niederwertigste Byte 
betrachtert).

Obwohl dieser Verfahren nur begrenzt Sicherheit bietet, wird es dennoch 
sehr oft verwendet.
OP
> klingt für mcih sehr seltasam ...
> Ich denke es ist was anderes

Wonach? Nenn's bitte beim Namen. Auffällig ist, dass die entsprechende 
Zelle immer verändert wird, wenn irgend eine andere verändert wird. Das 
Gerät selbst kann prüfen, ob die Daten richtig empfangen wurden und 
gibt über sein Display eine entsprechende Fehlermeldung aus, wenn die 
Daten fehlerhaft geschrieben wurden (EEPROM Fehler). Und das alles ohne, 
dass nach dem Schreiben nochmal der Inhalt des EEPROMs ausgelesen oder 
gar ein zweites Mal gesendet wird. Für mich hört sich das schon sehr 
nach CRC an.
Gast
Das "Gerät" kennt die alte Prüfsumme und den alten gespeicherten
Wert und errechnet mit dem neuen Wert eine neue Prüfsumme.
Ich glaube eher nicht, dass es sich bei der Prüfsumme um den
Wert eines CRC handelt, eher Summenbildung, vielleicht sogar
XOR über alles.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.