Franz M. schrieb:
> Wenn ich von Arduino die .HEX file exportiere, kann
> diese korrekt von Atmel Studio übertragen werden, oder sind .HEX files
> nicht kompatibel.
Intel-Hex-Files, um es konkret zu sagen. Es sind auch Motorola-Hex-Files
gebräuchlich.
Also, Intel-Hex ist ein Textformat, um Speicherinhalte blockweise mit
Adresse und Prüfsumme in einer Datei haben zu können. Insofern ist das
eigentlich kompatibel und unabhängig vom konkreten Programm was das
liest oder schreibt.
Aber:
1. Intel-Hex wurde anfänglich für maximal 64K Speicherumfang erfunden.
Um größere Speicher darstellen zu können, gibt es Erweiterungen, und
zwar mehrere. Eine davon ist die CS:IP Erweiterung für 8086 Systeme, die
bis 1 MB ausreicht. Eine weitere ist die plain 32 Bit Erweiterung, die
für alles bis 4 GB ausreicht.
Blöderweise benutzen manche Gcc-Versionen die CS:IP Variante für Zeugs,
was mit dem 8086 nix am Hut hat, anstatt korrekterweise die 32 Bit
Variante zu nehmen. Ich hatte das bei meinem STM32Prog gemerkt.
2. Bei manchen Zielplattformen werden Daten auf vereinbarten Adressen im
Hexfile gehalten, obwohl sie nichts mit dem Code zu tun haben. Beispiel:
kleine PIC's von MicroChip. Dort steht der Code in 0..1FFFh, die
Userflags und ID's und Fuses ab 2000h und der EEPROM-Inhalt ab 2100h -
obwohl alles dreies miteinander nix zu schaffen hat.
Wahrscheinlich sieht das nun konkret bei deinem Arduino ganz entspannt
aus, da kannst du erwarten, daß sich der Inhalt des Hexfiles nur nach
dem Chip auf deiner LP richtet und nicht nach irgendwelchen
PC-Programmen.
W.S.