AVR Studio 5 mit allen Abhängigkeiten (z. B. Jungo-USB-Treiber und Visual-Studio-Shell) installieren
libspicboard.zip in ein Verzeichnis entpacken
AVR Studio einrichten
SPiC-Template 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. faui01.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</h2>
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), optimiert (-Os in der Build-Konfiguration) oder nicht (-O0 in der Debug-Konfiguration) und für die richtige Plattform (freestanding auf atmega32) übersetzt.
Die Einstellungen kann man in den Projekt-Eigenschaften nachlesen und verändern.