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

SPiC - Übungen im SS 2019

Allgemeines

Der Übungsbetrieb umfasst Tafel- und Rechnerübungen. Die Tafelübungen dienen der Vermittlung und Vertiefung des zur Bearbeitung der Übungsaufgaben notwendigen Wissens. In den Rechnerübungen sind die Arbeitsplätze des Rechnerraums für SPiC Studierende reserviert. In diesen Übungen sollen die Aufgaben bearbeitet werden, wobei in der Regel ein Betreuer zur Verfügung stehen wird um bei Bedarf Hilfestellung zu geben.

In den Aufgaben wird die Systemprogrammierung auf zwei verschiedenen Ebenen geübt: Zum einen in Form eines Steuerprogrammes direkt auf Hardware eines AVR Mikrocontrollers, zum anderen im (stark vereinfachten) Nachbau einiger gängiger Systemwerkzeuge auf einer Linux Systemschnittstelle.

Dokumentationsbereich

Die Datenblätter für den Mikrocontroller finden Sie auf der SPiCboard Webseite. Die Dokumentation für die libspicboard und die avrlibc finden Sie auf der libspicboard-Doku Seite.

Eine Übersicht über gängige libc Funktionen und Systemaufrufe finden Sie auf der Linux libc-Doku Seite und auf den entsprechenden Manpages.

Folien der Übungen

Studierende, die die Veranstaltung GSPiC hören, müssen nur die mit blauer Farbe hinterlegten Übungen besuchen.

Kurzbeschreibung Übungswoche A4 (1x1) A5 (1x2) A6 (2x2) Material
1 Orga, Benutzerumgebung, Optimierungen, Aufgabe 1 29.04.2019 PDF PDF PDF
2 Datentypen, Sichtbarkeit, Bitoperationen, Modulo, Polling, Aufgabe 2 06.05.2019 PDF PDF PDF
3 Module, I/O Ports, Register, Aufgabe 3 13.05.2019 PDF PDF PDF
4 Vertiefung (Zeiger), Hands-On (Zeiger) 20.05.2019 PDF PDF PDF pointer.c
5 Interrupts, Synchronisation, Stromsparmodi, Aufgabe 4 27.05.2019 PDF PDF PDF
6 Timer, Aufgabe 5, Hands-On (Kaffeemaschine) 03.06.2019 PDF PDF PDF
7 Hands-on (Kaffeemaschine), Hands-On (Laufschrift) 10.06.2019 PDF PDF PDF
8 Linux-Umgebung, Fehlerbehandlung, Kommandozeilenparameter, Strings, Aufgabe 6, Buffer Overflow 17.06.2019 PDF PDF PDF
9 Dateisystem, Aufgabe 7 24.06.2019 PDF PDF PDF
10 Prozesse, Aufgabe 8 (Teil a)) 01.07.2019 PDF PDF PDF mish_vorlage.c
11 Signale, Aufgabe 8 (Teil b) und c)) 08.07.2019 PDF PDF PDF
12 Klausurvorbereitung 15.07.2019 PDF PDF PDF
13 Vorstellung Aufgabe 8, Klausurvorbereitung (forts.) 22.07.2019 PDF PDF PDF

Übungsaufgaben

Studierende, die die Veranstaltung GSPiC hören, müssen nur die mit blauer Farbe hinterlegten Aufgaben abgeben.

Nr. Titel Kurzbeschreibung Ausgabe Bearbeitungszeit
(in Tagen)
2er-Gruppen Abzugebende
Dateien
Punkte
1 blink Kennenlernen der Umgebung,
Implementierung eines LED-Blink-Programms
29.04.2019 7 Nein blink.c 3
2 snake C-Kontrollflusskonstrukte, Funktionen,
SPiCboard-Elemente, Bitoperationen
06.05.2019 7 Ja snake.c 12
3 led-modul Zeiger, AVR I/O-Ports,
modulare Programmierung
13.05.2019 14 Ja led.c, test-led.c 14
4 spiel Interrupts, Powersave-Modi, Nebenläufigkeit,
Synchronisation, volatile
27.05.2019 7 Nein spiel.c 12
5 ampel Interrupts, Powersave-Modi, Nebenläufigkeit,
Synchronisation, volatile
03.06.2019 14 Nein ampel.c 15
6 concat C unter Linux, Speicherallokation, Strings 17.06.2019 7 Nein concat.c 10
7 printdir POSIX, Strukturen 24.06.2019 7 Ja printdir.c 12
8 mish POSIX-Prozesse, Signale 01.07.2019 21 Ja mish.c 22

