Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

 

Entwicklungsumgebung

Entwicklung mit der SPiC-IDE

Starten

  • An einem CIP-Rechner mit Benutzername und Passwort anmelden (siehe auch Ich habe keinen Login für den Informatik CIP), als Windowmanager kann der (standardmäßig eingestellte) Xfce4 verwendet werden.
  • Im Startmenü unter FAU Courses die SPiC-IDE auswählen
    spic-editor-start.png
  • Alternativ kann die IDE auch durch Ausführen des Skripts /proj/i4spic/bin/editor gestartet werden.
  • Es kann einige Sekunden dauern, bis die IDE gestartet ist, insbesondere beim ersten Start.

Die Oberfläche

Die SPiC-IDE hat verschiedene Entwicklungsmodi: Für den Mikrocontroller (erste Veranstaltungsteil von SPiC) kann mit  SPiCboard die Hardware programmiert werden, während  SPiCsim einen Simulator anbietet. Für den zweite Veranstaltungsteil in SPiC gibt es mit  Linux einen Modus für die Systemprogrammierung.

Die Bedienung wird unter SPiC-IDE ausführlich erklärt.

Benutzung ohne IDE

Die wichtigsten Pfade im CIP

  • /proj/i4spic/pub/ Öffentlicher Ordner mit Aufgabenstellungen, weiterführendes Material und Beispielanwendungen. Zusätzlich sind für viele Aufgaben Beispielimplementierungen verfügbar.
  • /proj/i4spic/LOGIN Dein SPiC-Projektverzeichnis.
  • /proj/i4spic/bin/ Skripte, u.a. für die Abgabe.

Aufgabenverzeichnis anlegen

  • Terminal öffnen (View -> Tool Views -> Show Terminal)
  • In das i4spic-Benutzerverzeichnis wechseln: cd /proj/i4spic/LOGIN Hinweis: Mit der Tab-Taste wird der Verzeichis-/dateiname, wenn möglich, automatisch vervollständigt.
  • Aufgabenverzeichnis erstellen: mkdir aufgabeX (wobei X für die Aufgabennummer steht)
  • In das Aufgabenverzeichnis wechseln: cd aufgabeX
  • Aufgabendatei erstellen: touch aufgabenname.c
  • Das SPiC Makefile in das aktuelle Verzeichnis kopieren: cp /proj/i4spic/pub/libspicboard/Makefile .

Texteditor (Beispiel: Kate)

  • In das Aufgabenverzeichnis wechseln: cd /proj/i4spic/LOGIN/aufgabeX
  • Kate starten kate aufgabenname.c

Flashen unter Linux / im Terminal

  • Um das Programm auf das SPiCboard zu flashen wird ein Makefile mit Anweisungen für das Tool make verwendet.
  • In das Verzeichnis mit dem zu flashenden Programm wechseln: cd blink
  • Falls das SPiC Makefile noch nicht in dem Verzeichnis vorhanden ist: cp /proj/i4spic/pub/libspicboard/Makefile .
  • make <programmname>.flash aufrufen; zum Beispiel: make blink.flash

Magisches Makefile (für Mikrocontrollerprojekte)

  • Der übliche Weg zum Übersetzen eines C-Quelltextes in eine Binärdatei ist make, welches die in der (im selben Verzeichnis liegenden) Makefile beschriebenen Befehle ausführt.
  • Damit nicht für jedes SPiCboard-Projekt die Regeln händisch beschrieben werden müssen, bietet sich das Einbeziehen der debug.mk aus der libspicboard-Bibliothek in einem eigenen Makefile mittels
    LIBSPICBOARDDIR ?= /path/to/libspicboard
    include $(LIBSPICBOARDDIR)/debug.mk
    an. Dadurch werden generische Targets eingebunden, welche für die meisten kleinen Projekte (welche aus nur einer Datei bestehen) ausreichend sind: Eine Datei blink.c kann durchaus
    make blink.flash
    übersetzt und auf das angeschlossene SPiCboard übertragen werden.
  • Für komplexere Projekte können spezifische Targets angegeben werden, z.B. ein Projekt aus den drei Dateien main.c, display.c sowie sensor.c kann mit der zusätzlichen Abhängigkeitsangabe
    watch.elf: main.c display.c sensor.c
    in der zuvor erstellten Makefile die Binärdatei watch.elf kompilieren. Natürlich kann auch alternativ die komplette Regel überschrieben werden, um z.B. eigene Parameter an den Übersetzer zu übergeben
    watch.elf: main.c display.c sensor.c
        $(CC) $(CFLAGS) -Wshadow -DFOO=1 -o $@ $^ $(LDFLAGS)
    Nun können auch für solche Projekte die weiteren Targets wie
    make watch.flash
    aufgerufen werden.
  • Eine ausführliche Auflistung der Funktionalität wird mit
    make help
    ausgegeben.