Startseite

AVR Programmier-Tools Download

Um AVR Mikrocontroller zu programmieren, brauchst du im Minimal-Fall nur eine Toolchain und avrdude.

Zur Berechnung und Kontrolle von Fuses verwende ich die Online Tools Engbedded Fuse Calculator und Eleccelator Fuse Calculator.

Für Linux

Alle gängigen Linux Distributionen stellen die Toolchain über ihren Installer bereit. Bei Ubuntu heißen die Pakete: make, avr-libc, gcc-avr und avrdude.

Zusätzlich möchten Sie sich vielleicht den AVR8 Burn-O-Mat herunterladen, das ist eine grafische Oberfläche für avrdude. Sie benötigen dazu eine Java Runtime (JRE).

Zum manuellen Testen von seriellen Datenübertragungen empfehle ich Cutecom oder das Hammer Terminal. Zum manuellen Testen von Netzwerk-Verbindungen (TCP und UDP) ist hingegen Netcat (nc) das richtige Werkzeug.

Für Windows

Die Toolchain wurde von Linux nach Windows portiert. Sie haben die Wahl zwischen:

Die Installationsprogramme von WinAVR und der Prebuilt GNU toolchain richten die PATH Variable automatisch ein. Wenn Sie das Atmel Studio installiert haben, benutzen Sie den "Atmel Studio 7 Command Prompt" aus dem Startmenü. Wenn Sie Atmels Toolchain mit CygWin kombinieren, richten Sie in der Systemsteuerung die Umgebungsvarable PATH manuell so ein, dass c:\cygwin64\bin und c:\avr8-gnu-toolchain\bin enthalten sind.

Unabhängig davon, welche Toolchain Sie verwenden, werden Sie warscheinlich die folgenden Programme brauchen:

Zum Ansteuern von Programmieradaptern hat sich avrdude 6.3 durchgesetzt. Es unterstützt praktisch alle Programmieradapter, die es gibt. Kopieren Sie die beiden Dateien aus dem ZIP File am besten in das bin Verzeichnis ihrer Toolchain. Für die meisten USB Programmieradapter müssen Sie außerdem den libusb Treiber installieren. Im Fall von Windows 8 (oder neuer) bitte gemäß dieser Anleitung.

Das Zadig Tool hat vielen Leuten bei hartnäckigen Treiberproblemen geholfen.

Wenn sie vor der Eingabe von Befehlen in der Eingabeaufforderung zurück schrecken, möchten Sie eventuell den AVR8 Burn-O-Mat installieren. Das ist eine grafische Bedienoberfläche für avrdude. Sie müssen zusätzlich die Java Runtime (JRE) installieren.

Für alte Programmieradapter mit den Protokollen AVR910, AVR911, AVRISP, AVROSP und AVROSPII kann man alternativ das grafische Programm Avr-Osp II .547 benutzen. Es arbeitet ohne avrdude und ohne libusb.

Als Texteditor empfehle ich Notepad++ oder Editpad Lite.

Zum manuellen Testen von seriellen Datenübertragungen empfehle ich das Programm Hammer Terminal von Tobias Hammer. Zum manuellen Testen von Netzwerk-Verbindungen (TCP und UDP) ist hingegen Netcat das richtige Werkzeug.

Prolific PL2303

Der PL2303 Chip wird in vielen USB-UART Adaptern verwendet. Der aktuelle Windows Treiber funktioniert leider nicht mit alten und gefälschten PL2303 Chips. Abhilfe schafft die Installation des älteren Treibers v3.4.25.218 oder v3.3.2.105.

Wenn Windows jetzt trotzdem den neueren Treiber lädt, hat man zwei Möglichkeiten:

1) Den neueren Treiber entfernen
Dazu geht man im Gerätemanager mit der rechten Mastaste auf den Prolific Adapter und wählt "Gerät Deinstallieren". Im Nächtsen Dialog soll "Treibersoftware für dieses Gerät löschen" aktiviert sein. Anschließend den USB Stecker ziehen und wieder einstecken. Windows wird danach den verbleibenden alten Treiber laden.

