Ich arbeite derzeit an einem Projekt in der Arduino IDE, muss aber wegen dem Bootloader meines uCs über Atmel Studio hochladen. Nun meine Frage: Wenn ich von Arduino die .HEX file exportiere, kann diese korrekt von Atmel Studio übertragen werden, oder sind .HEX files nicht kompatibel. Ich bin ein blutiger Anfänger, wenn etwas unklar ist bitte nachfragen. Danke im voraus, Franz
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. Im Intel-Hex File steht ein Inhalt des Flashs. Es ist nicht gesagt, ob es der gesamte oder der nötige Inhalt ist. Auf jeden Fall kann aber ein Intel-Hex File von anderen Programmern idR. problemlos gelesen und sein Inhalt an die entsprechende Stelle im Flash geschrieben werden. Was du dann noch von Hand machen musst, sind die Fuses und die Lockbits. Die sind nämlich nicht im Flash... > Wenn ich von Arduino die .HEX file exportiere, kann diese korrekt von > Atmel Studio übertragen werden, oder sind .HEX files nicht kompatibel. Was ich mich frage: warum probierst du das nicht einfach aus? > Ich bin ein blutiger Anfänger Du wirst beim Ausprobieren zwangsweise etwas lernen. Man kann sich Intel-Hex Files übrigens auch mit einem Editor anschauen und kontrollieren, an welcher Adresse des Datei-Inhalts im Flash gespeichert wird.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.