The rtems.initialize_executive
directive is called by the
board support package at the completion of its initialization
sequence. RTEMS assumes that the board support package
successfully completed its initialization activities. The
rtems.initialize_executive
directive completes the initialization
sequence by performing the following actions:
This directive MUST be called before any other RTEMS
directives. The effect of calling any RTEMS directives before
rtems.initialize_executive
is unpredictable. Many of RTEMS actions
during initialization are based upon the contents of the
Configuration Table and CPU Dependent Information Table. For
more information regarding the format and contents of these
tables, please refer to the chapter Configuring a System.
The final step in the initialization sequence is the
initiation of multitasking. When the scheduler and dispatcher
are enabled, the highest priority, ready task will be dispatched
to run. Control will not be returned to the board support
package after multitasking is enabled until
rtems.shutdown_executive
the directive is called.
The rtems.initialize_executive
directive provides a
conceptually simple way to initialize RTEMS. However, in
certain cases, this mechanism cannot be used. The
rtems.initialize_executive_early
and rtems.initialize_executive_late
directives are provided as an alternative mechanism for
initializing RTEMS. The
rtems.initialize_executive_early
directive
returns to the caller BEFORE initiating multitasking. The
rtems.initialize_executive_late
directive is invoked to start
multitasking. It is critical that only one of the RTEMS
initialization sequences be used in an application.
Copyright © 1988-2004 OAR Corporation