AVR Programierung Linux

Aus c't-Bot Wiki
Wechseln zu: Navigation, Suche

Installation der AVR Tools unter Linux

Die Informationen auf dieser Seite sind leider nicht mehr aktuell. Um eine für den aktuellen Bot-Code funktionierende Toolchain zu bauen, stattdessen bitte dieser Anleitung folgen.


Übersetzung aus dem englischen Original. Zu finden unter www.nongnu.org/avr-libc

Dies ist ein HowTo zur Erstellung und Installation der kompletten Entwicklungsumgebung für AVR Prozessoren unter Linux.

Die Default-Installation erfolgt im Ordner /usr/local/avr. Dafür sind Root-Zugriffsrechte erforderlich. Wenn keine Root-Zugriffsrechte vorhanden sind kann die Installation auch im Home-Verzeichnis des Benutzers angelegt werden.

Benötigte Tools

Zur Installation werden folgende Dateien benötigt. Dazu ist ein Internet-Zugang erforderlich.


Vorbereitung

Man öffnet eine Konsole bzw. Terminal und gibt folgendes ein:

Installation im /usr/local/avr Verzeichnis (Root-Rechte erforderlich):

$ PREFIX=/usr/local/avr
$ export PREFIX

Installation im Home-Verzeichnis des Benutzers (keine Root-Rechte erforderlich):

$ PREFIX=$HOME/local/avr
$ export PREFIX

GNU Binutils für AVR

Die binutils beinhalten die notwendigen Low-Level Tools. Sie werden benötigt um den C-Compiler GCC zu übersetzen.

Nach dem Download entpackt man die Quell-Dateien:

$ bunzip2 -c binutils-<version>.tar.bz2 | tar xf -
$ cd binutils-<version>

Falls man eine gezippte Datei (.gz) downgeloaded hat, benutzt man einfach gunzip anstelle von bunzip2

$ gunzip -c binutils-<version>.tar.gz | tar xf -
$ cd binutils-<version>

Man erstellt ein neues Verzeichnis obj-var und erstellt die binutils in diesem Unterordner.

$ mkdir obj-avr
$ cd obj-avr

Als nächstes erstellt man die binutils. Dazu übergibt man dem configure Skript die AVR-spezifischen Parameter.

$ ../configure --prefix=$PREFIX --target=avr --disable-nls

Beim konfigurieren werden eine Menge Bildschirmausgaben erzeugt. Zu guter letzt ein große Anzahl von Makefiles. Der nächste Schritt ist dann das Erstellen der binutils mit make:

$ make

Wenn alle Tools ohne Fehler übersetzt wurden, werden diese anschließend installiert.

$ make install

Wichtig für die nächsten Schritte ist es, den Pfad Umgebung anzupassen:

$ PATH=$PATH:$PREFIX/bin
$ export PATH

GCC für den AVR

Die notwendigen Schritte zur Installation sind die selben wie bei den binutils:

$ bunzip2 -c gcc-<version>.tar.bz2 | tar xf -
$ cd gcc-<version>
$ mkdir obj-avr
$ cd obj-avr
$ ../configure --prefix=$PREFIX --target=avr --enable-languages=c,c++ \
    --disable-nls --with-dwarf2
$ make
$ make install


Sollte jemand bei make eine Fehlermeldung bekommen, kann er mal den 5. Schritt durch folgenden ersetzen:

$ ../configure --target=avr --disable-nls --prefix=$PREFIX --with-gnu-ld --with-gnu-as \
    --enable-languages=c --disable-libssp --with-dwarf2 

AVR Libc

Achtung: Zuerst die avr-binutils, avr-gcc installieren und die Pfad Einstellung vornehmen. Dann kann man die avr-libc installiert.

Um die avr-libc zu erstellen und zu installieren:

.tar.gz | tar xf -
$ cd avr-libc-<version>
$ ./configure --prefix=$PREFIX --build=`./config.guess` --host=avr
$ make
$ make install

Alternative Installation

Eine Alternative bietet das Installationsscript aus dem Forum von AVRFreaks: [1] . Zum Download des Scripts muss man allerdings angemeldet sein.

nach etwas Vorarbeit (Pfad und Installationsverzeichnis einstellen) läuft die Installation von (fast) alleine.

Optionale Tools

Einige optionale Tools, die nicht unbedingt erforderlich sind:

Avrdude

Avrdude wird ebenso mit dem configure Skript konfiguriert und anschließend übersetzt und installiert:

$ gunzip -c avrdude-<version>.tar.gz | tar xf -
$ cd avrdude-<version>
$ mkdir obj-avr
$ cd obj-avr
$ ../configure --prefix=$PREFIX
$ make
$ make install

GDB für AVR

Gdb wird ebenso mit dem configure Skript konfiguriert und anschließend übersetzt und installiert:

$ bunzip2 -c gdb-<version>.tar.bz2 | tar xf -
$ cd gdb-<version>
$ mkdir obj-avr
$ cd obj-avr
$ ../configure --prefix=$PREFIX --target=avr
$ make
$ make install

Um den Gnu Debugger zu benutzen ist der Simulator simulavr notwendig.

Simulavr

Simulavr wird ebenso mit dem configure Skript konfiguriert und anschließend übersetzt und installiert:

$ gunzip -c simulavr-<version>.tar.gz | tar xf -
$ cd simulavr-<version>
$ mkdir obj-avr
$ cd obj-avr
$ ../configure --prefix=$PREFIX
$ make
$ make install

Derzeit unterstützt der Simulavr den ATmega32 noch nicht. Ein Patch dafür ist aber bereits eingereicht.