Arduino Bootloader auf fabrikneuen ATMEGA328P-PU flashen

Digitaltechnik und Elektronik der Modellbahn-Anlage.de

Arduino Bootloader auf fabrikneuen ATMEGA328P-PU flashen

Wie schon öfters geschrieben, steckt der Reiz in der Programmierung eines ATMEGA328P-PU auch darin, diesen Mikrocontroller mal aus dem Arduino auszubauen und „Stand alone“ in eine eigene Schaltung zu verbauen. Dann aber ist entweder auf dem Experimenten-Board kein Arduino mehr oder es ist keiner mehr für die eigene Platine da, denn alle ATMEGA328P-PU, die in der Arduino IDE programmiert werden wollen, müssen einen „Bootloader“ haben, sonst sind diese nicht beschreibbar. Es reicht also nicht aus, beim Fachhandel einen leeren ATMEGA328P-PU zu bestellen, ihn einzusetzen und zu programmieren! Der Mikrocontroller muss vorher „geflashed“ werden, d.h. er braucht einen „Bootloader“.

Was macht der Bootloader?

Wozu braucht man den Bootloader? Viele sagen, der „Bootloader macht den Mikrocontroller erst zum Arduino“. Denn mittels seiner Hilfe ist es möglich, ohne großen Aufwand und ohne weitere Hardware aus der Arduino IDE heraus ein Programm auf den Arduino zu schreiben, man sagt auch „brennen“.

Der Nachteil daran ist, dass dadurch natürlich etwas Platz auf dem Mikrocontroller verloren geht, d.h. auf einem ATtiny13 ist es dann recht schwer, auf dem 1kB Speicher, den Bootloader zu installieren UND ein sinnvoll großes Programm. Hingegen kann es auf einem ATTiny85 gelingen.

Wie brennt man den Bootloadder auf einen fabrikneuen ATMEGA328P-PU

DAzu sind leider mehrere Schritte nötig und amn tut sich mit zusätzlicher Hardware leicht, denn leider kann man den Bootloader nicht ienfach über ein USB-Kabel zum Arduino senden.

Für unsere Arbeiten nehmen wir entweder

  • einen 2. Arduino und verbinden diesen über Steckkabel mit einem anderen (etwas aufwendig),
  • benutzen ein externes Programmierboard wie z.B. von myAVR.de,
  • benutzen ein Arduino-Shield zum Aufstecken auf den Arduino oder
  • nutzen einen externen Programmieradapter, den wir an den Arduino anschließen.

Letzteres wird nun hier ausführlich behandelt.

Zum Programmieren haben wir von anderen Projekten (C, BASCOM, …) noch den Programmieradapter „Diamex-AVR2, es tut aber auch jeder beliebige andere. Ein 6poliger Stecker für das Anschließen an den ICSP-Stecker des Arduino wäre sehr von Vorteil.

Mit dieser vorgestellten Methode brennen wir den Bootloader direkt aus der IDE des Arduino. Bei anderen Methoden müss man erst im Verzeichnis nach dem File des Bootloaders suchen.

Allerdings muss man der Arduino IDE erst mal mitteilen, dass diese „unbekannte“ Hardware auch berechtigt ist, den Bootloader aus der IDE heraus zu brennen. Dies erreicht man wie folgt. Man öffnet die Datei C:\Program Files (x86)\Arduino\hardware\arduino\avr\programmers.txt mit dem Texteditor seines Vertrauens, wir nutzen z.B. gerne den Notepad++. In dieser Datei kann man gleich am Anfang folgende Zeilen ergänzend einfügen. Man muss aber beachten, dass beim Update der Arduino IDE diese Einträge leider wieder weg sind, also am besten diese Seite hier bookmarken 😉

mySmartUSB.name=mySmartUSB
mySmartUSB.protocol=stk500v2
mySmartUSB.communication=serial
mySmartUSB.program.extra_params=-P{serial.port}

Wenn man die Textdatei nun gespeichert hat, dann startet man die Arduino IDE neu.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

vier × drei =