Phone: +1-425-748-5018
  Fax: +1-425-644-2185

Coming courses

More courses from
Linux Embedded/RT and Drivers
Design of High Availability Systems & Software
Real-Time Essentials
RTOS Architecture and Effective C
Design of Distributed and Multi-Core Systems & Software
Effective C++ in RT/Embedded Systems
Design of Safety-Critical Systems & Software
RTDBG - Version: 1
Debugging Real-Time Software
2 days course
This course examines the activities involved in discovering and correcting errors, flaws, faults and failures in real-time and embedded systems software. The class begins with a presentation of the main steps and guidelines for identifying and remedying situations in which real-time and embedded software is not working correctly. This is followed by a survey of the wide range of categories of bugs from which such software can suffer . The class then quickly focuses in on a detailed discussion of the "top 5" kinds of bugs that can be "project killers" or "product killers", including stack overflows, race conditions, deadlocks, timing problems, and re-entrancy conditions . Emphasis is placed on multitasking and timing behaviors, rather than on general data processing issues. The class continues with an examination of debugging tools that are helpful in real-time software development, such as low-level monitors, and high-level RTOS-aware system debuggers. 'Liveness' issues including deadly embrace, lockout, memory starvation and CPU starvation are discussed in depth. As are the special sorts of bugs that tend to create problems in Interrupt Service Routines ("ISRs"). Attendees learn how to evaluate configuration and capacity needs, as well as to examine design dangers such as interrupt overflow. The class continues with techniques for quantitative evaluation of timing performance bugs in real-time software. This course is not a general course about software debugging, but rather it is highly focused on the debugging of embedded, time-constrained, resource-constrained multitasking software that may run under the control of a modern real-time operating system ("RTOS").
This course is intended for practicing real-time and embedded systems software designers, software developers, project managers and quality engineers who have responsibility for planning, implementing and debugging the software for real-time and embedded computer systems.
Skip Navigation Links.