RTEMS Logo

RTEMS 4.6.1 On-Line Library


Initialization Manager Initializing RTEMS

PREV UP NEXT Bookshelf RTEMS Ada 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 Ada User's Guide

Copyright © 1988-2004 OAR Corporation