2) Den richtigen (alten) Treiber zuweisen
Dazu geht man im Gerätemanager mit der rechten Mastaste auf den Prolific Adapter und wählt "Treiber aktualisieren". Im Nächtsen Dialog soll Windows den PC nach verfügbaren Treibern durchsuchen (Aus einer Liste von Gerätetreibern auf dem Computer wählen). Dort wählst du dann nicht den aktuellen Treiber aus, sondern den älteren mit Version 3.4.25.218 oder 3.3.2.105. Dies muss man nach jedem Windows Upgrade wiederholen, sowie nach jedem Umstecken an einen anderen USB Anschluss.

Integrierte Entwicklungsumgebungen

Für mittlere bis große Projekte eignen sich integrierte Entwicklungsumgebungen (kurz IDE) besser, als simple Text-Editoren. Die automatische Eingabe-Ergänzung, das Springen zwischen Dateien und das Suchen und Umbenennen von Symbolen geht damit viel komfortabler. Die meisten IDE's können Makefile Projekte importieren und eignen sich somit für AVR Programmierung.

Wenn Sie noch kein Makefile Projekt erstellt haben, verwenden Sie meine Hello-World Vorlage.

Für alle IDE's müssen Sie zuerst herausfinden, in welchem Verzeichnis die Include Dateien der AVR C Library liegen. Suchen Sie nach einer Datei mit dem Namen iom328.h. Diese finden Sie normalerweise hier:

Das Include-Verzeichnis ist das Übergeordnete, also das mit dem Namen "include". Merken Sie sich diesen Pfad.

Schauen Sie in die Datei include/avr/io.h. Dort finden Sie Symbole für die ganzen unterschiedlichen AVR Typen, im Format "__AVR_ATxxxxx__". Finden Sie dort ihren Mikrocontroller-Typ, zum Beispiel "__AVR_ATtiny2313__". Den müssen Sie später in der IDE konfigurieren. Die Angabe soll mit dem Mikrocontroller-Typ im Makefile überein stimmen, also würde in diesem Fall im Makefile "attiny2313" stehen.

AVR Studio

Das Windows Programm AVR Studio 4.19 ist eigentlich veraltet, aber ich empfehle es trotzdem immer noch weil es viel kleiner ist und auf jedem Computer zuverlässig und schnell läuft. AVR Studio beinhaltet einen Assembler und einen Simulator, der bei den ersten Übungen hilfreich sein kann. Wer in C/C++ programmiert, muss zusätzlich eine Toolchain installieren.

AVR Studio funktioniert auch in virtuellen Maschinen (Wine, Vmware, VirtualBox), was die Linux und Mac-User erfreuen dürfte.

In den Projekteinstellungen müssen Sie den Pfad zu avr-gcc.exe und make.exe angeben:

Bildschirmfoto von AVR Studio

Sie können dort auch festlegen, ob zum Compilieren ein Makefile verwendet werden soll. Standardmäßig compiliert das AVR Studio ohne Makefile.

Im AVR Studio ist ein Programm zum Bedienen einiger Programmieradapter eingebettet. Der dazu mitgelieferte (Jungo) USB Treiber funktioniert allerdings nur in alten Windows Versionen bis 7. Verwenden Sie alternativ avrdude.

Ich bedanke mich bei Atmel für die besondere Genehmigung, das AVR Studio hier zum Download anzubieten.

Atmel Studio

Für Leute, die trotz meiner obigen Empfehlung doch das aktuelle Atmel Studio 7 verwenden wollen, habe ich hier eine Anleitung, wie man damit Mikrocontroller-Projekte mit Makefile bearbeitet. Das ist nämlich deutlich komplizierter geworden, als im alten AVR Studio.

Das Atmel Studio ist sehr groß und erfordert einen sehr schnellen Windows Computer. Ich empfehle mindestens 4 CPU Kerne, 8GB RAM und eine SSD. Mit weniger wird man das Programm kaum nutzen können.

