Inhaltsverzeichnis:

Atmega328P-PU Bootloader (Optiboot) Brennanleitung - Gunook
Atmega328P-PU Bootloader (Optiboot) Brennanleitung - Gunook

Video: Atmega328P-PU Bootloader (Optiboot) Brennanleitung - Gunook

Video: Atmega328P-PU Bootloader (Optiboot) Brennanleitung - Gunook
Video: HOW TO BURN BOOTLOADER IN ATMEGA328P MICROCONTROLLER . HELP OF USING ARDUINO UNO 2024, November
Anonim
Atmega328P-PU Bootloader (Optiboot) Brennanleitung
Atmega328P-PU Bootloader (Optiboot) Brennanleitung

Noch eine weitere Anleitung zum Brennen des Atmega-Bootloaders. Aber dieses Mal wette ich auf den ersten Versuch, dass Sie Erfolg haben werden!!

Dies ist ein Tutorial zum Brennen des Bootloaders von Nick Gammons für Arduino-Boards.

Schritt 1: Ein paar Worte

Ein paar Wörter
Ein paar Wörter

Der Mikrocontroller Atmega328P-PU ist einer der beliebtesten Arduino-Chips, der weltweit in einem breiten Spektrum eingesetzt wird. Aber am wichtigsten ist, dass der nackte Atmega immer noch das tut, was der Standard-Uno R3 kann. Der Hauptgrund, warum ich diesen Mikrocontroller liebe, ist der "Low Power"-Modus. Ich habe ein paar neue Skizzen für ein paar Sensoren geschrieben und teste sie jetzt eine Zeit lang.

Als ich vor einigen Jahren anfing, mit Arduino zu spielen, war meine erste Bestellung ein Atmega328P-Mikrocontroller. Später stellte ich fest, dass die, die ich bei Aliexpress bestellt habe, leere Chips sind. Die Chips sind bei Ali sehr günstig, man kann sie ab 1,40$ kaufen. Aber sie haben den Uno Bootloader (Optiboot) nicht enthalten und ohne ihn könnte ich keine Skizzen hochladen. Harter Bruch ha??!! Es war eine wirklich kalte Dusche für mich ….. Also suchte ich nach einer Möglichkeit, den Bootloader in die Chips zu brennen. Ich habe 5 oder 6 Methoden ausprobiert, aber kein Glück. Nach einer Woche fand ich ein Thema in einem Website-Forum, das Nick Gammons Tutorial zum Brennen des Bootloaders erwähnte. Erster Versuch und ERFOLG!!: D Jetzt zeige ich Ihnen, wie Sie den Bootloader einfach auf leere Atmega328P-PU-Chips brennen können, ohne Dinge in der Arduino IDE durcheinander zu bringen.

Schritt 2: Was ist der Bootloader? (Optiboot)

Der Bootloader ist ein kleines Programm (HEX-Datei, 0,5Kbyte), mit dem Sie Skizzen direkt von der Arduino IDE in den Flash-Speicher hochladen können. Die HEX-Datei läuft immer vor dem Hauptprogramm und wird deshalb benötigt.

Ohne Bootloader:

-Der Mikrocontroller KANN immer noch PROGRAMMIERT WERDEN! (ja, es ist möglich), aber Sie benötigen dafür einen dedizierten AVR-Programmierer. Und es ist nicht billig!

- Es kann nicht über die Arduino IDE programmiert werden.

Unterstützte Bootloader dieser Methode:

Atmega8 (1024 Byte)

Atmega168 Optiboot (512 Byte)

Atmega328 Optiboot (für Uno etc. bei 16 MHz) (512 Byte)

Atmega328 (8 MHz) für Lilypad etc. (2048 Byte)

Atmega32U4 für Leonardo (4096 Byte) Atmega1280 Optiboot (1024 Byte)

Atmega1284 Optiboot (1024 Byte)

Atmega2560 mit Fixes für Watchdog-Timer-Problem (8192 Bytes)

Atmega16U2 - der Bootloader auf dem USB-Schnittstellenchip des Uno

Atmega256RFR2 - der Bootloader auf dem Pinoccio Scout Board

Der Code für die folgenden Bootloader ist in der Skizze enthalten und wird je nach erkannter Signatur heruntergeladen.

Wir haben also alles, was wir brauchen.

Schritt 3: Arduino Sketches Master

Arduino-Skizzen-Meister
Arduino-Skizzen-Meister
Arduino-Skizzen-Meister
Arduino-Skizzen-Meister
Arduino-Skizzen-Meister
Arduino-Skizzen-Meister

Zunächst benötigen Sie die Arduino-Bibliothek.

Laden Sie es hier herunter:

Oder laden Sie es hier herunter.

Nachdem Sie es heruntergeladen haben, entpacken Sie es in den Arduino-Bibliothekenordner und suchen Sie nach Board Programmer. Öffnen Sie es und führen Sie Board Programmer.ino aus.

Schritt 4: Das Hardware-Setup

Das Hardware-Setup
Das Hardware-Setup
Das Hardware-Setup
Das Hardware-Setup
Das Hardware-Setup
Das Hardware-Setup
Das Hardware-Setup
Das Hardware-Setup

Es gibt 3 Möglichkeiten zum Verdrahten vor der Programmierung:

- Verwenden Sie das AVR ISP-Shield

- Arduino A bis Arduino B

- Und die Steckbrettmethode

Auf dem Bild sehen Sie, wie man verkabelt. Auf dem Steckbrett werden die Keramikkondensatoren nicht wirklich benötigt, aber der 16Mhz-Kristall muss hinzugefügt werden.

Ich benutze dieses Mal mein AVR ISP Shield.

Das Ziel dieser Methode ist, dass das Programm den seriellen Monitor verwendet, um auf den Flash-Speicher zuzugreifen, um den Optiboot (Bootloader) zu schreiben.

Schritt 5: Die Programmierung

Die Programmierung!
Die Programmierung!
Die Programmierung!
Die Programmierung!

Nachdem das Hardware-Setup abgeschlossen ist, führen Sie Board Programmer.ino aus!

Kompilieren und auf Ihr Arduino hochladen, aber das Fenster nicht schließen !! Du wirst es brauchen:)

Das Hochladen dauert einige Sekunden.

Schritt 6: Trennen Sie

Nachdem Sie die Skizze hochgeladen haben, trennen Sie das Arduino von Ihrem PC und verdrahten Sie alles, wenn Sie dies auf dem Steckbrett tun möchten.

Wenn Sie das AVR-Shield verwenden, stecken Sie den Atmega-Chip in den ZIF-Sockel und "verriegeln" ihn.

Ganz wichtig: Solange die Hardware nicht eingerichtet ist, darf der Prozessor keine VCC bekommen!! So riskieren Sie einen Schaden!!

Schritt 7: Verbinden

Verbinden!
Verbinden!

Okay! Die Hardware ist eingerichtet und alles ist vorhanden, wir verbinden den Arduino mit dem PC.

Öffnen Sie als nächstes den Serial Monitor und stellen Sie die Baudrate 115200 ein und Sie werden dies sehen.

Im seriellen Monitor können Sie sehen, dass das Arduino in den Programmiermodus eingetreten ist. Cool!!:)

Da wir Uno (Atmega328P) programmieren möchten, geben Sie in der Eingabeaufforderung ein "U" ein und drücken Sie die Eingabetaste.

Schritt 8: Programmierstatus

Programmierstatus!
Programmierstatus!

Im nächsten Fenster sehen Sie dies.

Wir werden nicht aufhören oder überprüfen, geben Sie ein G ein und drücken Sie die Eingabetaste!

Schritt 9: Der Spaß beginnt!:)

Der Spaß beginnt!:)
Der Spaß beginnt!:)

Nachdem Sie die Eingabetaste gedrückt haben, sehen Sie Folgendes:

Chip löschen … Bootloader schreiben …

Commit-Seite ab 0x7E00Commit-Seite ab 0x7E80

Committing-Seite ab 0x7F00

Committing-Seite ab 0x7F80

Geschrieben. Bestätigung …

Keine Fehler gefunden.

Schreiben von Sicherungen …LFuse = 0xFF

HFuse = 0xDE

EFuse = 0xFD

Sperrbyte = 0xEF Taktkalibrierung = 0x9E

Fertig.

Programmiermodus aus. Geben Sie 'C' ein, wenn Sie bereit sind, mit einem anderen Chip fortzufahren …

Und glücklicher Tag!!:D Ihr Atmega328P-Chip ist jetzt bereit, Skizzen hochzuladen!

Das war einfach, nicht wahr?:)

Schritt 10: Ein neuer Chip

Wenn Sie einen anderen Chip programmieren möchten, trennen Sie Arduino von Ihrem PC, ersetzen Sie den Chip durch einen leeren. Verbinden Sie Arduino erneut und führen Sie die Schritte erneut aus.

Wenn der serielle Monitor nach dem erneuten Anschließen des Arduino nicht reagiert, keine Panik, einfach ihn schließen und einen neuen öffnen.

Schritt 11: HAFTUNGSAUSSCHLUSS

ICH BESITZE NICHTS VON DIESEM!! Alle Ehre geht an Nick Gammon!!

Ich habe gerade diese Methode in diesem Instructable gezeigt.

Ich hoffe, Sie finden dies nützlich.

Einen schönen Tag noch.

Schritt 12: Wenn seltsame Dinge passieren

Wenn seltsame Dinge passieren
Wenn seltsame Dinge passieren
Wenn seltsame Dinge passieren
Wenn seltsame Dinge passieren

Kürzlich habe ich diesen Arduino Nano mit Atmega328P-MU-Prozessor erhalten.

Also habe ich versucht, eine Skizze hochzuladen, aber ich konnte nicht. Der Prozessor reagierte auf nichts mit Optionen Atmega328.

OK! Vielleicht ist der Bootloader beschädigt und muss neu geschrieben werden. Ich habe es mit einem anderen Arduino verkabelt und den Bootloader gebrannt. Immer noch nichts……!!!!

Ok dann brauche ich eine Bremse (Kaffee und eine Zigarette)!! Als letzte Chance habe ich wieder Arduino Uno als Ziel ausgewählt. Upload abgeschlossen:D

Zu diesem Zeitpunkt habe ich einen Nano, der sich wie ein Arduino Uno verhält. Ich weiß nicht, warum das passiert ist, aber ich denke, das liegt an der Prozessorsignatur. Jedenfalls hat es meinen Tag wirklich bereichert und es ist ein bisschen lustig:)

Empfohlen: