Go Down

Topic: 8mhz atmega328 Bootloader brennen, aber wie? (Read 853 times) previous topic - next topic

BigInteger

Ich habe echt große Probleme meinen atmega328 welcher schon über einen Bootloader (standard 16mHz) verfügt.
Ich möchte den atmega328 auf 8mHz "runtertackten", damit ich mein Projekt minimieren kann, so dass ich keinen Quarz brauche und auch keine Kondensatoren. Leider bekomme ich immer einen Fehler beim brennen nach dieser Anleitung:
http://arduino.cc/en/Tutorial/ArduinoToBreadboard

Fehler: avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

Ich bitte um Hilfe :-(

pylon

Mach mal noch einen 100nF Decoupling-Kondensator zwischen den 5V- und den GND-Pin des zu brennenden ATmegas. Stimmen die Kondensatoren beim Quartz und ist der Quartz wirklich ein 8MHz-Modell?

Udo Klein

Du brauchst bei 8 MHz auch einen 8 MHz Bootloader. Weiterhin kommt häufig es vor, daß der 8 MHz nicht exakt genug gehalten wird und deshalb die serielle Schnittstelle nicht funktioniert. Preisfrage: wozu brauchst Du überhaupt einen Bootloader? Lass ihn doch einfach weg. Wenn Du einen Bootloader brennen kannst, dann könntest Du auf dem gleichen Weg auch die Sketches direkt reinbrennen. Der Bootloader ist nur für

a) Leute die keinen ISP haben
b) "Field updatability" was aber auch nur ein Sonderfall von (a) ist.

Ansonsten machen Bootloader nur ärger und verbrauchen unnötig Platz.
Check out my experiments http://blog.blinkenlight.net

michael_x

Ich habe die Erfahrung gemacht, dass mein USBTinyISP viel sensibler ist, was Übertragungs- ( oder evtl. nur Überprüfungs-) Probleme angeht.

Seit ich den richtigen Bootloader auf mein breaboard mit  328P im "8MHz internal" Modus gebrannt habe, geht upload über RxTx sicher und flott.
Bei mir in arduino-1.0.x\hardware\arduino\bootloaders\atmega ist auch ein ATmegaBOOT_168_atmega328_pro_8MHz.hex Den solltest du, falls du nicht von Udo's Argument überzeugt bist, nehmen.

Udo Klein

Mit den original Atmel AVRISPmkII hatte ich noch nie Probleme. Und die können Problemlos 10x schneller als ein Bootloader flashen.
Check out my experiments http://blog.blinkenlight.net

BigInteger

Wenn ich den Bootloader weglasse, dann kann ich mein Projekt doch garnicht starten...

Ich denke ich kaufe mir die Tage einen Quarz und zwei Kondensatoren und verpflanze dann den programmierten ATmega.

mkl0815


Wenn ich den Bootloader weglasse, dann kann ich mein Projekt doch garnicht starten...

Das stimmt so nicht. Dein Programm startet sofort. Der Bootloader ist auch nur ein Programm, das nach einem Reset / Einschalten direkt aktiv wird und auf der seriellen Schnittstelle lauscht ob ein Programm hochgeladen werden soll. Wenn ja flashed er das übertragene Programm, ansonsten beendet er sich und startet das schon vorhandene Programm.
Wenn man alle Pins z.B.  beschaltet hat ( insbesondere Pin 0,1 und 13) macht es sogar Sinn, den Bootloader wegzulassen, da sonst die Pins nach einem Reset erstmal vom Bootloader verwendet werden und je nach Beschaltung (LED, Relais, externe Elektronik) recht seltsame Effekte erzeugen können.
Was Du halt ohne Bootloader nicht mehr machen kannst ist über die serielle Schnittstelle (also ohne ISP / Programmer) einen Sketch auf den Controller laden.

Go Up