Forum: Mikrocontroller und Digitale Elektronik ATMega128 HEX-File


von Daniel (Gast)


Lesenswert?

Hallo,
kann mir jemand den Hex-Code erklären?
Ich vermuhte das die erste 8-Zahlen die Adressen sind, gefolgt 16 Byte
Programmcode.
Was haben die letzte zwei Zahlen in den Zeilen, und die letzte drei
Zeilen zu sagen?

:100000000C9446000C9463000C9463000C94630001
:100010000C9463000C9463000C9463000C946300D4
.
.
:1007900011F0899801C0899AA2DF8898809BFECFCA
:0807A0009EDF872F99270895C1
:0A07A8005445535400303030300047
:00000001FF

von johnny.m (Gast)


Lesenswert?

Am Anfang eines jeden AVR-Programmspeichers stehen die
Interrupt-Vektoren, die Du in den ersten zwei Zeilen stehen siehst. Die
letzten Stellen sind die Prüfsumme der Zeile

von johnny.m (Gast)


Lesenswert?

Some more details:
> :100000000C9446000C9463000C9463000C94630001
Die Zeile (record) beginnt mit dem Doppelpunkt. Dann folgen zwei
Stellen, die die Länge des record anzeigen (hier 10h, also 16 Bytes).
Dann vier Stellen Adresse (hier 0000h, erste Programmzeile), zwei
Stellen record-Typ (hier 00h, also (Programm-)Daten) und dann die Daten
in der vorne angegebenen Länge. Die letzten beiden Stellen sind die
Prüfsumme (Checksum) der Zeile. Die letzte Zeile ist ein sog. End of
File-record (EOF), der mitteilt, dass die eigentliche Programmdatei
hier zu Ende ist.

Allgemein:
:LL AAAA TT DD [DD.....DD] CC

Was im einzelnen in den Datenbytes steht, ist dann Device-abhängig. Wie
gesagt, bei den AVRs stehen an den niedrigsten Adressen die
Interrupt-Vektoren, die aufgrund der Speichergröße beim Mega128 32 Bit
(also 4 Bytes) breit sind. Dann kommt das eigentliche Programm und am
Ende das EOF.

Kannst ja mal nach Intel-Hex-Format googeln, wenn Du mehr Infos
brauchst...

von Daniel (Gast)


Lesenswert?

Danke, das hilft mir weiter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.