Ich wurde angewiesen, den Bootloader auf meinem Arduino zu "brennen", um einen Fehler zu beheben, den ich bekam. Wie kann ich das machen? (Und was genau ist der Bootloader?)
bootloader
Der Typ mit dem Hut
quelle
quelle
Antworten:
Der Bootloader ist ein kleines Programm, das (fast) immer auf einem Arduino läuft. Es verwaltet das Hochladen und Starten der von Ihnen erstellten Skizzen und blinkt die Pin 13-LED, wenn die Karte zurückgesetzt wird.
So brennen Sie den Bootloader:
Tools ► Board ►
in der IDE brennen . Überprüfen Sie dies noch einmal, selbst wenn Sie Programme korrekt hochladen konnten. Das Hochladen erfordert nicht immer das richtige Board.Tools ► Programmer ►
.Tools ► Burn Bootloader
und warten Sie. Es sollte nicht länger als eine Minute dauern und dauert oft nur ein paar Sekunden.Quellen:
quelle
{line 1} or other dedicated ISP programmer.
Was ist ein Bootloader?
Der Bootloader ist ein kleines Stück Code, das sich im "hohen" Teil des Programmspeichers befindet. Normalerweise wird es nicht gelöscht, wenn Sie neue Skizzen hochladen. Sein Zweck ist es, unmittelbar nach einem Reset aktiviert zu werden (die Sicherungen sind so konfiguriert, dass der Code an der Bootloader-Adresse und nicht an der Adresse 0x0000 beginnt). Der Bootloader wartet eine kurze Zeit (z. B. eine Sekunde), um festzustellen, ob "Programmierdaten" an der seriellen Schnittstelle eingehen.
In diesem Fall werden diese Daten gelesen und dekodiert, um den Rest des Flash-Speichers neu zu programmieren. In Verbindung mit dem Upload-Programm (normalerweise avrdude) wird die neue Skizze über die serielle Schnittstelle gesendet. Der Bootloader löscht Seiten des Flash-Speichers und ersetzt sie durch den neuen Code. Sobald dies erledigt ist, wird der neue Code ausgeführt.
Wenn keine Anweisungen eingehen, springt der Bootloader zur Adresse 0x0000, um die vorhandene Skizze auf der Karte auszuführen.
So ersetzen Sie den Bootloader
Eine alternative Methode, um einen Bootloader zu programmieren, ist die Verwendung einer Skizze, die ich vor einiger Zeit geschrieben habe.
Auf der "Programmier" -Karte wird die Skizze ausgeführt, in der Bootloader für eine Reihe von Karten fest programmiert sind. Sie verbinden die Programmierplatine mit der Zielplatine (der Platine, die den Bootloader benötigt) mit 6 Verbindungskabeln, wie in der Abbildung gezeigt.
Dieses besondere Foto zeigt ein Uno, das ein anderes programmiert.
Sie führen die Skizze aus (über den seriellen Monitor, um ihm Befehle zu geben). Zuerst wird der Zielchip identifiziert:
Drücken Sie G , um es zu programmieren.
Für einen Uno dauert dies eine Sekunde. Das Programmieren eines Mega2560 dauert 3 Sekunden.
Detaillierte Anleitung beim Atmega Bootloader Programmer
Code kann von Github heruntergeladen werden : nickgammon / arduino_sketches
quelle