<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<document>
<title>Embedded Systems</title>
<cid>E1610</cid>
<sapsubmodule>P211-0170</sapsubmodule>
<bkey>e2</bkey>
<ctypes>
<hours>4</hours>
<type>V</type>
</ctypes>
<cp>5</cp>
<semester>6</semester>
<mandatory>ja</mandatory>
<language>Deutsch</language>
<exam>Klausur</exam>
<curriculum>
<curriculum_entry>
<cid>E1610</cid>
<branch>Elektrotechnik</branch>
<semester>6</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
</curriculum>
<workload>
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 60 Veranstaltungsstunden (= 45 Zeitstunden). Der Gesamtaufwand des Moduls beträgt bei 5 Creditpoints 150 Stunden (30 Stunden/ECTS Punkt). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 105 Stunden zur Verfügung.
</workload>
<prerequisites>
<prerequisite>
<pfcid>E1305</pfcid>
<pftitle>Programmierung I</pftitle>
</prerequisite>
<prerequisite>
<pfcid>E1501</pfcid>
<pftitle>Microcontroller und Anwendungen I</pftitle>
</prerequisite>
</prerequisites>
<prerequisitesfor>
</prerequisitesfor>
<convenor>Prof. Dr.-Ing. Jürgen Schäfer</convenor>
<convenor-person-key>jus</convenor-person-key>
<lecturers>
<lecturer>Prof. Dr.-Ing. Jürgen Schäfer</lecturer>
<lecturer-person-key>jus</lecturer-person-key>
</lecturers>
<objectives>Kenntnisse: Aufbau von Komponenten eingebetteter Systeme, System-on-chip, Besonderheiten bei der Programmierung eingebetteter Systeme (Cross-Compiler, Programmierung, Debugging; Schnittstellen GPIO, ADC, DAC, SPI, I2C, USART; Interrupts und Exceptions) 

Fertigkeiten: Umgang mit einem Entwicklungswerkzeug für eingebettete Systeme, Arbeiten mit der Dokumentation eines modernen RISC-Mikrocontrollers und, Konfigurieren von GPIOs, UASRT-Schnittstellen und Timern, Erstellen von Interrupt-
Programmen, Fehlersuche in eingebetteten Systemen. 

Kompetenzen: Programmierung von Mikrocontroller-basierten eingebetteten Systemen mit eingeschränkten Ressourcen unter Echtzeitbedingungen ohne Betriebssystem. Implementierung einfacher Hardware-Abstraktionsschichten sowie die Realisierung einfacher Steuerungen durch Zustandsmaschinen. Erkennung möglicher Race-conditions.

</objectives>
<content>Inhalt: 
 1. Werkzeuge der Softwareerstellung
- Entwicklungsumgebung µVison (MDK-ARM)
-- Projekteinstellungen
-- Compiler, Linker
-- Debugging
- Wichtige Unterstützungsprogramme
-- TortoiseSVN
-- Doxygen
2. Wichtige Entwurfsmuster
3. Nebenläufigkeit
- Problematik
- Lösungsmöglichkeiten
4. Abstraktion der Hardware (HAL)
5. Anwendungen aus der Praxis
- IO-Pins: Eingabe und Ausgabe 
- Abstrakte Implementierung einer Kommunikationsschnittstelle am Beispiel eines Interfaces zum Empfang und Senden 
von Daten über eine asynchrone (USART) und synchrone (SPI oder I2C) serielle Schnittstelle
- Verwendung von Rückruf-Methoden in Verbindung mit Interrupts (Inversion of Control)
- Zeitsteuerung via Timer, PWM-Erzeugung und -Analyse
</content>
<media>PC, Tafel, Beamer</media>
<literature>Jospeh Yiu: &quot;The Definite Guide to the ARM Cortex-M3&quot;, Newnes 
Bruce P. Douglass: &quot;Design Patterns for Embeddd Systems in C&quot;, Newnes
Daniel W. Lewis: &quot;Fundamentals of Embedded Software with the ARM Cortex-M3&quot;, Pearson International Ed.
Thomas Eißenlöffel: &quot;Embedded-Software entwickeln&quot;, dpunkt.verlag
J. A. Langbridge: Professional Embedded ARM Development, John Wiley &amp; Sons, 2014
W. Hohl: &quot;ARM Assembly Language - Fundamentals and Techniques&quot;, CRC Press, 2009
ST: &quot;RM0008 Reference Manual&quot;, www.st.com
ARM: &quot;ARM Compiler toolchain, Compiler Reference&quot;, http://infocenter.arm.com/help 
ARM: &quot;ARM Compiler toolchain, Usiong the Compiler&quot;, http://infocenter.arm.com/help</literature>
<offered>
</offered>
<moduldb-query>Tue Aug 18 03:53:11 CEST 2026, CKEY=eesa, BKEY=e2, CID=[?], LANGUAGE=de, DATE=18.08.2026</moduldb-query>
</document>
