• Die Forumsregeln und Nutzungsbedingungen findet ihr in der Navbar unter Impressum !
    Bitte unbedingt beachten!
    Wie überall im Leben gibt es Spielregeln, so auch hier!
    Die Datenschutzerklärung zum DSGVO findet ihr ebenfalls in der Navbar unter Datenschutzerklärung !
    Hinweis nach DSGVO :
    Es ist hier keinerlei Angabe erforderlich. Alle Angaben in diesem Bereich sind öffentlich sichtbar und werden freiwillig gemacht. Mit einem Eintrag in diesem Bereich erkenne ich dieses an, und bestätige die Datenschutzerklärung zur DSGVO für das Forum gelesen zu haben.

    Danke
  • Hallo Gast, beschränke dich hier bitte auf den Bereich der Elektronik. Die Fahrzeuge oder Gebäude, wo diese Elektronik eingebaut wird bitte in dem passenden Fachbereiich behandeln. Auch wenn Teile des Projektes dadurch im Forum doppelt vorhanden sind! Danke.

Arduino Bootloader auf ATmega 328P-PU brennen

Bording

Well-known member
Supermoderator
VIP Unterstützt modelltruck.net 2024
Registriert
08.08.2007
Beiträge
1.949
Hallo,

ich möchte einen ATMega 328p-PU als einzelnen Chip ohne Quarz verwenden. Das soll nach dem Tutorial auch so gehen.
Ich habe die Datei Breadboard herunter geladen, das ist nur eine txt Datei. Die soll ich nun im Verzeichnis abspeichern.
In den anderen Verzeichnissen für die Hardware sind noch Unterordner mit Bootloader usw. die hab ich hier nicht.
Das "neue" Board taucht in der Liste auf, das ist ok, aber kann ich das so brennen nur mit einer Textdatei?

Oder bin ich da einfach zu kompliziert?

Verwende Arduino 1.5.2
 
Moin Bert,

das Zip stellt das Verzeichnis dar.

Lege das Hardware Verzeichnis an, wenn es noch nicht existiert. Lege darin das "Breadboard" Verzeichnis an und kopiere die txt Datei in dieses Verzeichnis. Nach einem Neustart der Entwicklungsumbegung steht das Board dann zur Verfügung.

Bitte bedenke, dass wenn Du den externen Quarz weg lässt, der Chip quasi nur noch mit halber Kraft läuft, da der Takt von 16 auf 8MHz halbiert wird.

Ich empfehle den Quarz trotzdem einzusetzen, denn dann kannst Du auf dem Breadboard die gleichen Laufzeiten erwarten wie mit dem Arduino Board. Hier eine Alternative Lösung für ein Standalone Board http://www.kriwanek.de
 
Hallo Peter,

danke für die Antwort.
Die Geschwindigkeit ist kein Problem, der Atmega soll nur in einem Drehzahlmesser eingesetzt werden, da liest er einen Eingang und treibt seriel eine LED Anzeige.
Genauigkeit ist auch ohne Quarz ok.
 
So, gestern habe ich den Chip bekommen und beim brennen auch folgende Fehlermeldung:

Unbenannt 1.jpg

so sieht die Konfiguration der Schnittstelle aus

Unbenannt 2.jpg

und das sind die Verzeichnisse bzw. die txt Datei

Unbenannt 3.jpg

Versuche ich einen anderen Bootloader zu brenne, z.B dem vom UNO oder NANO so kommt die Meldung:

Unbenannt 4.jpg

Versuche ich einen Sketch hochzuladen so bekomme ich die Meldung:

Unbenannt 5.jpg

Wer kann mir da helfen?
 
Hallo,

