AVR Programierung Linux
Aus c't-Bot Wiki
Inhaltsverzeichnis |
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.
- GNU Binutils
- GCC Version 3.4.x wird benötigt. Version 4.x funktioniert nicht!
- AVR Libc
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.