• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Eingebettete Systemsoftware
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2024/25
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Systemprogrammierung 2
      • Verlässliche Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Systemnahe Programmierung in C (für Wiederholer)
    • SPiCboard
      • Bauanleitung
        • Programmieren im CIP
          • libspicboard-Doku
            • SPiC-IDE
              • SPiCsim
                • FAQ
                  • Projekte
                  • Prüfung
                    • Evaluation
                      • Linux libc-Doku
                        • Intern

                        FAQ

                        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 Development die SPiC-IDE auswählen
                        • 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.
                        Friedrich-Alexander-Universität
                        Erlangen-Nürnberg

                        Schlossplatz 4
                        91054 Erlangen
                        • Impressum
                        • Datenschutz
                        • Barrierefreiheit
                        • Facebook
                        • RSS Feed
                        • Xing
                        Nach oben