Hallo zusammen
Ich habe probiert den Arduino Bootloader auf einen Atmega328 zu flashen.
Dafür habe ich das Arduino ISP Example auf einen Arduino Nano geladen,
den Programmer auf Arduino as ISP umgestellt und Burn Bootloader
gedrückt.
Leider bekomme ich diese Fehlermeldungen:
Ich weis leider nicht von wo der Fehler kommt. Ich habe alle
verbindungen x-mal überprüft. Als Taktgeber habe ich einen 16MHz Quarz
von einem Arduino UNO geklaut und ich habe 22pF Lastkapazität (in
Kondesatoren).
Im Anhang findet ihr das gesammte Schema meines Projektes, jedoch ist
nur der Mikrocontroller Teil interessant da der Rest nicht aufgebaut
ist. Weiter wird der Atmega vom Arduino und nicht über USB gespiesen.
Schon mal danke für die Hilfe!!
Gruss
Joel
Hallo
hast du bei deinem Nano (dem Programmer) einen Kondensator (10uF)
zwischen Reset und Ground?
Das fehlen desselben hat bei mir zu genau dem beschriebenen Effekt
geführt.
Hallo zusammen
Leider muss ich diesen Thread wiederbeleben.
Zuerst aber vielen dank an Frank. Dein Tipp hat mich ganz wenig weiter
gebracht:)
Also ich wollte nun wieder versuchen den Bootloader auf meinen ATMEGA zu
laden, aber nun krieg ich den fehler: avrdude: Device signature =
0x000000 (retrying)
genau:
Ich habe im Internet gelesen es könnte an der verkabelung oder an einem
falschen takt liegen.
Die verkabelung sollte richtig sein. Hab alles 10x überprüft.
Den Quarz und die Kondesatoren habe ich von einem Arduino Uno geklaut,
somit sollten die auch die richtigen sein.
Was könnte sonnst noch falsch sein??
P.S. Ich habe #define USE_OLD_STYLE_WIRING ausgeklammert da ich den ISP
Stecker auf dem Arduino benutze
Joel schrieb:> Den Quarz und die Kondesatoren habe ich von einem Arduino Uno geklaut,
Der originale UNO ist mit einem Resonator ausgerüstet. kein Quarz.
Zusätzliche Kondensatoren sind für den Resonator nicht nötig.
Laut deinem Plan ist Pin 22 des ATMega328P nicht angeschlossen.
Warum?
Und Aref hast du auf GND gelegt! Das gibt Rauch.
Joel schrieb:> P.S. Ich habe #define USE_OLD_STYLE_WIRING ausgeklammert da ich den ISP> Stecker auf dem Arduino benutze
Wieso?
Welche Füchse jagen dich da?
Verwende das originale, unveränderte "Arduino as ISP" Programm!
Und natürlich kannst du dann den ISP Stecker verwenden.
Nur die Resetleitung braucht eine Extrawurst.
ein ATmega wird mit internen Clock 8MHz und clk/div 8 geliefert.
1. mal die Fuses setzen clk/div 8 raus,
2. wenn der wirklich am 16 MHz sitzt dann darf man auf ext. Clock
umstellen, sonst passt das HEX ja vom Bootloader nicht.
Ihm möchte den Bootloader aufspielen.
Dabei werden alles Fuses richtig gesetzt.
Der ISP Takt ist dabei so gewählt, dass auch fabrikneue 1MHz AVRs
beschreiben werden können.
Arduino Fanboy D. schrieb:> Ihm möchte den Bootloader aufspielen.> Dabei werden alles Fuses richtig gesetzt.>> Der ISP Takt ist dabei so gewählt, dass auch fabrikneue 1MHz AVRs> beschreiben werden können.
hmmm, das wusste ich nicht, im Atmel Studio muss
ich erst mal reinkommen, also ISP clk runterstzen!
dann muss
ich brav die Reihenfolge für die Fuse einhalten, erst Fuse clk/div8
raus, ext. clock 8- wählen bevor ich anfange mir den zu "verfusen"
dann gehts weiter je nach bootloader words reservieren und bootrst
setzen
dann kann ich erst das Programm die .hex hochladen
bis jetzt immer nur bootloder, denn wenn der aktiv ist benötige ich den
ISP ja nicht mehr.
Wenn es über Arduino als ISP leichter ist OK, aber ich dachte er kopiert
nur seinen eigenen und ich wollte "meinen" (optiboot, modifiziert)
programmieren
Joachim B. schrieb:> Wenn es über Arduino als ISP leichter ist OK,
Ja, es ist sehr leicht.
Wenn denn der Programmieradapter funktioniert und die Verkabelung
stimmig ist.
Die Arduino IDE, bzw. der Builder erzeugt eine Handvoll Avrdude Aufrufe.
Da kann man kaum was falsch machen, da keine Einflussmöglichkeiten.
(außer natürlich: Man kann die Konfigurationsdateien verpfuschen)
Arduino Fanboy D. schrieb:> Ja, es ist leicht!> Wenn der Programmieradapter funktioniert.> Und die Verkabelung stimmig ist.
aber ob der nur seinen eigenen (aus sich selber oder aus dem Arduino
Ordner) kopiert sagst du nicht:
Joachim B. schrieb:> Wenn es über Arduino als ISP leichter ist OK, aber ich dachte er kopiert> nur seinen eigenen und ich wollte "meinen" (optiboot, modifiziert)> programmieren
Joachim B. schrieb:> aber ob der nur seinen eigenen (aus sich selber oder aus dem Arduino> Ordner) kopiert sagst du nicht:
Achso ....
Welcher Bootloader gebrannt wird, ist (ebenso wie die Fuses) in der
jeweiligen boards.txt fest geschrieben.
Der Bootloader gehört zum Lieferumfang der Arduino IDE.
Das bedeutet:
Wenn du einen selbst modifizierten Bootloader mit der Arduino IDE auf
einen AVR schreiben willst, musst du vorher eine eigene Boarddefinition
erzeugen, oder eine bestehende modifizieren.
Ist alles möglich und einigermaßen gut beschrieben:
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification
Arduino Fanboy D. schrieb:> Achso ....> Welcher Bootloader gebrannt wird, ist (ebenso wie die Fuses) in der> jeweiligen boards.txt fest geschrieben.> Der Bootloader gehört zum Lieferumfang der Arduino IDE.
eben und ich suche mir jedesmal einen wolf welche board.txt gilt, bzw.
welche die IDE verwendet, durch die Umstellung gibt es bei mir
verschiedene Pfade, am home PC nutze ich das NAS, aber unterwegs habe
ich keinen Zugriff also die lokale auf D: und am PI finde ich die nicht
mal.
Ich suche dann immer bis ich meine modifizierte finde (die mit mehr nano
328p Einträge) und versuche diese solange einzusetzen bis es in der IDE
wählbar ist.
Diese ehmalige Arduino.15 nervt mich, man weiss nie wo man suchen soll,
noch schlimmer wenn ESP und Co. dazu kommen.
Hmmm...
Ausführliche Ausgaben aktivieren, dann zeigts dir welche Definitionen,
Pfade, Libraries und Tools verwendet werden.
Das erste Bild zeigt die Default Einstellungen.
Das zweite die richtigen Einstellungen für ausführliche Ausgaben.
Ich kann dir zur portablen Installation raten!
Dann verteilt sich das nicht über das ganze System.
https://www.arduino.cc/en/Guide/PortableIDE
Arduino Fanboy D. schrieb:> Ich kann dir zur portablen Installation raten!
das war ja mein Wunsch, hatte aber bei mir irgendwie nicht geklappt.
Ich hatte ja vor 1.8.x die 1.0.5 erweitert mit mighty mini 1284p und
danach fand ich den Ansatzpunkt nicht mehr wo eintragen.
Deinstallieren suchen & löschen hat auch nicht geholfen, irgendwo gab es
noch alte Einträge die wieder alles verdarben.
Ich bin immer noch ein Arduino DAU oder Noob, am PI finde ich nicht mal
die boards.txt weil es rekursive Dateien gibt wo der pcmanfm in einer
Endlosschleife stehenbleibt.
Danke für die Info @Arduino Fanboy D.
Arduino Fanboy D. schrieb:> Der originale UNO ist mit einem Resonator ausgerüstet. kein Quarz.> Zusätzliche Kondensatoren sind für den Resonator nicht nötig.
Ich denke mal das sollte dem nicht schaden?? Ich mein die Kondensatoren
waren mit den Resonator auf dem Arduino Uno verbunden.
Arduino Fanboy D. schrieb:> Laut deinem Plan ist Pin 22 des ATMega328P nicht angeschlossen.> Warum?
Weil ich die "32 MLF" Version habe und nicht die "PDIP". Bei mir ist Pin
22 wie beschrieben AD7 und nicht Ground.
Arduino Fanboy D. schrieb:> Verwende das originale, unveränderte "Arduino as ISP" Programm!> Und natürlich kannst du dann den ISP Stecker verwenden.> Nur die Resetleitung braucht eine Extrawurst.
Mach ich ja. Das ist die Version welche mit Arduino Studio 1.8.7
mitkommt.
Arduino Fanboy D. schrieb:> Und Aref hast du auf GND gelegt! Das gibt Rauch.https://www.arduino.cc/en/uploads/Main/Arduino_Nano-Rev3.2-SCH.pdf
Im arduino Nano Schema ist er auch auf Ground. Weiter habe ichs gerade
auf Vcc gelegt und fast mein USB Port damit kaputt gemacht.
Joel schrieb:> Weiter habe ichs gerade auf Vcc gelegt
Das ist genau so falsch!
Entweder offen lassen, oder einen Kerko dran.
(evtl auch eine externe Referenz, aber nur wenn nötig)
-------
Joel schrieb:> Ich denke mal das sollte dem nicht schaden?? Ich mein die Kondensatoren> waren mit den Resonator auf dem Arduino Uno verbunden.
Der Resonator verträgt keine externen Kondensatoren.
Also hattest du wohl keinen originalen UNO, sondern einen mit Quarz
Joachim B. schrieb:> Joel schrieb:>> https://www.arduino.cc/en/uploads/Main/Arduino_Nano-Rev3.2-SCH.pdf>>>> Im arduino Nano Schema ist er auch auf Ground>> wo denn?> jedenfalls nicht im Link!
OK sorry da habe ich mich falsch ausgedrückt. Aber mein AREF ist auch
mit einem 100nf verbunden wenn jmd sich mein Schema genauer anschauen
würde.
Ich habe @Arduino Fanboy Dso verstanden das der Kondensator nicht an GND
gehen muss.
Trotzallem ich bekomms immernochnicht hin den Bootloader auf den ATMEGA
zu flashen.
Hier mal meine vorgehensweise:
-Alle Kabel vom Arduino ausstecken
-Arduino mit einer leeren darei wipen (In dem Arduino IDE auf File-> New
und dann draufladen)
-Arduino ISP draufladen (Board:Arduino Nano, Processor Atmega328p (Old
bootloader), Programmer AVR ISP)
-Wenn das draufgeladen ist kabel zu meinem Board auf den Arduino ISP
Connector stecken
-Programmer auf "Arduino as ISP" stellen
-Zuletzt "Burn Bootloader" clicken
Ist in diesem Vorgang was falsch?
Joel schrieb:> OK sorry da habe ich mich falsch ausgedrückt. Aber mein AREF ist auch> mit einem 100nf verbunden wenn jmd sich mein Schema genauer anschauen> würde.> Ich habe @Arduino Fanboy Dso verstanden das der Kondensator nicht an GND> gehen muss.
Ja, das mit dem Gehäuse habe ich verpatzt.
Ignoriere bitte meine falschen Ansagen.
Denn:
Joel schrieb:> Weil ich die "32 MLF" Version habe und nicht die "PDIP".