Embedded electronic systems are getting more and more pervasive in our daily lives. According to some surveys more than 97% of all the processors sold worldwide are used for embedded applications. In the year 2005, 20 billion Euros were spent in the EU alone for R&D activities in the embedded systems. It is expected that in 2011 the total expenditure will exceed 28 billion Euros.
One essential property of embedded systems is to maintain the timeliness of the response. Therefore, real-time operating systems (RTOS) are required. For example, a robot has to decide how to react to the environment on time to maintain its stability, and electronic systems in an automotive system should make control decisions in time for safety requirements.
It is apparent that market for RTOS-based solutions is poised to grow tremendously in near future. Therefore, this course is designed to help students understand the kernel of real-time operating systems so that they are able to design timing predictable systems for safety-critical and robust applications, such as robotic and automotive systems.
This lab course introduces the concepts of RTOSes in two parts. In first one, we introduce the theoretical basis of RTOSes e.g. the problems originating from resource sharing and real-time constraints etc. In the second part we put the theoretical knowledge to work with FreeRTOS-based hands-on exercises. Combined together, this course will consist of 13 sessions with five sessions dedicated to theory and eight sessions dedicated to hands on lab exercises. After this course the students should be able to analyse and develop dependable software components for real-time systems using the already existing off-the-shelf RTOSes.
If you would like to take part in this course, it is highly recommended that you register. Alternatively, you can just show up on first meeting on 18.10.2011 at 2pm at room 001 building 40.28. The course is limited to a maximum of 16 students. In case of more candidates, the people who have registered earlier will be given preference.
|18.10.2011||Lecture 1. Organization and Introduction||slides|
|25.10.2011||Lecture 2: Task Management||slides|
|01.11.2011||no lecture (holiday)|
|08.11.2011||Lab 1: Task Management|
|15.11.2011||Lab 2: Task Management with Profiling|
|22.11.2011||Lecture 3: Queue Management and Interrupt Management||slides|
|29.11.2011||no lecture/lab (on a trip)|
|06.12.2011||Lab 3: Task Management with Priorities||Question Sheet, Solutions, Task Sheet|
|13.12.2011||Lecture 4: Resource Management||slides|
|20.12.2011||Lab 4: Kernel Internals||Question Sheet, Skeleton,|
|27.12.2011||no lecture (holiday)|
|03.01.2012||no lecture (holiday)|
|10.01.2012||Lab 5: Interrupt Management||Question Sheet, Solutions|
|17.01.2012||Lecture 5: Memory Management, Bootstrap, Troubleshooting and Microrobots||slides, slides, slides|
|24.01.2012||Lab 6: Trouble Shooting + Summary||Question Sheet, Solutions|
|31.01.2012||Lab 7: Micro Robot Systems I||Question Sheet, Solutions|
|07.02.2012||Lab 8: Micro Robot Systems II||slides|