Eine separate Toolchain ist nicht nötig, da das Atmel Studio bereits eine Toolchain enthält.

Qt Creator

Qt Creator ist eine kostenlose IDE für das Qt Framework. Man kann die IDE allerdings auch zum Editieren von anderen Projekten verwenden. Qt Creator wirkt sehr aufgeräumt, wenn nicht gar spartanisch. Doch bei genauerem Hinsehen stellt man fest, dass die IDE dennoch alle wichtigen Funktionen bereit stellt. Es gibt sie für Linux, Windows und MAC OS. Qt Creator ist in C++ geschrieben, und läuft daher auf jedem Computer flott.

Gehen Sie nach der Installation auf Extras/Einstellungen/Erstellung und Ausführung/Compiler. Fügen Sie dort einen Compiler mit dem Namen "AVR" hinzu. Dort stellen Sie den Pfad zum avr-gcc Compiler ein:

Bildschirmfoto von QtCreator

Dann gehen Sie auf den "Kits" Reiter und fügen ein Kit mit dem Namen "AVR" hinzu. Dort wählen Sie den gerade erstellten AVR Compiler.

Bildschirmfoto von QtCreator

Die CMAKE Konfiguration spielt keine Rolle, lassen Sie sie einfach unverändert. Im Grunde genommen müssen Sie also bloß den Pfad zum avr-gcc Compiler einstellen.

Anschließend können Sie das Mikrocontroller-Projekt über das Menü "Datei/Neu/Projekt importieren/Import eines existierenden Projekts" importieren.

In der Datei "ProjektName.files" geben Sie alle Dateien an, die Sie mit QtCreator editieren möchten. Zum Beispiel

src/main.c
src/Makefile
doc/README.TXT

In der Datei "ProjektName.includes" geben Sie das Include-Verzeichnis der AVR C Library an:

/usr/lib/avr/include

In der Datei "ProjektName.config" geben Sie Makros für den Mikrocontroller-Typ und die Taktfrequenz an.

#define __AVR_ATtiny2313__
#define F_CPU 1000000 

Netbeans

Netbeans war ursprünglich eine Entwicklungsumgebung für Java, aber inzwischen unterstützt Netbeans auch C recht gut. Netbeans ist übersichtlich gestaltet und daher für Anfänger sicher viel angenehmer, als Eclipse oder Atmel Studio. Netbeans ist eine Java Anwendung und erfordert daher die Installation eines Java Developer Kits (JDK).

Downloaden sie das Bundle für C/C++ oder installieren sie nachträglich das C/C++ Plugin. Nach dem ersten Start stellen Sie folgendes ein:

Dieses Bildschirmfoto zeigt die richtigen Einstellungen für Linux:

Bildschirmfoto von Netbeans

Anschließend können sie das Mikrocontroller-Projekt über das Datei Menü von Netbeans öffnen:

Damit Netbeans die SFR Register (zum Beispiel PORTB) erkennt,

Bildschirmfoto von Netbeans

Ich habe diese Anleitung gefunden, wo erklärt wird, wie man den Editor von Netbeans benutzt.

Eclipse

Eclipse war ebenfalls ursprünglich eine Entwicklungsumgebung für Java, unterstützt nun jedoch viele andere Sprachen. Eclipse fällt durch extrem viele Einstellmöglichkeiten und Plugins auf, was Anfänger oft erschreckt. Die Einarbeitungszeit ist deutlich länger, als bei den anderen IDE's. Danach kann man mit Eclipse allerdings effizient arbeiten. Da Eclipse selbst eine Java Anwendung ist, muss man auch ein Java Developer Kits (JDK) installieren.

Downloaden Sie die Eclipse IDE für C/C++ Entwickler oder installieren Sie das C/C++ Plugin in ihre vorhandene Eclipse IDE. Importieren Sie das Projekt über das Menü File/New/Makefile Projekt With Existing Code.

Klicken Sie dann mit der Rechten Maustaste auf den Namen des soeben importierten Projektes, und dann auf Properties.