RTEMS Logo

RTEMS 4.6.0 On-Line Library


Initialization Manager Initializing RTEMS

PREV UP NEXT Bookshelf RTEMS C User's Guide

4.3.1: Initializing RTEMS

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.


PREV UP NEXT Bookshelf RTEMS C User's Guide

Copyright © 1988-2004 OAR Corporation