Mit der Arduino-Umgebung (arduino-1.6.12-windows.exe) lässt sich unter Win7 64bit der LED-Blinker auf die mega2560 R3-Platine laden. Es blinkt korrekt. Die Hardware und die Verbindung geht also. Zur normalen Arbeit soll WinAVR-20100110 verwendet werden mit Makefile. Dieser Weg funktioniert mit ATmega328p. Das Makefile wurde angepasst für mega2560. "Make program" erzeugt ein main.hex. Die folgende Zeile im Makefile soll main.hex programmieren: avrdude -v -v -v -v -p m2560 -c arduino -P COM10 -b 57600 -l log.txt -U flash:w:main.hex Es sind Meldungen eingeschaltet (-v -v -v -v). Der Ladevorgang schlägt fehl. In log.txt steht: avrdude: Version 6.3, compiled on Sep 12 2016 at 17:24:16 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "C:\WinAVR-20100110\bin\avrdude.conf" Using Port : COM10 Using Programmer : arduino Overriding Baud Rate : 57600 avrdude: Send: 0 [30] [20] avrdude: Send: 0 [30] [20] avrdude: Send: 0 [30] [20] avrdude: ser_recv(): programmer is not responding avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xad avrdude: Send: 0 [30] [20] avrdude: ser_recv(): programmer is not responding avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xad avrdude: Send: 0 [30] [20] avrdude: ser_recv(): programmer is not responding avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xad avrdude: Send: 0 [30] [20] avrdude: ser_recv(): programmer is not responding avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xad avrdude: Send: 0 [30] [20] avrdude: ser_recv(): programmer is not responding avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xad avrdude: Send: 0 [30] [20] avrdude: ser_recv(): programmer is not responding avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xad avrdude: Send: 0 [30] [20] avrdude: ser_recv(): programmer is not responding avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xad avrdude: Send: 0 [30] [20] avrdude: ser_recv(): programmer is not responding avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xad avrdude: Send: 0 [30] [20] avrdude: ser_recv(): programmer is not responding avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xad avrdude: Send: 0 [30] [20] avrdude: ser_recv(): programmer is not responding avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xad avrdude done. Thank you. avrdude.exe und avrdude.conf wurden auf Stand 2016 gebracht. Im Netz sind Hinweise zu finden wie: https://stackoverflow.com/questions/19765037/arduino-sketch-upload-issue-avrdude-stk500-recv-programmer-is-not-respondi "none of my attempts are working and they result in the same error every time I try it - avrdude: stk500_recv(): programmer is not responding." "when uploading, you can see avrdude sending three packets avrdude: Send: 0 [30] [20] (with corresponding RX flashes on the board) right before the avrdude: ser_recv(): programmer is not responding error." "The trick is to hit the reset button on the board immediately before these three packets are sent. Then the program will be uploaded successfully." Es ist von einem Trick die Rede den Reset-Knopf zur richtigen Zeit zu drücken. Leider klappte ein Test damit nicht. Da das Laden mit der Arduino-Umgebung klappt und das Laden per Makefile mit dem ATmega328p klappt müsste der mega2560 doch auch mit Makefile klappen? Was habe ich übersehen? Matthias
Matthias W. schrieb: > Was habe ich übersehen? Aktiviere die ausführlichen Ausgaben der Arduino IDE und schaue dir dann das AVRDUDE Kommando an. Gleiche die Differenzen aus. Dann sollte es auch mit deinem make gelingen.
Vielleicht musst du die Baudrate auf 115200 ändern, das braucht der neue Arduino Bootloader.
Matthias W. schrieb: > Was habe ich übersehen? Kein Bootloader auf dem mega2560 oder (Boot-) Fuses nicht korrekt.
Halb Wissender schrieb: > Kein Bootloader auf dem mega2560 oder (Boot-) Fuses nicht korrekt. Dann würde es mit der Arduino IDE auch nicht funktionieren. Tut es aber, laut Eröffnungsbeitrag.
Matthias W. schrieb: > Die folgende Zeile im Makefile soll main.hex programmieren: > avrdude -v -v -v -v -p m2560 -c arduino -P COM10 -b 57600 -l log.txt -U > flash:w:main.hex Nach eigenem Ausprobieren müsste das hier funktionieren, (tut es jedenfalls bei mir): avrdude -Cavrdude.conf -v -patmega2560 -cwiring -PCOM14 -b115200 -D -Uflash:w:default/MyHexFile.hex:i Entscheidend / unterscheidend hier dass eine Datei avrdude.conf präsent sein muss sowie der Parameter -cwiring. Auf meinem Test-Arduino ist der Bootloder stk500boot_v2_mega2560.hex drauf.
Stefanus F. schrieb: > Vielleicht musst du die Baudrate auf 115200 ändern, das braucht der neue > Arduino Bootloader. Danke Stefanus für den wertvollen Hinweis ! es klappt nun ! in der Zeile die die Arduino-Umgebung erzeugt hat steht tatsächlich 115200. Ich kann schauen was passiert wenn ich das reduziere.
Halb Wissender schrieb: > Entscheidend / unterscheidend hier dass eine Datei avrdude.conf > präsent sein muss sowie der Parameter -cwiring. Danke ! Es geht bei mir auch ohne den Hinweis auf avrdude.conf. Der Parameter -cwiring könnte entscheidend sein, falls es nicht die 115kbd sind. Das kann ich noch testen.
Matthias W. schrieb: > in der Zeile die die Arduino-Umgebung erzeugt hat steht tatsächlich > 115200. Ich kann schauen was passiert wenn ich das reduziere. Da gibts nichts zu probieren! Die Kröte ist widerspruchslos zu schlucken.
Arduino Fanboy D. schrieb: > Die Kröte ist widerspruchslos zu schlucken. eine Kröte ist das ja nicht. Es ist ja ok wenns auch schnell geht.
Arduino Fanboy D. schrieb: > Die Kröte ist widerspruchslos zu schlucken. Matthias W. schrieb: > eine Kröte ist das ja nicht. Es ist ja ok wenns auch schnell geht. zuerst fand ich das neue Tempo ja toll, aber als mein wUSB nicht mehr ging eher weniger! Ergo habe ich bei allen nanos Optiboot auf 57k6 wieder reduziert, was nutzt schnell wenn es u.U. anderswo klemmt. So habe ich nun 4 Auswahlmöglichkeiten:
1 | ## Arduino Nano w/ ATmega328P (new boot full mem low upload)
|
2 | ## --------------------------
|
3 | nano.menu.cpu.atmega328fullmemlowup=ATmega328P (New Boot Full Mem Low Upload) |
4 | |
5 | nano.menu.cpu.atmega328fullmemlowup.upload.maximum_size=32256 |
6 | nano.menu.cpu.atmega328fullmemlowup.upload.maximum_data_size=2048 |
7 | nano.menu.cpu.atmega328fullmemlowup.upload.speed=57600 |
8 | |
9 | nano.menu.cpu.atmega328fullmemlowup.bootloader.low_fuses=0xFF |
10 | nano.menu.cpu.atmega328fullmemlowup.bootloader.high_fuses=0xDE |
11 | nano.menu.cpu.atmega328fullmemlowup.bootloader.extended_fuses=0xFD |
12 | nano.menu.cpu.atmega328fullmemlowup.bootloader.file=optiboot/optiboot_atmega328.hex |
13 | |
14 | nano.menu.cpu.atmega328fullmemlowup.build.mcu=atmega328p |
15 | |
16 | ## Arduino Nano w/ ATmega328P (new bootloader full mem)
|
17 | ## --------------------------
|
18 | nano.menu.cpu.atmega328fullmem=ATmega328P (New Bootloader Full Mem) |
19 | |
20 | nano.menu.cpu.atmega328fullmem.upload.maximum_size=32256 |
21 | nano.menu.cpu.atmega328fullmem.upload.maximum_data_size=2048 |
22 | nano.menu.cpu.atmega328fullmem.upload.speed=115200 |
23 | |
24 | nano.menu.cpu.atmega328fullmem.bootloader.low_fuses=0xFF |
25 | nano.menu.cpu.atmega328fullmem.bootloader.high_fuses=0xDE |
26 | nano.menu.cpu.atmega328fullmem.bootloader.extended_fuses=0xFD |
27 | nano.menu.cpu.atmega328fullmem.bootloader.file=optiboot/optiboot_atmega328.hex |
28 | |
29 | nano.menu.cpu.atmega328fullmem.build.mcu=atmega328p |
30 | |
31 | ## Arduino Nano w/ ATmega328P (new bootloader old mem)
|
32 | ## --------------------------
|
33 | nano.menu.cpu.atmega328=ATmega328P (New Bootloader Old Mem) |
34 | |
35 | nano.menu.cpu.atmega328.upload.maximum_size=30720 |
36 | nano.menu.cpu.atmega328.upload.maximum_data_size=2048 |
37 | nano.menu.cpu.atmega328.upload.speed=115200 |
38 | |
39 | nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF |
40 | nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA |
41 | nano.menu.cpu.atmega328.bootloader.extended_fuses=0xFD |
42 | nano.menu.cpu.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex |
43 | |
44 | nano.menu.cpu.atmega328.build.mcu=atmega328p |
45 | |
46 | ## Arduino Nano w/ ATmega328P (old bootloader low mem)
|
47 | ## --------------------------
|
48 | nano.menu.cpu.atmega328old=ATmega328P (Old Bootloader Low Mem Low Upload) |
49 | |
50 | nano.menu.cpu.atmega328old.upload.maximum_size=30720 |
51 | nano.menu.cpu.atmega328old.upload.maximum_data_size=2048 |
52 | nano.menu.cpu.atmega328old.upload.speed=57600 |
53 | |
54 | nano.menu.cpu.atmega328old.bootloader.low_fuses=0xFF |
55 | nano.menu.cpu.atmega328old.bootloader.high_fuses=0xDA |
56 | nano.menu.cpu.atmega328old.bootloader.extended_fuses=0xFD |
57 | nano.menu.cpu.atmega328old.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex |
58 | |
59 | nano.menu.cpu.atmega328old.build.mcu=atmega328p |
Joachim B. schrieb: > zuerst fand ich das neue Tempo ja toll, aber als mein wUSB nicht mehr > ging eher weniger! > Ergo habe ich bei allen nanos Optiboot auf 57k6 wieder reduziert, was > nutzt schnell wenn es u.U. anderswo klemmt. Danke Joachim für den Hinweis ! Du hast also im Bootloader etwas geändert. Deine 4 möglichen Versionen sind nun unterschiedlich in Size und Speed. Mit welcher Werkzeugkette hast Du das gemacht?
Matthias W. schrieb: > Der Parameter -cwiring könnte entscheidend sein ... warum auch immer, bei mir hat -c wiring nur in Verbindung mit abgeschaltetem Auto-Erase (-D) funktioniert !
Matthias W. schrieb: > Mit welcher Werkzeugkette hast Du das gemacht? mit Atmel Studio 4.18 Den Quellcode vom Optiboot genommen, die Baudrate geändert und per ISP auf die Nanos gebracht, ggffs noch die fuse geändert Bootsektorgröße, mit der Änderung der board.txt kann ich nun auswählen welcher nano oder uno bedient werden will, wenns klemmt, keine Verbindung muss ich halt kurz probieren wer sich meldet.
:
Bearbeitet durch User
Ralph S. schrieb: > -c wiring nur in Verbindung mit > abgeschaltetem Auto-Erase (-D) Danke Ralf. Dieses -D steht bei Arduino auch dabei.
Hi, ich hab da ein sehr ähnliches Problem, dieses Forum hat mir hier schon sehr weiter geholfen, ich hatte ebenfalls das Problem, dass mein Arduino Mega2560 nicht geantwortet hat. Allerdings entwickle ich mein Programm nicht in der Arduino IDE, sondern nutze Atmel Studio 7. Halb Wissender schrieb: > avrdude -Cavrdude.conf -v -patmega2560 -cwiring -PCOM14 -b115200 -D > -Uflash:w:default/MyHexFile.hex:i Dies hat mich soviel weiter gebracht, dass mein PC jetzt mit dem Arduino kommunizieren kann, wenn das Programm jedoch starten sollte, passiert nichts. Das Programm wird also nicht hochgeladen. Meine Vermutung ist, dass das irgendwie mit -cwiring zusammenhängt..? Wäre nett, wenn ihr mir bei diesem Problem weiter helfen könntet! Das ist die momentane Output-Meldung von AS7:
1 | System wide configuration file is "C:\AVRdude\avrdude.conf" |
2 | |
3 | Using Port : COM6 |
4 | Using Programmer : wiring |
5 | Overriding Baud Rate : 115200 |
6 | AVR Part : ATmega2560 |
7 | Chip Erase delay : 9000 us |
8 | PAGEL : PD7 |
9 | BS2 : PA0 |
10 | RESET disposition : dedicated |
11 | RETRY pulse : SCK |
12 | serial program mode : yes |
13 | parallel program mode : yes |
14 | Timeout : 200 |
15 | StabDelay : 100 |
16 | CmdexeDelay : 25 |
17 | SyncLoops : 32 |
18 | ByteDelay : 0 |
19 | PollIndex : 3 |
20 | PollValue : 0x53 |
21 | Memory Detail : |
22 | |
23 | Block Poll Page Polled |
24 | Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack |
25 | ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- |
26 | eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x00 0x00 |
27 | flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00 |
28 | lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
29 | hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
30 | efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
31 | lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
32 | calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 |
33 | signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 |
34 | |
35 | Programmer Type : Wiring |
36 | Description : Wiring |
37 | Programmer Model: AVRISP |
38 | Hardware Version: 15 |
39 | Firmware Version Master : 2.10 |
40 | Vtarget : 0.0 V |
41 | SCK period : 0.1 us |
42 | |
43 | avrdude.exe: AVR device initialized and ready to accept instructions |
44 | |
45 | Reading | ################################################## | 100% 0.01s |
46 | |
47 | avrdude.exe: Device signature = 0x1e9801 (probably m2560) |
48 | avrdude.exe: safemode: lfuse reads as FF |
49 | avrdude.exe: safemode: hfuse reads as D8 |
50 | avrdude.exe: safemode: efuse reads as FF |
51 | |
52 | avrdude.exe: safemode: lfuse reads as FF |
53 | avrdude.exe: safemode: hfuse reads as D8 |
54 | avrdude.exe: safemode: efuse reads as FF |
55 | avrdude.exe: safemode: Fuses OK (E:FF, H:D8, L:FF) |
56 | |
57 | avrdude.exe done. Thank you. |
Kommandozeile und Meldungen passen nicht zusammen. Und nein, wiring ist schon richtig, wenn da ein Bootloader drauf ist.
Nein, das war keine Absicht, allerdings weiß ich nicht wie man den deaktiviert,.. bin neu bei AS7. Hier mal mein Argument für avrdude.exe: -C"C:\AVRdude\avrdude.conf" -v -patmega2560 -cwiring -PCOM6 -b115200 -D Versuche ich etwas hochzuladen mit folgendem: -C"C:\AVRdude\avrdude.conf" -v -patmega2560 -carduino -PCOM6 -b115200 funktioniert das ganze nicht mehr..
Tobias S. schrieb: > Hier mal mein Argument für avrdude.exe: Is ja klar, da fehlt ja auch das wichtigste um zu funktionieren. Warum verstümmelst du das überhaupt?
Tobias S. schrieb: > Nein, das war keine Absicht, allerdings weiß ich nicht wie man den > deaktiviert,.. bin neu bei AS7. Finde es heraus! Ich kann schon ganz alleine Schuhe binden und Laufrad fahren.
Arduino Fanboy D. schrieb: > > Is ja klar, da fehlt ja auch das wichtigste um zu funktionieren. Wieso? Hab hier mal meine Tools in nem Screenshot angehängt. Mit meinem Atmega328P funktioniert alles Problemlos
:
Bearbeitet durch User
Tobias S. schrieb: > Wieso? Erst hijackst du einen fremden Thread, der NICHTS mit deinem Problem zu tun hat. Dann zeigst du einen Aufruf. Dann Meldungen. Beides passt nicht zusammen. Dann 2 bis zur Funktionslosigkeit verstümmelte Aufrufe. Und dann fragst du "Wieso?" Das "Wieso" solltest eigentlich du viel besser beantworten können, als ich. Aber ich sehe schon, mit uns beiden wird das wohl nix mehr.
Was ihr immer mit AVRDUDE etc. habt ... Ich nutze AS 7 - manchmal AS 4.18 und noch manchmaler Arduino IDE. Code schreiben, compilieren und ggf. debuggen u/o auf den Chip "brennen". AVRDUDE - schön und sehr nutzbringend, läuft ohne mein Eingreifen :-). Muss ich die Motorsteuerung kennen, um Auto fahren zu können?
Okay, tut mir leid, dass ich diesen Beitrag gehijacked habe,... werde es wohl auf eigene Faust versuchen, das ganze zum laufen zu bringen. Ich habe diese Frage nur hier gestellt, da ich ursprünglich das selbe Problem hatte wie der Autor dieses Beitrags und mir ein paar Antworten weitergeholfen haben und dachte, dass ihr mir da nun ebenfalls helfen könnt. Nur eins noch: Arduino Fanboy D. schrieb: > 2 bis zur Funktionslosigkeit verstümmelte Aufrufe. Ich verstehe ja, was du meinst, allerdings kann ich den Fehler nicht beheben...
Tobias S. schrieb: > Ich verstehe ja, was du meinst, allerdings kann ich den Fehler nicht > beheben... Tja, und ich kann dir nicht helfen, wenn du keine Zusammenhänge zeigen willst/kannst.
Alles gut, habe eine Lösung gefunden, das Programm kann nun geladen werden.
Tobias S. schrieb: > Alles gut, habe eine Lösung gefunden, das Programm kann nun geladen > werden. Ja - behalte die bitte für Dich, damit Leute wie Du hier wieder fragen können ohne auf eine Antwort verwiesen werden zu können (oder diese gar selbst finden können - merde).
Wie hast du dein Problem gelöst? Lasse die Community an deiner Erkenntnis teilhaben.
Jetzt mal langsam ok.. hatte doch noch ein kleines Problem, das dann allerdings glücklicherweise nur n Fehler im Code war. Um das Problem mit dem Hochladen zu lösen, habe ich lediglich das -cwiring vor die file directory meiner hex datei des Programms gestellt: -patmega2560 -cwiring -P\\.\COM6 -b115200 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i Nun funktioniert das Hochladen einwandfrei.
Hä? -cwiring hattest du dich vorher schon angeblich ohne Erfolg versucht!
Ja, es ist komisch, das einzige was ich wirklich verändert habe war, das ich die Position des programmers und das auto erase vor das Verzeichnis meiner Programmdatei gesetzt habe.
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.