This intensive three-day course provides a practical introduction to the concepts of multitasking with particular emphasis on embedded applications. Tools and techniques for debugging real-time software are covered as well as a review of commercially available multitasking kernels. By examining the internal workings of a multitasking kernel, you gain valuable insights into the nature of preemptive programming, its benefits and challenges. Understand the underlying architecture of a real-time kernel. Evaluate the suitability of various commercially available real-time operating systems.
Objectives Introduce the concepts of real-time programming.
Discuss design issues and typical problems of real-time systems such as task design and partitioning, device drivers and interrupts, and identifying and solving typical resource sharing problems such as priority inversion and deadly embrace. Review commercially available multitasking kernels. Discuss embedded system issues such as system initialization and configuration, RAM versus ROM, and masking target dependencies. The course is intended for engineers and programmers involved in all phases of technology- driven product design and development. Hardware designers gain insight into the requirements of firmware running on their platforms.