zwei Fragen/Versuche.
1. Du musst ja einen Arduino als ISP-Programmer verwenden. Dazu erst einmal den Sketch unter dem Punkt "Beispiele" -> "ArduinoISP" öffnen und auf ein normales UNO laden (Wichtig: "Arduino UNO" in der Boardliste auswählen und unter "Tools" -> "Programmer" noch den normalen "avrisp mkII" belassen.
2. Nach erfolgreichem Upload kann das UNO jetzt mit dem Breadboard angeschlossen werden. Nun das 8Mhz-Board auswählen und unter "Programmer" -> "ArduinoISP" auswählen. Nun sollte zumindest schon einmal der Punkt "Bootloader installieren" funktionieren.

Heiko
 
Hallo Heiko,

das ist alles korrekt eingestellt. Ich kann auch den Tiny 45 und 84 brennen. Ich vermute das es ein Problem mit den Verzeichnissen gibt.
 
Moin Bert,

es mag nichts damit zu tun haben, aber im Verzeichnisnamen für das Board hast Du ein Leerzeichen drin. Ersetze dies mal durch ein Minus oder einen Unterstrich. Einige Tools können mit Dateipfaden mit Leerzeichen drin nichts anfangen. Die setzen die Pfade nicht in Anführungszeichen und somit wertet das aufgerufene Programm den Teil nach dem Leerzeichen nicht als Teil des Pfades sondern als neuen Parameter.

Bei Arduino Pfaden sollten Leerzeichen tunlichst vermieden werden. Wenn Du ein Projekt erstellst mit einem Leerzeichen im Namen ersetzt Arduino dies durch einen Unterstrich.
 
Hallo Peter,

ich habe jetzt die "Config" Datei in die board.txt des avr implementiert.


ATMega328bb.name=ATMega 328p single chip

ATMega328bb.upload.tool=arduino:arduinoisp
ATMega328bb.upload.maximum_size=30720
ATMega328bb.upload.maximum_data_size=2048
ATMega328bb.upload.speed=57600

ATMega328bb.bootloader.low_fuses=0xE2
ATMega328bb.bootloader.high_fuses=0xDA
ATMega328bb.bootloader.extended_fuses=0x05

ATMega328bb.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex
ATMega328bb.bootloader.tool=arduino:avrdude

ATMega328bb.bootloader.path=atmega
ATMega328bb.bootloader.unlock_bits=0x3F
ATMega328bb.bootloader.lock_bits=0x0F
ATMega328bb.build.mcu=atmega328p
ATMega328bb.build.f_cpu=8000000L
ATMega328bb.build.core=atmega
ATMega328bb.build.variant=eightanaloginputs



beim Brennen kommt jetzt die folgende Fehlermeldung:

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

ich habe auf den Arduino ISP einen 10µ Kondensator am Reset des UNO Boards. sonst nur die 4 Leitungen (richtig) verbunden.
 
Hallo Peter,

ich habe hier einen "Detector gefunden.
Die beiden Chips die ich hatte liefen nur mit einem externen Quarz (hatte noch 10 MHz rum liegen). Ich konnte nun auch den bootloader installieren, allerdings habe ich noch so meine Probleme mit den Fuse Bits.
Da gibt es diverse Konfigurationen die genannt werden, ich will aber nur das das Teil ohne Quarz auf 8 Mhz läuft und sich sonst wie eine "normaler" Arduino Uno verhält.
 
Moin Bert,

mit den Fuse Bits hatte ich noch nicht zu tun, da kann ich dir leider nicht weiter helfen.
 
Nach endlosen probieren hab ich den Kram endlich am laufen :trucker
geholfen hat mir diese Seite

Die Einstellung am board.txt habe ich durch endlosen Probieren und vergleichen mit anderen Konfigurationen heraus bekommen. Das ist sie:

ATMega328bb.name=ATMega 328p single chip

ATMega328bb.upload.tool=arduino:arduinoisp
ATMega328bb.upload.speed=57600

ATMega328bb.bootloader.low_fuses=0xE2
ATMega328bb.bootloader.high_fuses=0xDA
ATMega328bb.bootloader.extended_fuses=0x05

ATMega328bb.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex
ATMega328bb.bootloader.tool=arduino:avrdude

ATMega328bb.bootloader.unlock_bits=0x3F
ATMega328bb.bootloader.lock_bits=0x0F
ATMega328bb.build.mcu=atmega328p
ATMega328bb.build.f_cpu=8000000L

ATMega328bb.build.core=arduino:arduino
ATMega328bb.build.variant=arduino:standard

Der Uno wird als ISP programmiert und kann auch später auf der Platine bleiben.
 

Servonaut
Zurück
Oben Unten