Richtiges Checksummenverfahren finden?!

OP #7300914
Lesenswert?
• ▲
▼
Hallo Liebe Leute
Ich brauche wieder Eure Hilfe.
Ich habe da ein Zigbee Gerät mit einem MSP430F437 Chip
Das hat intern einen EEprom Speicher, dass scheinbar in zwei gleiche 
Bereiche aufgeteilt ist. (2 gleiche Bänke)
Ich möchte gerne in einem dieser Speicherbereiche(Bänke) etwas ändern.
Scheinbar ist das aber mit einer Checksumme gesichert. (letzten zwei 
Byte)
Wenn ich in diesem Bereich etwas ändere (ohne die Cecksumme zu ändern) 
geht das Ding auf Systemtest.

Der Ganze Speicher schaut so aus:
@00001000
00 D2 46 97 76 7E 05 46 BB D2 49 46 63 7E 14 97
94 00 12 44 44 00 01 43 53 DE AD BE EF 60 0D F0
0D DE AD CA FE F0 0D CA FE A6 4B D1 EC 9F 98 C8
69 00 00 49 D4 00 00 00 01 FF FF 00 1E 84 80 FF
FF FF FF FF FF 32 30 30 36 2D 30 31 2D 30 31 20
30 30 3A 30 30 3A 30 30 00 07 0D 00 00 00 01 00
00 FF FF FF FF 08 0C 03 84 00 00 FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF 3D 94
55 D2 46 97 76 7E 05 46 BB D2 49 46 63 7E 14 97
94 00 12 44 44 00 01 43 53 DE AD BE EF 60 0D F0
0D DE AD CA FE F0 0D CA FE A6 4B D1 EC 9F 98 C8
69 00 00 49 D4 00 00 00 01 FF FF 00 1E 84 80 FF
FF FF FF FF FF 32 30 30 36 2D 30 31 2D 30 31 20
30 30 3A 30 30 3A 30 30 00 07 0D 00 00 00 01 00
00 FF FF FF FF 08 0C 03 84 00 00 FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF 3D 94


Ab 0x1080 scheint es der untere Speicherbereich zu sein.
(beide sind von den Daten her gleich, außer das erste Byte)
Checksumme scheint hier die "3D 94" (auf 0x10FE ) zu sein.
Gleich wie auf 0x107E

Also Bank 1: (oben)
00 D2 46 97 76 7E 05 46 BB D2 49 46 63 7E 14 97
94 00 12 44 44 00 01 43 53 DE AD BE EF 60 0D F0
0D DE AD CA FE F0 0D CA FE A6 4B D1 EC 9F 98 C8
69 00 00 49 D4 00 00 00 01 FF FF 00 1E 84 80 FF
FF FF FF FF FF 32 30 30 36 2D 30 31 2D 30 31 20
30 30 3A 30 30 3A 30 30 00 07 0D 00 00 00 01 00
00 FF FF FF FF 08 0C 03 84 00 00 FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF 3D 94

und untere Bank 2
55 D2 46 97 76 7E 05 46 BB D2 49 46 63 7E 14 97
94 00 12 44 44 00 01 43 53 DE AD BE EF 60 0D F0
0D DE AD CA FE F0 0D CA FE A6 4B D1 EC 9F 98 C8
69 00 00 49 D4 00 00 00 01 FF FF 00 1E 84 80 FF
FF FF FF FF FF 32 30 30 36 2D 30 31 2D 30 31 20
30 30 3A 30 30 3A 30 30 00 07 0D 00 00 00 01 00
00 FF FF FF FF 08 0C 03 84 00 00 FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF 3D 94

Die 3D 94 am Ende scheint die Checksumme zu sein.

Leider finde ich nicht raus, wie diese Checksumme errechnet wird.
Habe schon alle Online Kalkulatoren versucht, aber kein Ergebnis passt.
Eins habe ich rausgefunden, dass wenn ich einen Wert um 1 erhöhe, geht 
die
Checksumme auch um 1 rauf...
Habe auch probiert das erste Byte pro Bank weg zu lassen..
Weill 00 und 55 ja sehr unterschiedlich sind und vielleicht nicht zur 
Checksummenberechung verwenden werden ?

Habe jetzt auch probiert die Adressen mit in die Berechnung aufzunehmen.
Geht aber auch nicht :-(

Habt Ihr vielleicht einen Tip, wie ich die Checksumme neu berechnen kann 
?

Bitte bitte um Hilfe !

Danke für Eure Antworten  :-)

l.G. Robert
Angehängte Dateien:
Gast #7301002
Lesenswert?
• ▲
▼
Michael B. schrieb:
> Robert P. schrieb:
>> ich einen Wert um 1 erhöhe, geht die
>> Checksumme auch um 1 rauf...
>
> Na da wird es schon etwas mehr tests benötigen

Also entweder ist die Aussage des UP wahr, dann braucht man nur noch 
ggf. einen Startwert finden.

Oder sie ist falsch, dann muss man weitersuchen.

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.