• 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
    • 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
          • Building Instructions
            • 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