Forum: Mikrocontroller und Digitale Elektronik Arduino Bootloader auf ATMega328P spielen: programmer is not responding


von Gustav M. (gustav_mueller)


Lesenswert?

Hallo zusammen,
ich habe mir vor kurzem einen Arduino gekauft und auch schon angefangen 
mit ihm Prgogrammieren zu lernen. Nachdem ich nun jedoch gerne auch 
mehrere Mikrocontroller programmieren würde habe ich mir noch einen 
ATMega328P gekauft. Ich habe wie 
hier(http://www.arduino.cc/en/Tutorial/ArduinoToBreadboard) beschrieben 
den Bootloadeer aufgespielt und erhalte auch eine Erfolgsmeldung.
Wenn ich dann jedoch versuche den Mikrocontroller wie bei beschrieben 
per TX bzw. RX anzuschließen bekomme ich eine Fehlermeldung. Was mich 
jedoch wundert ist, dass auch der mit dem Arduino mitgelieferte Chip 
sich nicht über diese Schaltung programmieren lässt. Im Arduino selbst 
jedoch lässt er sich wunderbar programmieren. Der neue ATMega328 mit 
selbstaufgespieltem Bootloader lässt sich jedoch selbst im Arduino 
"drinnen" nicht programmieren. Ich erhalte die Fehlermeldung:

avrdude: Version 6.0.1, compiled on Mar 30 2015 at 14:56:06
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files 
(x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM3
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x36
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x36
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x36
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x36
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x36
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x36
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x36
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x36
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x36
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x36

avrdude done.  Thank you.

Probleme beim Hochladen auf die Platine. Hilfestellung dazu unter 
http://www.arduino.cc/en/Guide/Troubleshooting#upload .


Was mache ich falsch? :( Es müsste doch eigentlich am Bootloader liegen 
da der Mikrocontroller mit dem Bootloader versehen werden konnte und der 
ATMega328P des Arduino selbst funktioniert. Kann es sein das ich einen 
falschen Bootloader habe?

Gustav

: Bearbeitet durch User
von Max M. (jens2001)


Lesenswert?

Gustav Müller schrieb:
> programmer is not responding

Was an "programmer  is not responding" verstehst du nicht?

von Gustav M. (gustav_mueller)


Lesenswert?

Den Satz an sich verstehe ich schon, nur wie ich das Problem lösen kann 
nicht, da das Kabel bzw der Arduino funktionieren sollten. Kann es also 
sein das ich einen falschen Bootloader habe?

von avr (Gast)


Lesenswert?

Gustav Müller schrieb:
> nicht, da das Kabel bzw der Arduino funktionieren sollten. Kann es also
> sein das ich einen falschen Bootloader habe?
Was hast du denn in der IDE ausgewählt? Einfach nochmal flashen und 
darauf achten dass der richtige MC ausgewählt wurde.

Kann auch sein dass dein nackter 328p im Werkszstand mit internem 8MHz 
Oszi läuft. Check mal die Fuses, obwohl die eigentlich beim Flashen des 
Bootloaders mitgesetzt werden, iirc.

Check deine Verkabelung nochmal, vertausch mal TX und RX, vielleicht 
reagiert er deshalb nicht.

von Gustav M. (gustav_mueller)


Lesenswert?

Also den richtigen MC habe ich ausgewählt, der läuft auch mit internem 
Oszillator da ich im Moment keinen externen zur Hand habe. Im Moment 
habe ich den Mikrocontroller im Arduino "drinnen" weshalb ja die 
Verkabelung eigentlich passen müsste. Was genau meinst du mit check mal 
die Fuses? (bin leider noch ein blutiger Anfänger) :)

: Bearbeitet durch User
von avr (Gast)


Lesenswert?

So wie das dort auf der Seite dargestellt ist ist es ein wenig sinnfrei.
Wenn du mit dem Arduino einen nackten 328p flashen kannst, kannst du 
auch gleich das Programm damit draufflashen, da brauchst keinen 
bootloader mehr.
Später ein Arduino mit rausgehbeltem MC als USB2Serialconverter zu 
missbrauchen um einen nackten 328p mit Bootloader anzusprechen ist 
einfach überflüssig.

von Max M. (jens2001)


Lesenswert?

Gustav Müller schrieb:
> da das Kabel bzw der Arduino funktionieren sollten

sollten?
Kannst du den Arduino über die IDE erreichen?
Hast du das ISP-Sketch auf den Arduino geladen?
Ist com3 richtig?

Gustav Müller schrieb:
> einen falschen Bootloader

Was soll der Bootloader ( der Code den du auf ein Target flashen willst) 
mit dem erreichen des programmers zu tun haben

von Gustav M. (gustav_mueller)


Lesenswert?

Also beim flashen des Bootloaders habe ich aus den Beispielen das 
ISP-Sketch auf den MC im Arduino gespielt. Ich denke die Kabel 
funktionieren, da ich den Arduino mit mitgeliefertem MC per Arduino IDE 
programmieren kann. Ich meinte, dass ich vlt. ein komplett falschen 
Bootloader aufgespielt habe der die Kommunikation stört. @avr(Gast) wie 
würde es den funktionieren ein Programm ohne Bootloader aufzuspielen?

: Bearbeitet durch User
von avr (Gast)


Lesenswert?

Max Mustermann schrieb:
> Was soll der Bootloader ( der Code den du auf ein Target flashen willst)
> mit dem erreichen des programmers zu tun haben
Lies die verlinkte Seite. Dort wird später der nackte Arduino (also ohne 
328p) genauer nur dessen USB2Serial genutzt um den nackten 328p der 
einen Bootloader hat eben über diesen anzusprechen.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Gustav Müller schrieb:
> Using Port                    : COM3
>          Using Programmer              : arduino
>          Overriding Baud Rate          : 115200

 Probiere es doch mit 57600 Baud.

von Gustav M. (gustav_mueller)


Lesenswert?

Verstehe ich das also richtig, dass ich gar keinen Bootloader für den 
ATMega328 brauche sondern auch ohne Programme aufspielen kann?

von Gustav M. (gustav_mueller)


Lesenswert?

Wo kann ich die den ändern?

von avr (Gast)


Lesenswert?

Gustav Müller schrieb:
> @avr(Gast) wie
> würde es den funktionieren ein Programm ohne Bootloader aufzuspielen?

Genauso wie du den bootloader geflasht hast.

* "Board" dein Arduino auswählen.
* Serial/USB auswählen wo der Arduino drannhängt
* Programmersketch flashen
* Entspr. verkabeln.
* Du lädst dein Sketch das auf den nackten 328p soll in die IDE
* "Programmer" Arduino as ISP
* "Board" auswählen:Eintrag für den passenden Zielmikrocontroller 
(ATmega328p on breadboard @ 8MHz internal Oszillator oder so ähnlich) 
auswählen.
* Datei/"Upload mit Programmer"

Jetzt sollte dein PRogramm auf dem nackten 328p sein.

von Gustav M. (gustav_mueller)


Lesenswert?

Genau diesen Schritte habe ich gemacht wobei ich wie gesagt den Arduino 
Bootloader auf dem MC habe. Dann kam jedoch immer die Fehlermeldung 
"programmer is not responding". :(

: Bearbeitet durch User
von avr (Gast)


Lesenswert?

Gustav Müller schrieb:
> Verstehe ich das also richtig, dass ich gar keinen Bootloader für den
> ATMega328 brauche sondern auch ohne Programme aufspielen kann?

Genau. Den brauchst du nur wenn du später diesen Chip per USB wie einen 
normalen Arduino flashen willst. Da er aber nackt ist braucht man noch 
einen USB2SErial Adapter. In deinem Link oben nutzen sie den von einem 
Arduino, sowas hat man aber normalerweise als Separaten Adapter oder 
gleich einen billiges Programmiergerät.
Da in deinem Link vom Arduino später nur der USB2Serial genutzt wird und 
jedesmal erst der Chip rausgeheblt werden muss, kann man sich das 
sparen, der Arduino hängt ja eh schon am Rechner, dann man auch direkt 
über diesen flashen. Ich glaube das ist auch mehr so ne Art Demo in dem 
Link damit man sieht dass der Bootloader funktioniert.

von Gustav M. (gustav_mueller)


Lesenswert?

Wie müsste den die korrekte Verkabelung zum direkten flashen(?) eines 
Programms ausehen?

von avr (Gast)


Lesenswert?

Gustav Müller schrieb:
> Genau diesen Schritte habe ich gemacht wobei ich wie gesagt den
> Arduino
> Bootloader auf dem MC habe. Dann kam jedoch immer die Fehlermeldung
> "programmer is not responding". :(

Also wenn er den Bootloader flashen konnte, dann kann er auch ein 
normales Programm flashen. Der fungiert als ISP, da brauchts keinen 
bootloader, sonst würde man nicht mal den Bootloader draufbekommen.

Hast du das Programmiersketch vorher auch geflasht?

von Gustav M. (gustav_mueller)


Lesenswert?

Ich habe das Arduino ISP Sketch aus den Beispielen erst auf den 
integrierten MC aufgespielt dann Programmer auf Arduino as ISP und 
Platine ATMega328 @ 8MHz internal clock umgestellt und dann auf 
Bootloader brennen geklickt mit der Verkabelung der Arduino Seite. Wie 
müsste die Verkabelung aussehen wenn ich eine normales Programm 
aufspielen will?

von Gustav M. (gustav_mueller)


Lesenswert?

Ok ich glaube mir ist erst jetzt der Inhalt deiner Aussage klar 
geworden. :) Trotzdem habe ich noch ein Problem. :( Wenn ich den Arduino 
als ISP einstelle (also ISP Sketch aufspiele und bei Programmer Arduino 
as ISP einstelle) kann ich den Bootloader brennen (also sollte die 
Verkabelung passen), wenn ich alles gleich lasse aber statt Bootloader 
brennen auf Upload drücke erscheint aber die Fehlermeldung:

avrdude: stk500v2_ReceiveMessage(): timeout

1. Was mache ich falsch?
2. Kann ich mein Programm als .hex Datei aus dem temp Ordner von windows 
holen
   und als bootloader umbennen, sodass er bei "Bootloader brennen" 
aufgespielt
   wird?

von Gustav M. (gustav_mueller)


Lesenswert?

Danke!!! Ich habe es endlich richtig gemacht:) Ich hatte zwar alle 
Einstellungen richtig habe jedoch immer in der IDE auf das 
Hochladensymbol gedrückt. Ich hatte jedoch auf Datei > Hochladen mit 
Programmer drücken müssen! :) naja nachher ist man immer schlauer

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.