• 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
      • Embedded Systems Software
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Wintersemester 2025/26
      • Systemprogrammierung 2
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
      • Projekt angewandte Systemsoftwaretechnik
      • Aktuelle Entwicklung in Verteilten und Objektorientierten Betriebssystemen (für Bachelor-/Masterarbeit)
    • Sommersemester 2026
      • Applied Software Architecture
      • Betriebssystemsicherheit
      • Betriebssystemtechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verlässliche Echtzeitsysteme
      • Verteilte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • System-Level Programming
    • SPiCboard
      • Building Instructions
        • FAQ
          • Programming at Home
            • Programming in the CIP
              • Projects
                • Soldering Instructions
                  • SPiC-IDE
                    • SPiCsim
                      • libspicboard-doc
                      • Exam
                        • Linux libc-doc
                          • Contact

                        Programming in the CIP

                        Development Environment

                        Development with the SPiC-IDE

                        Start

                        • Login at a CIP computer with username and password (look at I have no login for the Informatik CIP), you can use the default window manager.
                        • Select the SPiC-IDE from the available programs
                        • Alternatively, the IDE can be started with the script /proj/i4spic/bin/editor.
                        • It can take a few seconds for the IDE to start, especially at the first start.

                        User Interface

                        The SPiC-IDE has different user interfaces: for the microcontroller (first part of the lecture), the IDE can be used with  SPiCboard to program the hardware, while  SPiCsim offers a simulator. For the second part of the lecture,  Linux offers a mode for the system-programming section.

                        The usage is explained at SPiC-IDE in more detail.

                        Usage without IDE

                        The most important paths in the CIP

                        • /proj/i4spic/pub/ Publich folder with exercise sheets, additional material and example applications. Additionally, for many exercises there are example implementations available.
                        • /proj/i4spic/LOGIN Your SPiC project directory.
                        • /proj/i4spic/bin/ Scripts, e.g., for submission.

                        Create your project directory

                        • Open Terminal (View -> Tool Views -> Show Terminal)
                        • Change into the i4spic user directory: cd /proj/i4spic/LOGIN Hint: The tab key completes the directory/file name if possible.
                        • Create exercise directory: mkdir aufgabeX (where X is the exercise number)
                        • Change into the exercises directory: cd aufgabeX
                        • Create exercise file: touch aufgabenname.c
                        • Copy the SPiC Makefile into the current directory: cp /proj/i4spic/pub/libspicboard/Makefile .

                        Text Editor (Example: Kate)

                        • Change into the exercise directory: cd /proj/i4spic/LOGIN/aufgabeX
                        • Start Kate: kate aufgabenname.c

                        Flashing with Linux / in the terminal

                        • To flash the program onto the SPiCboard, a Makefile with instructions for the tool make is used.
                        • Change into the directory with the program to be used: cd blink
                        • In case that the SPiC Makefile is not yet in the directory: cp /proj/i4spic/pub/libspicboard/Makefile .
                        • Call make <programmname>.flash; for example: make blink.flash

                        Magic Makefile (for microcontroller projects)

                        • The typical way to translate C source code into a binary is make, which executes the commands described in the Makefile (located in the same directory).
                        • It is useful to include the debug.mk from the libspicboard library in a separate Makefile by adding
                          LIBSPICBOARDDIR ?= /path/to/libspicboard
                          include $(LIBSPICBOARDDIR)/debug.mk
                          Therefore, generic targets are included, which are sufficient for the most smaller projects (made out of one file): A file blink.c can be translated and flashed onto the connected SPiCboard by executing
                          make blink.flash
                          .
                        • For more complex projects, specificc targets can be created; for example a project of the three files main.c, display.c and sensor.c can be compiled to the binary file watch.elf with the additional dependencies
                          watch.elf: main.c display.c sensor.c
                          in the previously created Makefile. Of course, it is also possible to overwrite the rule, e.g., to pass own parameters to the compiler:
                          watch.elf: main.c display.c sensor.c
                              $(CC) $(CFLAGS) -Wshadow -DFOO=1 -o $@ $^ $(LDFLAGS)
                          Now, it is also possible to call the other targets such as
                          make watch.flash
                          for the new project.
                        • A detailed listing of the functionality can be printed with
                          make help
                          .
                        Friedrich-Alexander-Universität
                        Erlangen-Nürnberg

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