Real-Time Systems - Course MA01 Overview
Lecturer
Prof. Dr.-Ing. Birger MysliwetzGoal
- Enable students to design, implement and test software for real-time multitasking applications
Learning Objectives
- Get insight into the problems associated with (embedded) real-time computing
- Know and be able to apply real-time software design aspects
- Understand the advantages of using real-time operating systems
- Get hands on experience in programming & testing embedded real-time applications
Course Prerequisites
- Basic understanding of the structure & working principles of microcomputers
- Elementary knowledge of general purpose OS structure & working principles
- Programming experience with a block structured high level language, preferably ANSI C (or C++)
- Examples & Application Areas of Real-Time Systems
- Technical Terms and Definitions; Hard vs. Soft Real-Time Requirements
- Working Principles of General Purpose Operating Systems; Processes; Threads; Tasks; Basic Scheduling Principles and Variants
- Real-Time Systems Concepts and Real-Time Software Design; Rate Monotonic Approach (RMA) for Priority Assignment; Reentrant Functions; Semaphores
- Mutual Exclusion; Shared Resources; Synchronization; Deadlocks; Priority Inversion; Intertask-Communication
- Overview of Commercial Real-Time Operating Systems
- Introduction to the Real-Time Kernel MicroC/OS-II; System Calls; Task Structure; Application Structure; Special/System Specific Tasks
- Processes, threads and related system calls under Windows-11 on a PC; analysis of fundamental real-time properties of Windows-11.
- Introduction to an ARM Cortex-M based microcontroller target and embedded software development toolchain; implementation and timing analysis of a μC/OS multitasking application for step motor control on above microcomputer; statistics function and CPU load measurement.
- Using semaphores under μC/OS to control access to shared resources; priority inversion; synchronization; application of tracing for task timing analysis.
- User-interface for step motor control via task; task/task & ISR/task communication; priority assignment; buffer size calculation.
- Application of μC/OS memory management and message passing functions for task/task & ISR/task communication.
- Test of special cases; closed loop control application with user-interface and task/task & ISR/taskcommunication; priority assignment.
Course Structure, Audience
Duration 1 semester, 4 hrs per week, ca. 40% lectures and 60% lab exercisesApplication oriented course in EE/IT- and ING-Master's program.
Grading
90% Written examination ( in examination period ), 90 minutes, no material allowed10% Preparation tests before lab excercises #1 - #3, 15 minutes each
5 ECTS credit points
- Teacher: Mysliwetz, Birger