print page

Software for Embedded Systems


Instructor Prof. Dr. rer. nat. Volker Turau
ECTS credit points 6.0
Workload 180 hours total
Performance record Written Exam
Period Is offered no more
Language English


Embedded systems are electronic computers that are embedded into another device in order to operate, control, or monitor it. They perform their task invisible for the end user, e.g., in cars, mobile phones, appliances, etc. Software development for these devices differs significantly from that of desktop or server applications. In contrast to software development for the latter, the developer is in general directly responsible for handling input and ouput. This lecture is intended to convey the basic concepts of a systematic software development for embedded systems in both theory and praxis. The practical part encompasses exercises with a 8-bit processor of the AVR family (ATmega 128RFA1). The lecture consists of the following chapters:

  1. Introduction
  2. General-Purpose Processors
  3. Programming the Atmel AVR
  4. Interrupts
  5. C for Embedded Systems
  6. Standard Single Purpose Processors: Peripherals
  7. Operating Systems for Embedded Systems
  8. Memory
  9. Finite-State Machines
  10. Real-Time Embedded Systems





Basic Principles and procedures for the design of software for embedded systems


Analysis of complex activities with temporal constraints

System expertise

Modularization of complex systems

Reading Resources