AVR Studio 5 mit allen Abhängigkeiten (z. B. Jungo-USB-Treiber und Visual-Studio-Shell) installieren
AVR Command Line Tools entpacken und installieren
libspicboard.zip in einem Verzeichnis entpacken
avr5.zip in ein temporäres Verzeichnis entpacken
AVR Studio einrichten
Konfiguration wie in der Übung importieren
Neues Projekt einrichten
Eigenschaften des Projekts öffnen (dort, wo auch der Debugger ausgewählt wird): z. B. Project -> aufgabeX Properties
Toolchain -> AVR/GNU C Compiler -> Directories -> Q:\i4\ in den Pfad ändern, in dem die libspicboard entpackt wurde (Achtung: Das Häkchen bei "Relative Path" darf nicht gesetzt sein!)
Toolchain -> AVR/GNU C Linker -> Libraries -> Q:\i4\ in den Pfad ändern, in dem die libspicboard entpackt wurde (Achtung: Das Häkchen bei "Relative Path" darf nicht gesetzt sein!)
Fragen bitte im Forum stellen, damit alle Studenten von den Antworten profitieren!
Abgabe der Lösungen von Zuhause
Wenn ihr die Aufgaben zuhause programmiert und getestet habt, müsst ihr die entsprechende(n) Quelldatei(en) zuerst in die Uni kopieren, bevor ihr sie abgeben könnt.
Dazu mit dem Programm WinSCP mit einem CIP-Rechner verbinden (z. B. faui05.cs.fau.de), dort Benutzername und Linux-Passwort eingeben.
Dann die Datei in euer Projektverzeichnis /proj/i4(g)spic/LOGINNAME/aufgabeX kopieren bzw. vorher das Verzeichnis aufgabeX anlegen, falls noch nicht vorhanden.
Schließlich mit dem Programm Putty auf einem CIP-Rechner einloggen und dann in der Shell wie sonst auch /proj/i4(g)spic/pub/abgabe aufgabeX eingeben, um abzugeben.
WICHTIG: Abgegeben werden die Dateien, die sich in eurem Projektverzeichnis befinden, und nicht die, die zuhause auf eurem Rechner sind!
Beschreibung der verschiedenen Einstellungen
Die Header-Dateien (z. B. led.h) enthalten die Schnittstellenbeschreibung für die libspicboard. Der Übersetzer benötigt den Pfad zu diesen Dateien, um die Funktionsaufrufe an die Bibliothek (z. B. sb_led_on(GREEN0)) auf deren richtige Verwendung zu überprüfen.
Der Linker bindet euer Programm mit der eigentlichen bereits übersetzten Bibliothek (libspicboard.a) zusammen. Dazu braucht er Verzeichnispfad und Namen der Bibliothek. Das Prä- und Suffix des Dateinamens ("lib" und ".a") werden dabei nicht mit angegeben!
Weitere Einstellungen sorgen dafür, dass der Compiler intolerant gegenüber schlampiger Programmierung ist (-pedantic, -Wall und -Werror: alle Warnungen ausgeben und als Fehler behandeln), nicht optimiert (-O0) und für die richtige Plattform (freestanding auf atmega32) übersetzt.
Die Einstellungen kann man in den Projekt-Eigenschaften nachlesen und verändern. Wer möchte, kann seine Programme auch einmal mit Optimierung -O3 übersetzen und testen. Was geht schief?
Flash ISP-Button reparieren (für alte Projektvorlagen)
Eigenschaften des Projekts öffnen (dort, wo auch der Debugger ausgewählt wird): z. B. Project -> aufgabeX Properties