modda hexkod [fixat]

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

modda hexkod [fixat]

Inlägg 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.
Senast redigerad av jesse 28 juni 2010, 14:33:29, redigerad totalt 1 gång.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: modda hexkod

Inlägg av Swech »

http://en.wikipedia.org/wiki/Intel_HEX

Kolla om inte detta hjälper

Swech
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: modda hexkod

Inlägg 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;
Skriv svar