This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| de:examples:setup:linux [2010/11/10 01:42] – Wember | de:examples:setup:linux [2020/07/20 12:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Die Softwareumgebung für Linux ====== | ||
| + | |||
| + | Die folgende Anleitung beschreibt die Installation und de Benutzung des AVR Toolkit 9:10 Ubuntu OS. | ||
| + | |||
| + | ===== Installation der Software ===== | ||
| + | |||
| + | Installieren Sie die folgende Software: | ||
| + | |||
| + | **1. Linux Softwarepakete** | ||
| + | |||
| + | * gcc-avr – GNU C-Compiler für den AVR | ||
| + | * avrdude – Programm um die HEX-Dateien in den Controller zu laden. | ||
| + | * avr-libc – C-Code Bibliotheken, | ||
| + | |||
| + | Um die Pakete zu installieren, | ||
| + | |||
| + | 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, | ||
| + | |||
| + | sudo sh homelab_library_vX.X.run | ||
| + | |||
| + | Stellen Sie sicher, dass die Installation erfolgreich war. | ||
| + | |||
| + | **3. KontrollerLab** | ||
| + | |||
| + | KontrollerLab ist eine IDE (// | ||
| + | |||
| + | 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 | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ===== Das Programmiergerät anschließen. ===== | ||
| + | |||
| + | Schließen Sie das Programmiergerät an den Computer an und überprüfen Sie ob es vom Computer erkannt wird. Schreiben Sie den Befehl " | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | 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 " | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ===== Ein neues Projekt erstellen ===== | ||
| + | |||
| + | Um ein AVR Programm zu schreiben, muss ein Projekt erstellt werden, welches alle notwendigen Dateien enthält: Quellcode, Headerdateien, | ||
| + | |||
| + | Folgende Schritte müssen durchlaufen werden um ein Projekt zu erstellen: | ||
| + | |||
| + | **1.** Öffnen Sie KontrollerLab (// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | **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. " | ||
| + | |||
| + | Achtung! Da die HomeLab Library nicht im //Linker// Konfigurationstab eingefügt werden kann, muss der Befehl " | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Wenden Sie die Einstellungen im // | ||
| + | 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// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | **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. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ===== Ein Programm schreiben und testen ===== | ||
| + | |||
| + | 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.** | ||
| + | |||
| + | <code c> | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | 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" | ||
| + | Falls eine " Error(s) Occurred:" | ||
| + | |||
| + | **3.** | ||
| + | |||
| + | Falls alles richtig gemacht wurde, sollte die rote LED auf dem Controller in 1-Sekunden Intervallen blinken. | ||
| + | |||
| + | ===== Nutzung von floating-point Variablen ===== | ||
| + | |||
| + | 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// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | **2.** Klicken Sie auf //OK// und schließen Sie das Fenster. | ||