Modulbeschreibung

Embedded Software Engineering 1

Kurzzeichen:
M_EmbSW1
Unterrichtssprache:
Deutsch
ECTS-Credits:
4
Leitidee:

Die Studierenden kennen die spezifischen Eigenheiten der Modellierung und Programmierung von Embedded Systems und können das angemessene Vorgehen wählen.

Sie sind in der Lage, ein dem Problem angepasstes Zielsystem zu wählen (Mikrocontroller, DSP, Multicore Systeme, FPGA) und in C und C++ zu programmieren. Sie können bei Bedarf ein Echtzeitbetriebssystem (Real-time Operating System, RTOS) einsetzen.

Modulverantwortung:
Prof. Bonderer Reto
Standort (angeboten):
Rapperswil-Jona
Zusätzliche Eingangskompetenzen:

Gute Programmierkenntnisse in C und C++

Kenntnisse eines Mikrocontrollers, z.B. ARM Cortex-Mx

Software Engineering

Modultyp:
Wahlpflicht-Modul für Elektrotechnik STD_05(Empfohlenes Semester: 5)Kategorien:Aufbau Elektrotechnik (E-a), Technik (E-et)
Wahlpflicht-Modul für Elektrotechnik STD_14(Empfohlenes Semester: 5)Kategorien:Aufbau Elektrotechnik (E-a), Technik (E-et)
Wahlpflicht-Modul für Elektrotechnik STD_21(Empfohlenes Semester: 5)Kategorien:Aufbau Elektrotechnik (E-a), Technik (E-et)
Wahlpflicht-Modul für Elektrotechnik STD_24(Empfohlenes Semester: 5)Kategorien:Aufbau Elektrotechnik (E-a), Technik (E-et)
Modulbewertung:
Note von 1 - 6

Leistungsnachweise und deren Gewichtung

Modulschlussprüfung:
Schriftliche Prüfung, 120 Minuten

Inhalte

Modul- und Lerninhalt:

Modellierung und effiziente Realisierung von Embedded (real-time) Systems

  • Model Driven Development
  • Hardware/Software Codesign
  • Finite State Machines (FSM)
  • Embedded Design Patterns
  • Effiziente Programmierung in C und C++

Computerarithmetik

  • Integerarithmetik inkl. Sättigungsarithmetik
  • Fixed Point Arithmetik
  • Floating Point Arithmetik

Real-time- und Multithreadingaspekte

  • Kooperatives vs. preemptives Multitasking
  • Rate monotonic scheduling (RMS)
  • Concurrency und Synchronisierung mit POSIX
  • Real-time Operating System (RTOS)

Multicore Systeme

  • Speicherproblematik
    • Speicherhierarchien (Caches)
    • Shared Memory, inkl. Zugriff
    • Multicore coherence
  • Hardware Abstraction Layer (HAL) in C und C++

Änderungen vorbehalten