The Real-Time Introduction curriculum is intended for beginners
in the real-time development environment. It is a comprehensive
investigation of the requirements of real-time systems including
explanations of various related topics. Embedded systems,
real-time system characteristics, hard versus soft real-time,
criticality are all examined in this section. It also compares
the differences between a real-time operating system and a
real-time executive by demonstrating the capabilities and
benefits of each. This introduction discusses the tremendous
benefits of portable code and explains the different levels of
portability. Cross development is another important aspect of
embedded systems dealt with in this class. This explanation
includes discussions of host versus target platforms as well as
cross development tool-sets like GNU. The Real-Time
Introduction concludes with a section illustrating the concepts
behind real-time tasking design, which defines a real-time task
and its attributes such as priority and concurrency. After
completion of the real-time overview, this class moves into the
RTEMS Classic class, which is outlined below. These class
components when combined offer an enormous amount of knowledge
in the real-time programming field, and enable understanding of
the logic behind such systems.
RTEMS Classic
The RTEMS Classic class is primarily devoted to the teaching of
the RTEMS proper, while under the assumption that students have
a basic understanding of real-time systems, their benefits and
capabilities. This class focuses on RTEMS beginning with a
high-level architectural description and then proceeding on to
the more specific routines and methodologies of RTEMS. Issues
such as memory management, tasking, timing, communication and
synchronization are presented and the methods RTEMS invokes to
handle these topics are explained. Also included in this
curriculum are the underlying services that are necessarily
provided for RTEMS to build and run properly. These services
include the configuration, initialization, interrupts, I/O and
fatal error handling, and user extensions of RTEMS. Lastly,
this class covers a section concerning common difficulties
related to the debugging and performance of systems. Upon
completion of RTEMS Classic, the developer will have gained
significant knowledge into the makeup and execution of RTEMS.