Forum: Mikrocontroller und Digitale Elektronik Mega 2560 Board über USB programmieren


von Flipper (Gast)


Lesenswert?

Ich will einen ATmega2560 auf dem 'Arduino Mega 2560 R3'-Board über USB 
programmieren, hatte mir erhofft ich könnte das ganz einfach über Atmel 
Flip machen, aber dort lässt sich der ATmega2560 im Auswahlmenü nicht 
finden.

Der verbaute ATmega16u2 dient ja lediglich als USB-Serial-Adapter...

Bonus-Frage: Ist der Bootloader des ATmega2560 nötig um ihn über den 
ATmega16u2 zu programmieren?

von holger (Gast)


Lesenswert?

>Ich will einen ATmega2560 auf dem 'Arduino Mega 2560 R3'-Board über USB
>programmieren, hatte mir erhofft ich könnte das ganz einfach über Atmel
>Flip machen, aber dort lässt sich der ATmega2560 im Auswahlmenü nicht
>finden.

Flip kennt keine Arduino Bootloader.
Nimm die Arduino IDE zum programmieren.

von Flipper (Gast)


Lesenswert?

Brauch Flip auch garnicht, es greift ja auf den ATmega16u2 zu der 
wiederum den ATmega2560 programmiert.

Nur komme ich nicht dahinter wie... Stelle ich Flip auf den ATmega16u2 
ein würde mir ja dessen Speicher angezeigt und dieser höchst 
wahrscheinlich auch beschrieben werden.

Arduino IDE kann mir gestohlen bleiben, dann lieber ISP...

von Bülent C. (mirki)


Lesenswert?

Flipper schrieb:
> Arduino IDE kann mir gestohlen bleiben, dann lieber ISP...

Du musst sogar ISP nehmen, wenn Du den 2560 proggen willst.
Flip ist nur für Controller mit USB on Board.

von Flipper (Gast)


Lesenswert?

> Flip ist nur für Controller mit USB on Board.

Hab ich wohl zu viel erwartet, dachte der ATmega16u2 übergibt das über 
Flip empfangene Programm an den ATmega2560.

Wie schafft das dann die Arduino IDE? Irgend einen Weg muss ja geben ihn 
über USB zu flashen.

von Philipp K. (philipp_k59)


Lesenswert?

Flip ist nur eine Technologie für Atmegas mit "Hardware USB" 
Unterstützung welche fast nur die "AtmegaXXuX" besitzen und eigentlich 
ist das sowieso nichts super besonderes.. es sei denn man hat keinen 
AVR-Studio kompatiblen Programmer.

Du hast jetzt nunmal den 2560 und musst dessen Möglichkeiten nutzen,wenn 
du den mit Flip flasht, flasht du nur den Atmega16u2, dieser ist aber 
als "USB-Serial-Wandler" (üblicherweise ein FTDI-232) programmiert und 
Dir bliebe nur noch ISP übrig weil der USB Upload zum 2560 quasi 
"kaputt" ist.

Mit avrdude (wie Arduino) könntest könntest Du den als Arduino oder 
stk500v2 über USB flashen.
avrdude -p m2560 -c stk500v2 -P /path/to/serial -b 115200 -F -U

von kast (Gast)


Lesenswert?

Philipp K. schrieb:
> stk500v2 über USB flashen.


Ab avrdude Version 5.11 würde ich "-c wiring" verwenden
(anstatt -c stk500v2) -> das erspart mir das lästige
Reset-Drücken kurz vor dem Flashen

von Flipper (Gast)


Lesenswert?

-p m2560 -c wiring -P COM7 -b 115200 -U 
flash:w:$(ProjectDir)Debug\$(ItemFileName).hex:i

...gibt mir...

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.02s

avrdude.exe: Device signature = 0x1e9801
avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle 
will be performed
             To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: stk500v2_command(): command failed

avrdude.exe done.  Thank you.

wohingegen mit stk500v2 nichts gefunden wird.

von Philipp K. (philipp_k59)


Lesenswert?

was kommt mit "arduino" anstatt wiring?

Manchmal hilft ein manueller Reset direkt vorm Ausführen in der 
Befehlszeile.

: Bearbeitet durch User
von Stephan B. (matrixstorm)


Lesenswert?

Hallo Flipper.

Mein gepatchter USBaspLoader laeuft auf dem ATmega2560 (getestet).
Mittels diesen Bootloader kannst du per USB programmieren - und das 
wesentlich schneller als per ISP.

https://github.com/baerwolf/USBaspLoader

Ich moechte auch anmerken ,  dass viele andere Bootloader (so auch der 
ungepatchte USBaspLoader) mit dem grossen Flashspeicher des ATmega2560 
nicht klar kommen. Es kommt dann zu nicht sofort testbaren Fehlern.
Seit USBaspLoader v0.96 wird ATmega2560 voll unterstuetzt.

MfG Stephan

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.