<?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>yes</mandatory>
<language>German</language>
<exam>Written exam</exam>
<curriculum>
<curriculum_entry>
<cid>E1610</cid>
<branch>Electrical Engineering</branch>
<semester>6</semester>
<mandatory_tag>mandatory course</mandatory_tag>
</curriculum_entry>
</curriculum>
<workload>
60 class hours (= 45 clock hours) over a 15-week period.The total student study time is 150 hours (equivalent to 5 ECTS credits).There are therefore 105 hours available for class preparation and follow-up work and exam preparation.</workload>
<prerequisites>
<prerequisite>
<pfcid>E1305</pfcid>
<pftitle>
</pftitle>
</prerequisite>
<prerequisite>
<pfcid>E1501</pfcid>
<pftitle>
</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>Knowledge: Construction of components of embedded systems, system-on-chip, peculiarities when programming embedded systems (cross compiler, programming, debugging; interfaces GPIO, ADC, DAC, SPI, I2C, USART; interrupts and exceptions)

Skills: Handling development tools for embedded systems, working with the documentation of a modern RISC-microcontroller and configuring of GPIOs, UASRT-interfaces and timers, creating of interrupt programs, error search in embedded systems.

Competence: programming of microcontroller-based embedded systems with limited resources under real time conditions without operating system. Implementing basic hardware abstractions and the realization of basic controllers by using finite-state machines. Recognition of possible race-conditions.
</objectives>
<content>Content:
1. Tools for software building
- development environment&amp;#956;Vison (MDK-ARM)
– Project settings
– Compiler, Linker -- Debugging
-Important support programs
-- TortoiseSVN -- Doxygen
2. Important design patterns
3. Concurrency
- Problems
- Possible solutions
4. Abstraction of the hardware (HAL)
5. Applications in practice
- IO-Pins: Input and output
- Abstract implementation of a communication interface by using the example of an interface for receiving and sending data via an asynchronous (USART) and synchronous (SPI or I2C) serial interface
- Using callback-functions in connection with interrupts (Inversion of Control)
- Time control via timer, PWM generation and analysis</content>
<media>PC, blackboard, projector</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>Thu Sep 10 15:40:13 CEST 2026, CKEY=eesa, BKEY=e2, CID=[?], LANGUAGE=en, DATE=10.09.2026</moduldb-query>
</document>
