Text in english

Betriebssysteme für einfache Mikrocontroller

Kurs in Deutsch und/oder Englisch (bitte nachfragen)

Semesterwochenstunden:

2

Leistungspunkte:

2,5

Vorkenntnisse:

Grundkenntnisse im Bereich der Rechnerarchitektur und Programmiersprachen

Veranstaltungstyp:

Seminaristischer Unterricht mit Übungen

Semesterturnus:

Sommersemester

Arbeitsaufwand:

75 Stunden, davon:
21 Stunden Präsenz,
14 Stunden zum Lösen der Übungsaufgaben
20 Stunden zum Lesen von Artikeln und Fachbüchern,
20 Stunden zur Nachbereitung und Prüfungsvorbereitung.

Beitrag zu den Zielen des Studiengangs:

Vertiefung von Kenntnissen und praktischen Fertigkeiten im Bereich angewandter Softwaretechnologie und Betriebssysteme speziell für eingebettete Systeme (Stichwort IoT)

Lernziel:

  • Die AbsolventInnen sind in der Lage Echtzeit-Betriebssysteme für Mikrocontroller zu vergleichen und für eine gegebene Aufgabenstellung auszuwählen, da Sie mit der internen Funktionsweise vertraut sind.
  • Insbesondere erkennen Sie die Wechselwirkungen zwischen Hardware (speziell Interrupts) und dem eingesetzten Betriebssystem. Aus den vom Betriebssystem angebotenen Mechanismen zur Synchronisation und Koordination können Sie die geeigneten Funktionen auswählen.
  • Die AbsolventInnen dieser Lehrveranstaltung können unter Einbindung eines einfachen Betriebssystems Anwendungen für Mikrocontroller planen und implementieren.

Schlüsselqualifikationen:

Fähigkeit zu selbständigem Arbeiten, Fähigkeit zum Verständnis komplexer Systeme Analyse, Interdisziplinarität Fremdsprachenkenntnisse, insbesondere in Englisch -- die LV kann auf Wunsch/ bei Bedarf jederzeit in englischer Sprache angeboten werden! Unterlagen sind fast ausschließlich in englischer Sprache.

Lehrinhalte:

Dieser Kurs ist eine Einführung in die Programmierung von Mikrocontrollern mit einfachen (Echtzeit-)Betriebssystemen. Das Thema wird als Überleitung von der Interrupt gesteuerten Programmierung eines Vorder-/Hintergrundsystems zu einer, durch ein Betriebssystem unterstützten, Anwendungssoftware erschlossen:
  • Wie laufen Programme in Vorder-/Hintergrundsystemen ab?
  • Was bestimmt das Zeitverhalten?
  • Welchen Einfluss haben Interrupts?
  • Welchen Vorteil bietet die Verwendung eines Betriebssystems?
  • Wie unterscheidet sich das Software Design?
Zu diesen Fragen werden folgende Themen vorgetragen bzw. diskutiert:
  • Grundlagen und Aufgaben von Betriebssystemen, Geräteverwaltung, Scheduling, Parallelisierung und Prozesssynchronisation.
Im zweiten Teil wird nun der Begriff der Echtzeitsysteme erläutert.
  • Welchen Zweck erfüllen Echtzeit-Betriebssysteme?
  • Welche Probleme können auftreten, welche Mechanismen sollen diese Probleme verhindern?
Zu diesen Fragen werden folgende Themen vorgetragen bzw. diskutiert:
  • Grundlagen der Echtzeitsysteme, Konzepte zu parallelen/ nebenläufigen Prozessen (Prozesskommunikation, Synchronisation, Concurrency).
  • Fallstudie des Betriebssystems FreeRTOS und/oder C/OS-III.
In den Übungen werden Rechen- und Programmierbeispiele zum Thema Scheduling und Prozesssynchronisation und Inter Task Kommunikation (Mutex, Queues, Semaphore) an Hand des Betriebssystems FreeRTOS und/oder C/OS-III durchgeführt.
Zum Einsatz kommen Entwicklungskits mit dem STM32 Mikrocontroller.

Literatur:

Dieser Kurs basiert auf dem Textbuch von
  • Barry, Richard: Using the FreeRTOS Real Time Kernel – a Practical Guide, eBook unter www.freertos.org
Weitere Empfohlene Bücher und Artikel sind in Auszügen:
  • Kienzle, Friedrich: Programmierung von Echtzeitsystemen, Hanser Verlag 2009
  • Labrosse, Jean J.: uC/OS-III – The Real Time Kernel, Micrium Press 2009

Bemerkungen:

Das Format des Kurses sieht seminaristischen Unterricht mit praktischen Übungen vor.
Kursteilnehmer bearbeiten diese Übungen zu zweit oder in kleinen Gruppen.
Dieser Kurs wird auf Deutsch gehalten.
In der Zeit zwischen den Präsenzterminen sind die TeilnehmerInnen   aufgefordert, Übungsaufgaben selbstständig zu lösen bzw. weiter zu   entwickeln und ebenso relevante Artikel/Kapitel nachzulesen.

Block: 8.+9. November, 29.+30. November, jeweils Freitag 14:00 - 19:00 und Samstag 9:00 - 16:00, Prüfung (+Projektabgabe) 13. Dezember ab 14:00

Leistungsnachweis:

Schriftliche Prüfung (60%) und Übungsaufgaben (40%)
Dauer der schriftlichen Prüfung: 60 Minuten
Die Übungsaufgaben sind eine Projektaufgabe in der die Studierenden in einer Gruppe von 2-4 Personen eine Aufgabenstellung, durch Anwendung der in der Lehrveranstaltung erlernten Fähigkeiten/Kompetenzen, lösen müssen.
Für die Lösung dieser Projektaufgabe steht ein Zeitraum von 2-3 Wochen zur Verfügung.
Der Zeitaufwand pro Studierendem als Beitrag zur Lösung beträgt etwa 20 Stunden. Die Präsentation und Abgabe erfolgt im Anschluß an die schriftliche Prüfung.

Modulverantwortliche/r:

Prof.(FH) Dipl.-Ing. Fischer





TH Nürnberg
Fakultät Informatik
Webmaster-IN



Root- Zertifikat

© 2019 Fakultät Informatik