Die folgende Anleitung beschreibt die Installation und de Benutzung des AVR Toolkit 9:10 Ubuntu OS.
Installieren Sie die folgende Software:
1. Linux Softwarepakete
Um die Pakete zu installieren, nutzen Sie folgenden Terminalbefehl:
sudo apt-get install gcc-avr avrdude avr-libc
oder die graphische Installationssoftware (wie das Ubuntu Softwarecenter oder Synaptic Packet manager).
2. HomeLab Bibliothek
Die Bibliothek vereinfacht das schreiben von Programmcode, da Grundfunktionen bereits fertig sind. Laden Sie sich die Datei Homelab library vX.X.run von der HomeLab Webseite herunter, wobei XX für die Versionsnummer steht. Zur Installation der Bibliothek führen Sie den folgenden Befehl aus:
sudo sh homelab_library_vX.X.run
Stellen Sie sicher, dass die Installation erfolgreich war.
3. KontrollerLab
KontrollerLab ist eine IDE (integrated development environment) um zum schreiben, kompilieren, debuggen und laden von AVR Software. Laden Sie die KontrollerLab Software herunter und und speichern sie diese in einem Ordner (z.B. ~/Documents/AVR/KontrollerLab). Führen sie den folgenden Befehl in dem Ordner aus:
sudo dpkg -i kontrollerlab*.deb
Falls es Probleme mit Paketabhängigkeiten gibt, führen Sie den Befehl aus welcher die fehlende Pakete installiert:
apt-get install –f
Schließen Sie das Programmiergerät an den Computer an und überprüfen Sie ob es vom Computer erkannt wird. Schreiben Sie den Befehl “lsusb” ins Terminalfester, woraufhin eine Liste der angeschlossenen USB Geräte ausgegeben werden sollte. Der Name des Programmiergerätes ist: “Future Technology Devices International, Ltd FT 232 USB-Serial (UART) IC”.
Um den Port zu erhalten an welchem das Programmiergerät angeschlossen ist, überprüfen Sie /dev mit dem Befehl cd /dev (setzt /dev als aktuellen Ordner) und dir (zeigt den Inhalt des Ordners an). Da das Programmiergerät eine serielle USB Schnittstelle ist, ist es als “ttyUSBx” benannt, wobei “x” den Index der Schnittstelle anzeigt.Gibt es kein anderes serielles USB Gerät, ist diese Zahl null.
Um ein AVR Programm zu schreiben, muss ein Projekt erstellt werden, welches alle notwendigen Dateien enthält: Quellcode, Headerdateien, kompilierte Programme, usw. Um die Projekte klar voneinander zu trennen, sollte für jedes Projekt ein eigener Ordner erstellt werden. (Diese Option gibt es auch im Project Wizard).
Folgende Schritte müssen durchlaufen werden um ein Projekt zu erstellen:
1. Öffnen Sie KontrollerLab (Applications → Programming → KontrollerLab) und starten Sie ein neues Projekt File → New → New project. Ein Fenster öffnet sich in welchem der Projektort festgelegt werden muss. In diesem Beispiel ist das ../Homelab/blinkingLED/.
2. Das Projekt muss mindestens eine C-Datei haben in welcher der Programmcode geschrieben wird. Dateien können mit dem File → New → New Menu hinzugefügt werden. In dem sich nun öffnenden Fenster wählen Sie C source als Dateityp und wählen Sie einen Namen für die Datei.
3. Anschließend muss das Projekt für das Homelab Kit konfiguriert werden. Öffnen Sie hierzu das Konfigurationsfenster unter Project → Configure Project und wählen Sie Common. Der CPU Type sollte ATmega128 sein und die Taktfrequenz 14745600,0 Hz. Darüber hinaus sollten hier die Namen der HEX- und MAP- Dateien angegeben werden. Durch Set as default werden diese Einstellungen zur Standardeinstellung für alle neuen Projekte. Dieses ist sinnvoll, wenn nur mit dem HomeLab AVR Microcontroller gearbeitet wird. Da die HEX und MAP Dateien als Standard gespeichert werden, sollte man ihnen allgemeine Namen geben, z.B. “out.hex”.
Achtung! Da die HomeLab Library nicht im Linker Konfigurationstab eingefügt werden kann, muss der Befehl “-lhomelab” an den Namen der MAP-Datei angehängt werden.
Wenden Sie die Einstellungen im Compiler Tab an, wie auf dem folgenden Screenshot gezeigt. Bevor Sie auf OK klicken, sollte die Compilerkonfiguration ebenfalls als Standard gesetzt werden.
4. Konfigurieren Sie das Programmiergerät durch öffnen von Project → Configure Programmer. Wählen Sie “AVRDUDE” als Programmiergerät. Setzen Sie im “AVRDUDE” Tab den Typ des Programmiergerätes auf jtagmkI und den Anschlussport auf /dev/ttyUSBx (wobei “x” der Portindex ist.). Stellen Sie diese Konfiguration ebenfalls als Standard ein.
5. Ordnen Sie schließlich die Fenster im KontrollerLab so an, wie es angenehm ist und bereiten Sie sich darauf vor, das erste Programm zu schreiben.
Nachdem die Konfiguration abgeschlossen ist, ist es Zeit zu programmieren.
1. Schließen Sie das Programmiergerät am Controllermodul an. Überprüfen Sie noch einmal ob das Programmiergerät richtig am JTAG Anschluss angeschlossen ist. Das Kabel muss von der Platine weg zeigen (siehe Abbildung). Schließen Sie nun die Stromversorgung an und überprüfen ob die grüne LED leuchtet.
2. Schreiben Sie das folgende Programm in das Dateieditor-Fenster des KontrollerLab und kompilieren Sie es:
#include <avr/io.h> #include <homelab/delay.h> int main(void) { // Setze Pinn PB7 als output DDRB = 0x80; // Lõputu tsükkel while (true) { // Invertiere PB7 PORTB ^= 0x80; hw_delay_ms(500); } }
Stellen Sie sicher, dass das Outputfenster die Nachricht “File compiled successfully” anzeigt. Falls eine “ Error(s) Occurred:” Nachricht erscheint, überprüfen Sie den Programmcode auf Fehler.
3. Um das Programm in den Controller zu laden wählen Sie Ignite. Wurde es erfolgreich in den Controller geladen, sollte die Nachricht “Project built and uploaded successfully” erscheinen.
Falls alles richtig gemacht wurde, sollte die rote LED auf dem Controller in 1-Sekunden Intervallen blinken.
Manchmal ist in es in AVR Programmen notwendig, floating-point Variablen zu nutzen. Um mit ihnen zu rechnen und sie mit Funktionen vom Typ printf zu nutzen, müssen die folgenden Anpassungen in der Projektkonfiguration vorgenommen werden:
1. Öffnen Sie Project Configurations sowie den Tab Linker. Überprüfen Sie die erste Zeile der Liste Linker flags (siehe Abbildung).
2. Klicken Sie auf OK und schließen Sie das Fenster.