• 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
  • System-Level Programming
    • Lecture
      • Exercises
        • SPiCboard
          • FAQ
            • Programming at Home
              • Programming in the CIP
                • Projects
                  • Soldering Instructions
                    • SPiC-IDE
                      • SPiCsim
                        • libspicboard-doc
                        • Slides
                        • Assignments
                        • Linux libc-doc
                        • Exam
                          • Intern
                            • 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