www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Checksumme EEPROM berechnen


Autor: Thomas Miehling (tm112)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich bin mir jetzt nicht sicher, aber eine CRC in einem alten EEProm 
klingt für mcih sehr seltasam ...
Ich denke es ist was anderes

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Thomas Miehling (tm112)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Bobby (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.