Abgabe und Bewertung der Übungsaufgaben

Die Abgabe erfolgt an den Rechnern im CIP-Pool, mit dem Skript /proj/i4spic/bin/abgabe oder durch die SPiC-IDE und muss vor dem Abgabetermin erfolgen. Eine Abgabe nach dem Abgabetermin per eMail ist nicht möglich. Zur Bearbeitung der Aufgaben wird Ihnen automatisch ein Projektverzeichnis angelegt nachdem Sie sich zu einer Übung angemeldet haben. Der Pfad zu diesem Verzeichnis lautet /proj/i4spic/<login>, wobei <login> für Ihren Benutzernamen im CIP-Pool steht. Bitte bearbeiten Sie Ihre Aufgaben in diesem Verzeichnis und verwalten Sie das Verzeichnis wie in der ersten Aufgabenstellung beschrieben, da ansonsten das Abgabeprogramm Ihre Lösung nicht finden kann.

Die abgegebenen Aufgaben werden von uns korrigiert. Die korrigierten Abgaben finden Sie in ihrem Projektordner im Unterordner korrektur. Die Ergebnisse der Korrektur sind ausserdem nach Login im Waffel einsehbar.

Literaturempfehlungen

Zur Einführung in die Programmiersprache C haben wir in der Vorlesung die folgenden Bücher kurz vorgestellt:

  • C-Einführungsbuch "C als erste Programmiersprache": verfügbar bei Springerlink online und in /proj/i4gspic/pub/ (beides nur aus dem Uni-Netz)
  • Karlheinz Zeiner: Programmieren lernen mit C. Carl Hanser, 4. Auflage, 2000.
  • Steve Oualline: Practical C Programming. O'Reilly, 1991.
  • Peter Darnell, Philip Margolis: C: A Software Engineering Approach. Springer, 1991.
  • Brian Kernighan, Dennis Ritchie: The C Programming Language. Prentice Hall, 1988 (in der deutschen Übersetzung 1990 bei Hanser erschienen)

Zum Thema UNIX-Systemprogrammierung sind die folgenden Bücher empfehlenswert:

  • Helmut Herold: Linux/Unix Systemprogrammierung, Addison-Wesley, München, September 2004.
  • A. S. Tanenbaum, A. S. Woodhull: Operating Systems: Design And Implementation, Prentice Hall, 1997.
  • R. W. Stevens: Advanced Programming in the UNIX Environment. Addison-Wesley, 1992.

UnivIS Informationen

Nachstehende Übungstermine sind vorläufig und werden sich vermutlich noch ändern bzw. erweitert werden.

Rechnerübungen zu Systemnahe Programmierung in C (RÜ SPiC)

Verantwortliche
Benedict Herzog, M. Sc., Bernhard Heinloth, M. Sc.

Angaben
Übung
2 SWS, Sprache Deutsch

Studienfächer / Studienrichtungen
PF ME-BA 2
WPF M-BA 2
WPF TM-BA 2
WPF MT-BA ab 5
WPF MT-MA-BDV 2
PF EEI-BA 2
WF Ph-BA 2

Kurse
      
Mo  10:15 - 11:45  01.153-113
Florian Simon
Julius Gohsrich
      
Mo  12:15 - 13:45  01.153-113
Fabian Benschuh
Fabian Hofbeck
      
Mo  14:15 - 15:45  01.153-113
Maxim Ritter von Onciul
      
Di  10:15 - 11:45  00.153-113
Ouadie Touijer
      
