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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren