Leser wie Sie helfen, MUO zu unterstützen. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Weiterlesen.

Die Installation eines Bootloaders ist der erste Schritt, um Ihre Arduino-Projekte zum Leben zu erwecken. Dies ist eine Software, mit der Sie häufig Arduino-Skizzen problemlos auf das Board hochladen können, ohne dass spezielle Programmiergeräte erforderlich sind.

Auch wenn dies wie Raketenwissenschaft klingen mag, ist es tatsächlich einfacher als Sie vielleicht denken – selbst für Anfänger. Wir zeigen Ihnen, wie Sie in wenigen einfachen Schritten einen Bootloader auf Ihrem Arduino-Board installieren (oder neu installieren) können.

Aber zuerst, was genau ist ein Bootloader auf dem Arduino-Board?

Was ist ein Bootloader?

Ein Arduino-Bootloader ist ein kleines Programm, das im nichtflüchtigen Speicher des Boards gespeichert ist und jedes Mal ausgeführt wird, wenn das Board eingeschaltet, mit neuem Code hochgeladen oder zurückgesetzt wird. Immer wenn das Bootloader-Programm ausgeführt wird, initialisiert es die Hardware des Boards und lädt dann die Hauptskizze oder das Hauptprogramm, das im Flash-Speicher des Boards gespeichert ist.

instagram viewer

Es ist erwähnenswert, dass alle Arduino-Boards mit einem vorinstallierten Bootloader von ihren Herstellern ausgeliefert werden. Manchmal finden Sie Boards mit fehlerhaften Bootloadern direkt nach dem Auspacken. Dies kommt jedoch selten vor.

Warum einen Bootloader verwenden?

Es gibt mehrere Situationen, in denen die Verwendung eines Arduino-Bootloaders nützlich sein kann. Wenn Sie beispielsweise ein Anfänger der Arduino-Plattform sind, kann die Verwendung eines Bootloaders das Hochladen neuer Programme auf Ihr Board einfacher und schneller machen. Dies liegt daran, dass Sie keine externen Programmiergeräte wie einen Programmierer oder einen USB-zu-seriell-Konverter verwenden müssen, um Ihren Code hochzuladen.

Wenn Sie an einem Projekt arbeiten, das häufige Aktualisierungen des Codes erfordert, werden Sie es sehr nützlich finden. In diesem Fall kann Ihnen die Verwendung eines Bootloaders Zeit und Mühe sparen, da Sie den neuen Code einfach auf das Board laden können, ohne externe Programmiergeräte verwenden zu müssen.

Wenn Sie außerdem an a Projekt, das den Arduino erfordert sich beim Einschalten in einem bestimmten Zustand befinden, z. B. beim Ausführen eines bestimmten Programms, kann die Verwendung eines Bootloaders hilfreich sein. Mit dem Bootloader können Sie den Anfangszustand des Boards so einstellen, dass es beim Einschalten automatisch das gewünschte Programm ausführt.

Schließlich bietet es eine Möglichkeit, das Arduino wiederherzustellen, wenn die Hauptskizze beschädigt wird oder anderweitig nicht ausgeführt werden kann.

Warum fehlt mein Bootloader?

Es kann vier mögliche Gründe geben, warum Ihr Board einen neuen Bootloader benötigt:

  1. Kein vorinstallierter Bootloader: Es ist ziemlich üblich, viele eigenständige ATMEGA328P-Projekte zu haben, bei denen Sie Ihren Chip auf eine Leiterplatte löten und den Chip zufällig braten. Es ist also möglich, dass Sie die Platine ohne vorherige Bootloader-Installation durch einen Chip ersetzt haben.
  2. Bootloader ersetzt: Sie könnten Ihren Bootloader durch einen modifizierten Bootloader eines Drittanbieters ersetzt haben, der beschädigt sein könnte.
  3. Beschädigter Bootloader: Dies ist das unwahrscheinlichste Szenario. In einigen Fällen kann der Arduino-Flash-Speicher jedoch beschädigt werden.
  4. Erweiterter Speicher: Wenn Sie den gesamten Bootloader durch Ihre Anwendung ersetzt (geflasht) haben, um die verbleibenden 2 KB Programmspeicher zu genießen, fehlt Ihr Bootloader definitiv.

Hier ist, was Sie tun müssen.

Installieren/Neuinstallieren des Arduino-Bootloaders

Mikrocontroller werden typischerweise programmiert, bevor sie auf eine Leiterplatte gelötet werden. Dies erfolgt in der Regel mithilfe von In-System Programming (ISP), wie z. B. In-Circuit Serial Programming (ICSP), mit dem der Mikrocontroller mit einem externen Programmiergerät programmiert werden kann. Viele Hersteller von Mikrocontrollern, wie Atmel und Microchip, bieten zu diesem Zweck einen ISP-Header auf ihren Platinen an.

Verwenden eines anderen Arduino-Boards

Um den Bootloader auf einem ATmega328-Mikrocontroller zu flashen, müssen Sie den ICSP-Header auf der Platine verwenden, bevor Sie den Bootloader mit der anderen Platine als ISP-Programmierer installieren können.

Starten Sie die Arduino IDE, navigieren Sie zu ArduinoISP wie unten gezeigt, und laden Sie den Beispielcode auf das Board hoch, das Sie als Programmierer verwenden möchten. (Folgen Sie dem Video-Tutorial für den Hardware-Anschluss).

Der Code sollte so aussehen, damit Sie wissen, dass Sie auf dem richtigen Weg sind.

Von dem Werkzeug Registerkarte, gehen Sie zu Programmierer dann klicken Sie auf Arduino als ISP Wie nachfolgend dargestellt.

Abschließend von der Werkzeug Registerkarte erneut, klicken Sie auf Bootloader brennen wie gezeigt.

Sobald der Vorgang abgeschlossen ist, kann die Zieltafel nun programmiert werden.

Verwendung eines dedizierten Programmierers

Für diese Art der Installation stehen viele AVR-Programmiergeräte zur Verfügung. Eine gute Option, die Sie ausprobieren können, ist der AVR Pocket Programmer (nur Windows), der auf dem von Dick Streefland basiert USBwinzig und Limor Fried’s USBtinyISP. Es bietet eine einfachere Möglichkeit, AVR-Mikrocontroller zu programmieren, wie sie auf Arduino-Boards zu finden sind. Abgesehen von der Tatsache, dass es über eine USB-Verbindung mit Strom versorgt wird, ist es die beste Option, weil es so ist kompatibel mit einer Vielzahl von Programmiersprachen und Software, was es zu einem vielseitigen Werkzeug für jeden macht Arduino-Benutzer.

Sie können auch andere Optionen wie den offiziellen Atmel-ICE-Programmierer für ARM-Mikrocontroller ausprobieren – insbesondere, wenn Sie nicht Windows verwenden.

Schließen Sie das Arduino-Board an den Programmierer an und flashen Sie den Bootloader. Sehen Sie sich dieses Video-Tutorial unten an.

Der Vorgang sollte einfach sein und nicht länger als 20 Sekunden dauern.

Notiz: Die Zielplatine sollte ordnungsgemäß eingeschaltet werden, bevor Sie diese Methode ausprobieren. Andernfalls können Sie die nicht flashen .verhexen Datei zu Ihrem Ziel.

Für Power-User gibt es eine komplexere Möglichkeit, den Bootloader über die Befehlszeile zu installieren. Es ist nicht notwendig, bis zu diesem Stadium zu gelangen, aber es gibt Ihnen die Möglichkeit, den Code zu ändern oder neu zu kompilieren, um ein individuelleres Erlebnis zu erhalten.

Der erste Schritt in diesem Prozess besteht darin, die Fuse-Bits zu konfigurieren, die Teil des AVR-Chips sind, und Einstellungen wie die Verwendung eines externen Quarzes zu steuern. Verwenden Sie den folgenden Befehl, um Ihre Fuse-Bits zu setzen:

avrdude-B 19200 -Cwinzig-Pm328p-v-e-Uausweichen:w:0x05:M-USicherung:w:0xD6:M-Ulfuse:w:0xFF:M

Nachdem die Fuse-Bits konfiguriert wurden, besteht der nächste Schritt darin, eine kompilierte .hex-Datei auf das Zielboard zu übertragen und die Lock-Bits zu setzen. Dadurch können Sie das Programm auf dem Board ausführen. Stellen Sie sicher, dass Sie sich im selben Verzeichnis wie die befinden optiboot_atmega328.hex Datei, bevor Sie diesen Befehl eingeben:

avrdude-B 19200 -Cwinzig-Pm328p-v-e-Ublinken:w:hexDateiname.hex-Usperren:w:0x0F:M

Notiz: Diese Befehle sind für den Arduino Uno. Sie müssen die Sicherungsbits für Ihr Board umgestalten, die Sie in der finden board.txt Datei und optimieren Sie die Parameter der Teilenummer von AVRDUDE auch damit sie arbeiten.

Was werden Sie als nächstes mit Arduino machen?

Der Arduino-Bootloader macht die Programmierung auch für Anfänger so einfach. Sie können jetzt hoffentlich Ihre eigenen benutzerdefinierten Skizzen auf den Arduino hochladen und den Bootloader für zukünftige Arduino-DIY-Projekte wiederherstellen.