Arduino Spielwiese von Rainer Radow (Radowino)

16.10.2013
Übersicht

Arduino Bootloader brennen mit AVR Studio 6 und dem AVRISP mkII

Der ARDUINO Boot Loader ist das Programm, das aus dem "nackten" AVR Chip einen mit dem ARDUINO System compatiblen Chip macht. Ein fertig entwickeltes Projekt kann so unabhängig von der ARDIUINO Platine mit einem preiswerten selbst gebrannten Chip aufgebaut werden.

Mit dem kostenlosen AVR Studio 6, einem "AVRISP mkII" Prgrammieradapter und einem ARDUINO Board kann diese Aufgabe erledigen. Wer Lust hat, kann sich solch einen Adapter auch selber bauen. Das habe ich hier beschrieben

Im Netz gibt es zum Thema ARDUINO Boot Loader ein paar Anleitungen. Irgendwie fehlte mir da aber immer ein Schritt, oder sie beziehen sich auf das AVR Studio 4 und andere Programmiergeräte. Deshalb jetzt hier meine Beschreibung. Falls etwas fehlt oder ihr einfach noch etwas mehr Wissen habt, maildet euch!

1-1) AVR Studio 6 von der AVR Homepage heruterladen. Man muss sich registrieren - es kostet aber nichts.

1-2) AVRISP mkII" Prgrammieradapter an ein USB Kabel anschließen.
1-3) Mein Win 7 64 und auch das Win 8 64 erkennen das Gerät
1-4) Windows findet den Treiber selber im Netz, sonst das USB Gerät im Gerätemanager öffnen und den Treiber neu von Winindows suchen lassen. Die Gerätetreibe sollten eigentlich vom AVR Studio mit installiert werden.

1-5) Neuen unprogrammierten AVR Chip in den Arduino stecken.
1-6) ARDUINO Board zur Spannungsversorgung an ein USB Kabel anschließen.
1-7) Grüne PWR Lampe an ARDUINO muss leuchten.
1-8) Grüne und Rote LED am AVRISP mkII müssen leuchten.
Bootloader

1-9) Flachbandkabel an den Arduino anschließen. Seite mit dem roten Kabel = PIN 1 muß zur ARDUINO-Leuchtdiode zeigen.
1-10) Nun wechselt die rote LED im AVRISP mkII zu grün.
Bootloader

Wenn das geschaft ist, kann programmiert werden:

2-1) AVR Studio öffnen
2-2) Es muss nichts weiter eingestellt werden, sondern man kann gleich in die Programmier- bzw. Brenn-Ebene gehen
2-3) Unter "Tools" bitte "AVR Programming" auswählen.
Im Studio 6 wurde dieser Menüpunkt in "Device Programming" umbenannt - er befindet sich aber noch an der selben Stelle wie unten im Studio 5 Bildschirmfoto.
Bootloader

2-4 Unter "Tool" das Programmieradapter "AVRISP mkII" auswählen
2-5 Unter "Device" ATmega328P auswählen
2-6 Unter "Interface" ISP auswählen
Bootloader

2-7 "Apply" drücken - das Fenster sollte sich folgendermaßen ändern:
Im Studio 6 existiert ein weiterer Unterpunkt "Production file", den wir allerdings nicht benötigen.
Die ISP Taktfrequenz kann/soll so bleiben. Hat man einen Chip schon einmal beschrieben, darf man sie auch erhöhen.
Bootloader

Im Fenster "Device information" drückt man den Knopf "Read" und erhält folgende Auskünfte über den eingesetzten Chip:
AVR Studio 6 - Device information

2-8 Nach Klicken auf "Lock Bits" sollte das Bild so aussehen - ansonsten bitte so einstellen!
"Lock Bits" können gesetzt werden, wenn man einen Chip mit einem eigenen Programm weiter gibt und nicht möchte, dass er kopiert werden kann. Beim Umschalten einzelner Werte werden die grünen Haken zu gelben Ausrufezeichen, da die Werte noch nicht im Chip programmiert sind. Dies erledigt man bei Bedarf durch Drücken auf den Knopf "Program".
Bootloader

2-9 Anschließend "Fuses" auswählen. Hier muss jetzt einiges umgestellt werden. Beim Umschalten werden aus den grünen Haken wieder gelbe Ausrufezeichen. daher abschließend auf "Program" drücken.
2-10 Wir setzen folgende Werte:
BODLEVEL 2V7 = Brown Out LEVEL = 2,7 Volt = der Chip stellt bei Spannungen unter 2,7 Volt die Funktion ein. So wird verhindert, dass es Fehlfunktionen bei zu niedriger Spannung gibt, die Z.B. zu unerklärlichem Programmverhalten führen könnten.
RSTDISBL "leer", DWEN "leer" und SPIEN "Haken" sollte unbedingt so belassen werden.
BOOTSZ = BOOTloader SiZe = Größe des Speichers, der für den Bootloader reserviert ist - wir benötigen 1024 words.
BOOTRST = BOOTloader after ReSeT = Starte den Bootloader nach einem Reset = ja.
CKDIV8 = ClocK DIVide by 8 = Teile die Taktfrequenz durch 8 = nein.
CKOUT = ClocK OUTput at portB0 = gebe ein Taktsignal an PortB0 aus = nein.
SUT_CKSEL = ClocK surce SELect = Taktquelle wählen.
Auch hier muss man wieder vorsichtig sein, damit man sich nicht aussperrt.
Wir wählen den letzten Auswahlpunkt "EXTXOS_8MHZ_XX_16KCK_14KCK_65MS"
EXTXOS = EXTerner X OScillator = Externe Oszillatorschaltung mit Quarz und zwei Kondensatoren.
8MHZ_XX = Taktfrequenz 8 MHz oder größer
16KCK_14KCK = Anzahl der ClocK cycle nach einem Reset, nach denen der Takt verwendet wird
65MS = weitere Zeit bis zum Start des Chips/Gültigkeit des Taltes in Millisekunden nach einem Reset.

2-11 nach dem Umschalten aus dem Urzustand ergibt sich folgendes Bild - nach Drücken von "Programm" wird alles grün:
AVR Studio 6 - Device information

2-12 Der letzte Schritt ist das eigentliche Programmieren mit dem Boot Loader. Man wechselt hierzu in "Memories".
2-13 Im Bereich "Flash" kann über den Knopf ganz rechts mit den Punkten die Arduino Boot Loader Datei gesucht und ausgewählt werden.
2-14 Der im Bild gezeigte Pfad ist typisch für eine Arduino Installation...
AVR Studio 6 - Device information

2-15 Zum Abschluss auf "Program" drücken".
2-16 Nicht wundern, dass das sehr schnell geht es sind ja nur ein paar Byte
2-17 Anschließend sollte die Grüne LED auf dem ARDUINO Bord blinken, da mit dem Boot Loader auch immer das Programm "Blink" mit eingeschrieben wird

2-18 Fertig!! Euer eigener ARDUINO Chip ist geboren und kann genau so eingesetzt werden, wie der mit dem ARDUINO Brett ausgelieferte.

Ich freue mich über alle Anregungen und Ideen zu dieser Anleitung!


Übersicht
Bitte sendet mir Euren Kommentar zu meinen Arduino Projekten: rainer @ radow . org
Diese Seiten werden von Hannover, Deutschland aus erstellt und gewartet. Von dir heruntergeladen
radow.eu / radow.org
dampfkraft.de / steamboating.de
um: Sun, 30 Apr 2017 01:09:45 +0200