Di  16:15 - 17:45  01.153-113
Jens Wächtler
      
Mi  8:15 - 9:45  01.153-113
Lisa Wernet
      
Mi  10:15 - 11:45  00.153-113
Alexander von der Haar
      
Mi  12:15 - 13:45  01.153-113
Michael Baron
      
Mi  14:15 - 15:45  01.153-113
Lukas Geyer
Stefan Schwanecke
      
Mi  16:15 - 17:45  01.153-113
Stefan Sächerl
      
Do  16:15 - 17:45  01.153-113
Philipp Santer
      
Fr  8:15 - 9:45  01.153-113
Dennis Weber
      
Fr  14:15 - 15:45  01.153-113
Jonas Neuser
Sebastian Scherbel


Übungen zu Systemnahe Programmierung in C (Ü SPiC)

Verantwortliche
Benedict Herzog, M. Sc., Bernhard Heinloth, M. Sc.

Angaben
Übung
2 SWS, Sprache Deutsch

Studienfächer / Studienrichtungen
PF ME-BA 2
WPF M-BA 2
WPF TM-BA 2
WPF MT-BA ab 5
WPF MT-MA-BDV 2
PF EEI-BA 2
WF Ph-BA 2

Voraussetzungen / Organisatorisches
Details zur Organisation werden im Rahmen der ersten Vorlesung besprochen!
Im Studiengang EEI wird für die Übungen zu "Grundlagen der systemnahen Programmierung in C" ein geringerer Stoffumfang behandelt, so dass die Veranstaltung hierfür insges. 1 SWS umfasst.

Kurse
      
Mo  8:30 - 10:00  0.151-115
Kurs T01, erwartete Teilnehmer: 23
Julius Gohsrich
      
Mo  10:15 - 11:45  01.151-128
Kurs T02, erwartete Teilnehmer: 23
Fabian Hofbeck
      
Mo  12:15 - 13:45  00.153-113
Kurs T03, erwartete Teilnehmer: 23
Maxim Ritter von Onciul
      
Mo  12:15 - 13:45  0.154-115
Kurs T04, erwartete Teilnehmer: 23
Florian Simon
      
Di  8:30 - 10:00  0.151-115
Kurs T05, erwartete Teilnehmer: 23
Lisa Wernet
      
Di  10:15 - 11:45  0.031-113
Kurs T06, erwartete Teilnehmer: 23
Volkmar Sieh
      
Di  14:15 - 15:45  01.153-113
Kurs T07, erwartete Teilnehmer: 23
Jens Wächtler
      
Mi  8:15 - 9:45  00.153-113
Kurs T08, erwartete Teilnehmer: 23
Alexander von der Haar
      
Mi  12:15 - 13:45  0.151-115
Kurs T10, erwartete Teilnehmer: 23
Lukas Geyer
      
Mi  12:15 - 13:45  00.151-113
Kurs T09, erwartete Teilnehmer: 23
Stefan Schwanecke
      
Mi  14:15 - 15:45  00.151-113
Kurs T11, erwartete Teilnehmer: 23
Stefan Sächerl
      
Do  8:30 - 10:00  00.151-113
Kurs T12, erwartete Teilnehmer: 23
Michael Baron
      
Do  10:15 - 11:45  T 0.75
Kurs T13, erwartete Teilnehmer: 23
Philipp Santer
      
Do  10:15 - 11:45  00.153-113
Kurs T15, erwartete Teilnehmer: 23
Jonas Neuser
      
Do  10:15 - 11:45  00.151-113
Kurs T14, erwartete Teilnehmer: 23
Fabian Benschuh
      
Do  16:15 - 17:45  02.134-113
Kurs T16, erwartete Teilnehmer: 23
Ouadie Touijer
      
Fr  8:15 - 9:45  00.152-113
Kurs T17, erwartete Teilnehmer: 23
Sebastian Scherbel
      
Fr  10:15 - 11:45  0.031-113
Kurs T18, erwartete Teilnehmer: 23
Dennis Weber