Asuro Hexfiles
Ein Hexfile dient zum Speichern von binären Daten in einem Textfile. In Hexfiles beginnt jede Zeile mit einem ':' gefolgt von einer variablen Anzahl von hexadezimal kodierten Bytes. In den Hexfiles des Asuro treten nur 2 der 6 möglichen Typen aus der Intel Hexadecimal Object File Format Specification auf, Datensatz und Dateiende.
Datensatz
Byte | Wert | |
1 | L | [Länge] |
2..3 | A | [Ladeadresse] |
4 | '00' | ["Datensatz"] |
5..(4+L) | Daten | [für Adressen A..(A+L-1)] |
(5+L) | P | [Prüfsumme] |
Berechnung der Prüfsumme:
uint8_t R[],P,L; uint16_t u;
for(P=0,L=R[1],u=1; u<=(4+L); ++u)
P-=R[u];
Dateiende
Byte | Wert | |
1 | '00' | |
2..3 | '0000' | |
4 | '01' | ["Dateiende"] |
5 | 'FF' | [Prüfsumme] |
Beispiel eines Asuro-Hexfiles
Ausschnitt eines Asuro-Hexfiles (links Original, rechts aufgeschlüsselt ohne Daten):
L A T Daten P -- ---- -- ----- -- :1000000012C02BC01FC129C0ECC027C026C025C00C : 10 0000 00 ..... 0C :1000100024C023C022C021C020C01FC02AC11DC0CF : 10 0010 00 ..... CF ... ... :1006100038F450954095309521953F4F4F4F5F4F9F : 10 0610 00 ..... 9F :100620000895F6F790958095709561957F4F8F4F5F : 10 0620 00 ..... 5F :040630009F4F08953B : 04 0630 00 ..... 3B :1006340020202020202052414D454E443A20000DD8 : 10 0634 00 ..... D8 :100644000A0020202020205852414D454E443A2093 : 10 0644 00 ..... 93 :1006540000202020202020204532454E443A20000E : 10 0654 00 ..... 0E :1006640020202020464C415348454E443A20005314 : 10 0664 00 ..... 14 :10067400504D5F5041474553495A453A20003A0D81 : 10 0674 00 ..... 81 :020684000A006A : 02 0684 00 ..... 6A :00000001FF : 00 0000 01 FF
Weiterführende Links
- http://en.wikipedia.org/wiki/Intel_HEX - Intel Hexadecimal Object File Format
- http://avr.jassenbaum.de/ja-tools/acxutil.html - Ascii Coded heX Utility (view, edit, compare and convert für Hexfiles)
- http://avr.jassenbaum.de/ja-tools/reavr.html - Reassembler for AVR (Generiert asm-Quelltext direkt aus AVR-Hexfile)
Disassemblieren mittels Send To