Hallo,
kann man ein Arduino-File in ein Hex-File umwandeln, um es direkt, also
ohne Arduino-Hardware, auf einen AVR-Controller flashen zu können?
Ich habe hier ein .ino-File, dass ich gerne direkt auf einen Atmega
brennen möchte.
Habe aber nur einen AVRISP MKII und einen Programmieradapter dafür zur
Hand und würde das erzeugte Hex-File z.B. vom AVR-Studio aus auf den
Controller flashen.
(Kann die Arduino-IDE alternativ auch Hex-Files zum Flashen ausgeben?
Wäre zwar etwas umständlicher, aber machbar)
FredMa schrieb:> Kann die Arduino-IDE alternativ auch Hex-Files zum Flashen ausgeben?
Macht sie doch immer. Die legt die im Ordner ab, und schiebt sie dann
hoch.
Das ist sogar dringend erforderlich weil einige Programmer mit der IDE
nicht zurecht kommen.
Mach folgendes.
Starte die IDE, klicke auf Einstellungen, Ganz unten findest du den Text
"Mehr einstellungen können.... " Öffne mit einen EINFACHEN Text-Editor
die angegebenen Datei.
im 2. Eintrag findest du den Path wo sich das HEX-File befindet. ;)
PittyJ schrieb:> Ich dachte immer, ein Ino-File wäre der Sourcecode, den man noch> compilieren müßte. Also nicht nur gcc objcopy oder ähnliches.
Ist auch richtig. Die INO ist nur eine lausige Text-Datei. Die IDE
kompiliert die (haut die Libs dazu etc) und erstellt das HEX-File.
Das hochladen macht ein anderer dann. ;)
Philipp K. schrieb:> In der neuen IDE gibt es sogar einen Menüeintrag dafür.
In der alten auch, nennt sich "Kompilierte Binärdatei exportieren" im
Menü "Sketch". Dann landet die HEX-Datei (oder bei manchen Boards zwei
davon, eine ohne Bootloader und eine mit Bootloader) im Sketch-Ordner.
LG, Sebastian
Sebastian W. schrieb:> In der alten auch, nennt sich "Kompilierte Binärdatei exportieren" im> Menü "Sketch".
Habe ich nie benutzt. ;) Ich habe die preferences.txt einfach von Hand
angepasst. ;) Damit Ordnung herrscht.
Davon abgesehen macht mein VOR-Compiler das so das er jede HEX in den
Projekt-Ordner kopiert. ;)
Schlaumaier schrieb:> Die IDE kompiliert die (haut die Libs dazu etc) und erstellt das HEX-File.
Die IDE compiliert überhaupt nichts. Das macht der gcc.
FredMa schrieb:> Habe aber nur einen AVRISP MKII und einen Programmieradapter dafür zur> Hand und würde das erzeugte Hex-File z.B. vom AVR-Studio aus auf den> Controller flashen.
Warum flashst Du nicht einfach direkt mit der Arduino IDE?
Du musst nur beim Pfeil "hochladen" die Shift-Taste drücken - dann kommt
"hochladen mit Programmer"
Vorher musst Du in Werkzeuge - Programmer deinen AVRISP auswählen,
natürlich noch COM-Port anpassen
Wolfgang schrieb:> Schlaumaier schrieb:>> Die IDE kompiliert die (haut die Libs dazu etc) und erstellt das HEX-File.> Die IDE compiliert überhaupt nichts. Das macht der gcc.
Du hast ja recht, trotzdem werfe ich Dir Wortklauberei vor. Der Vorteil
der A*IDE ist ja gerade, die Konfiguriererei des GCC vor dem Benutzer zu
verbergen.
Heinz R. schrieb:> Warum flashst Du nicht einfach direkt mit der Arduino IDE?>> Du musst nur beim Pfeil "hochladen" die Shift-Taste drücken - dann kommt> "hochladen mit Programmer"
Interessant, Shift-Hochladen kannte ich noch nicht. Ich nutze ISP nur,
wenn ich den Bootloader ändern will. Ist ein guter Tip, damit kann man
also eine blanken AVR ohne USB aus A*IDE bespielen.
> Vorher musst Du in Werkzeuge - Programmer deinen AVRISP auswählen,> natürlich noch COM-Port anpassen
Das war bei meinem China-Clone eine längere Sucherei, mit welchem
Programmer der Nachbau kompatibel ist.
Manfred schrieb:> Ist ein guter Tip, damit kann man> also eine blanken AVR ohne USB aus A*IDE bespielen.
ja, ich mache es fast nur noch so - das Bootloader-Rumgekasper ist mir
zu doof, so werden selbst nackte / fabrikneue Atmels einfach geflasht
Leider kann die Arduino-IDE die Fuses nicht setzen ...
Heinz R. schrieb:> Leider kann die Arduino-IDE die Fuses nicht setzen ...
Das ist nicht ganz richtig!
Es bedarf allerdings einer fremden, eigenen oder modifizierten Board
Definition dafür.
Über den Menuepunkt "Bootloader brennen" werden dann die Fuses gesetzt.
Auch wenn der Punkt so heißt, kann man doch so auf einen Bootloader
verzichten, bzw. runter werfen.
Manfred schrieb:> Du hast ja recht, trotzdem werfe ich Dir Wortklauberei vor. Der Vorteil> der A*IDE ist ja gerade, die Konfiguriererei des GCC vor dem Benutzer zu> verbergen.
O.K. Aber das macht sie so gut (das verbergen) das ich es nicht einmal
bemerkt habe. Und solange es funktioniert und das Ergebnis stimmt, stört
es mich auch eh nicht ;)