Sida 1 av 1

modda hexkod [fixat]

Postat: 28 juni 2010, 14:01:23
av jesse
Har en hexkodsfil till en AVR som jag vill modda.
mitt i så ska jag lägga in en JMP som hoppar till en annan kod.
Men hexkoden har ju en checksumma i slutet av varje rad (vet inte om den har checksumma även i slutet av filen?)

Kod: Markera allt

:10F80000CFEFD0E1DEBFCDBF11241FBE1DC08136BA
:10F8100010F087550895813410F087530895803390
:10F8200010F480E00895805308950F931F93062FDE
:10F830000E94077C182F802F0E94077C1295107F52
:10F84000810F1F910F910895940C7FB04F925F92D7  << här
:10F850006F927F928F929F92AF92BF92CF92DF92E0
...
:040000030000F80001
:00000001FF
det är i raden 10f840 jag har ändrat fyra bytes (f848-f84b)
går ju inte att programmera utan rätt checksum, men jag vet inte hur den beräknas.

Re: modda hexkod

Postat: 28 juni 2010, 14:12:13
av Swech
http://en.wikipedia.org/wiki/Intel_HEX

Kolla om inte detta hjälper

Swech

Re: modda hexkod

Postat: 28 juni 2010, 14:33:08
av jesse
tack... nu är det fixat.. genererade checksumman med ett litet c++ program.
cc is the checksum field that represents the checksum of the record. The checksum is calculated by summing the values of all hexadecimal digit pairs in the record modulo 256 and taking the two's complement.
FORMEL:

cc = ( 0x01 + ~(data1+data2+data3+data4+ ... + sistadata) ) & 255;