Forum: Mikrocontroller und Digitale Elektronik arduino mit avrdude


von Ralf (Gast)


Lesenswert?

Hallo,
ich habe etwas Kampf mit dem Bootloader eines Arduino Mega2560 R3. Ich 
möchte den Arduino aus dem Atmel Studio mit avrdude programmieren. 
Eingerichtet ist soweit alles, aber der Bootloader Antwortet nicht . 
Bzw. ich bekomme die folgende Meldung:
1
avrdude.exe: stk500_recv(): programmer is not responding
2
avrdude.exe: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

Den Treiber für das Ardiunoboard habe ich mir aus der IDE 
herausgefischt. Das Board meldet sich an meinem Rechner mit dem 
virtuellen com3 an.
Die Kommandozeilenparameter für avrdude V6.1 sehen so aus:
1
-e -P com3  -c arduino -p m2560  -e -U flash:w:"$(ProjectDir)Debug\$(ItemFileName).hex":a
Der Arduino scheint schon ein Programm zu enthalten. Die PWM LED blinkt. 
Wenn ich als programmer  „–c arduino“ wähle, geht das board in den Reset 
und es werden Daten hingesendet. (Die PWM-Led geht aus und die RX LED 
blinkt) Der Bootloader Antwortet allerdings nicht.
Mit den Baudraten –b 19200, -b 57600. –b115200 habe ich auch schon 
probiert. Wenn  ich als programmer auf –c stk500v1 wechsle, wird kein 
Resetimpuls erzeugt.
Erst dachte ich, dass kein Bootloader geflasht ist, aber dann würde wohl 
die pwm led nach dem reset nicht aus bleiben bis keine RX Pakete mehr 
kommen.
Hat noch jemand einen Tip?

von Gerhard O. (gerhard_)


Lesenswert?

Ralf,

Ich habe das kürzlich bei mir getestet und es funktioniert. Hier eine 
Kopie aus meinem Programm:

Assumes C:\AVRDUDE directory with:
----------------------------------
A.BAT
AVRDUDE.CONF
AVRDUDE.EXE
A.HEX
//////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////
WORKS: (Inside A.BAT)
c:\AVRDUDE\avrdude -CC:\AVRDUDE\avrdude.conf -v -patmega328p -carduino 
-PCOM4 -b57600 -D -Uflash:w:C:\AVRDUDE\A.hex:i
//////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////

Vielleicht hilfts,
Gerhadr

von Hubert G. (hubertg)


Lesenswert?

Probier mal den XLoader  http://www.xloader.russemotto.com/
Der funktioniert auf avrdude-Basis. Wenn der geht ist der Bootloader OK 
und deine Einstellungen passen nicht.

von Philipp K. (philipp_k59)


Lesenswert?

schreibt man nicht bei den neuen Arduinos "-c wiring" ?

von Ralf (Gast)


Lesenswert?

Eieiei,

Entschuldigung, ich war unterwegs!

Also mit xloader tut es und der Bootloader funktioniert. Guter Tip, 
danke.

-c winring bringt mit auch etwas voran. Allerdings wird jetzt mit dieser 
Meldung beendet:
1
avrdude.exe: AVR device initialized and ready to accept instructions
2
3
Reading | ################################################## | 100% 0.02s
4
5
avrdude.exe: Device signature = 0x1e9801
6
avrdude.exe: erasing chip
7
avrdude.exe: stk500v2_command(): command failed
8
9
avrdude.exe done.  Thank you.

meine aktuellen Parameter sehen so aus:
1
-P com3 -b115200 -c wiring -p m2560  -e -U flash:w:"$(ProjectDir)Debug\$(ItemFileName).hex":a

von Philipp K. (philipp_k59)


Lesenswert?

Mit Original Bootloader oder einem fremden?

von Christian K. (the_kirsch)


Lesenswert?

Bei meinem Leonardo hab ich in AVRDude diese Einstellungen gewällt:

avrdude -cavr109 -P//./COM4 -b57600 ...


Wichtig, man muss per Hand resetten, nach dem Reset wartet für ein paar 
Sekunden der Bootloader, dieser hat eine andere COM-Nummer als im 
normalen Betrieb.



EDIT:
Der Mega2560 hat wie der Uno einen eigen Chip zum für die 
USB-Verbindung, probier mal
avrdude -cstk500v2 -B115200 -Pcomx

von Ralf (Gast)


Lesenswert?

Hallo,

es ist der originale Bootloader.

@the_kirsch:
....stk500v2 habe ich bereits probiert, siehe oben. Und ja, ich habe 
auch den Eindruck, dass die Autoresetfunktion bei diesem Protokoll nicht 
unterstützt wird.

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.