Labortagebuch - Arduino - Raspberry Pi
01.12.2019 - Bootloader auf den Arduino brennen
Der Bootloader ist ein kleines Programm, welches dem ATMega328P sagt, dass er ein Arduino (genauer gesagt ein Arduino-Uno) werden soll. Der IC in vielen anderen Mikrokontrollerplatinen eingebaut, wovon jede eine andere Pinbelegung oder eine andere Taktrate hat. Der Bootloader sorgt nun dafür, dass derATMega328P nach dem Einschalten prüft, ob ein Programm auf ihm gespeichert ist. Wenn ja, dann startet der Bootloader das Programm. Ist kein Programm da wartet der Bootloader, bis eines auf ihm aufgespielt wird, was dann auch ausgeführt wird.
Der Bootloader muss nur einmal auf den ATMega328P aufgespielt werden. Zum Aufspielen des Bootladers benutzt man lediglich einen "normalen" Arduino und die Arduino-IDE und natürlich den ATMega328P IC in seiner Grundschaltung. Dieses kann ein Arduino Nano, ein Arduino Mega, ein Arduino Nano oder jetzt neu ein Arduino MKR1000 sein.


Der Speicher des ATMega328P


Verbindung zwischen Arduino Uno und Ardunio Nano
Schritt 1
Der Arduino Uno wird mit dem PC verbunden und die Arduino IDE gestartet. In dieser Arduino IDE befindet sich das entsprechende Programm unter
Datei -> Beispiele -> ArduinoISP/ArduinoISP.ino Dieses Programm wird geladen und auf den Arduino Uno hochgeladen. Vorher müssen natürlich noch unter Werkzeuge -> Board ->Arduino Uno und die richtige COM-Schnittstelle unter Werkzeuge -> Port eingestellt werden.

Schritt 2
Der Arduino (z.B. Arduino Nano, Arduino Uno, Arduino Mega, Arduino MKR 1000), auf den der Bootloader gebrannt werden soll, muss jetzt an den Arduino Uno angeschlossen werden. Dieser Arduino Uno wird vom PC getrennt. Die Verkabelung ist den entsprechenden Schaltbildern zu entnehmen.
Beispiel: Arduino Nano
D12 des Arduino Uno -> MISO am Arduino Nano
+5V des Arduino Uno -> VTG am Arduino Nano
D13 des Arduino Uno -> SCK am Arduino Nano
D11 des Arduino Uno -> MOSI am Arduino Nano
D10 des Arduino Uno -> ISP am Arduino Nano
GND des Arduino Uno -> GND am Arduino Nano

Pinbelegung des ISP

Schritt 3
Der Arduino Uno wird wieder mit dem PC verbunden. Die Arduino IDE ist noch auf dem Rechner aktuell (wurde beim Trennen des Arduino Uno nicht geschlossen). Das ISP-Programm ist immer noch auf dem Arduino Uno vorhanden und startet.
Jetzt wird unter Werkzeuge -> Board -> Arduino Nano der zu flashende Arduino (hier also: Arduino Nano) eingestellt. Weiterhin muss der COM-Port überprüft werden. Unter Werkzeuge -> Programmer -> Arduino as ISP einstellen (nicht: ArduinoISP). Jetzt wird das Brennen des Bootloaders mit Hilfe von Werkzeuge -> Bootloader brennen durchgeführt. Anschließende wird der Arduino Uno vom PC getrennt und die Verbindungen zum Arduino Nano entfernt. Das war alles.
Die anderen 3 Möglichkeiten


Verbindung zwischen Arduino Uno und Ardunio Uno


Verbindung zwischen Arduino Mega und Ardunio Uno


Verbindung zwischen Arduino MKR1000 und Ardunio Uno