RTEMS CPU Kit with SuperCore  4.11.3
Functions
init.h File Reference

Constants and Structures Associated with the Initialization Manager. More...

#include <rtems/rtems/types.h>
#include <rtems/config.h>
#include <rtems/rtems/intr.h>
Include dependency graph for init.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void rtems_initialize_data_structures (void)
 RTEMS data structures initialization. More...
 
void rtems_initialize_before_drivers (void)
 RTEMS initialization before the device drivers are initialized. More...
 
void rtems_initialize_device_drivers (void)
 RTEMS initialization that initializes all device drivers. More...
 
void rtems_initialize_start_multitasking (void)
 Starts the multitasking. More...
 
void rtems_shutdown_executive (uint32_t result)
 Shutdown the RTEMS environment. More...
 

Detailed Description

Constants and Structures Associated with the Initialization Manager.

This include file contains all the constants and structures associated with the Initialization Manager. This manager is responsible for initializing RTEMS, creating and starting all configured initialization tasks, invoking the initialization routine for each user-supplied device driver, and initializing the optional multiprocessor layer.

This manager provides directives to:

Function Documentation

◆ rtems_initialize_before_drivers()

void rtems_initialize_before_drivers ( void  )

RTEMS initialization before the device drivers are initialized.

This routine implements the portion of RTEMS initialization that is done immediately before device drivers are initialized.

References _DRV_Manager_initialization(), and _MPCI_Create_server().

◆ rtems_initialize_data_structures()

void rtems_initialize_data_structures ( void  )

RTEMS data structures initialization.

This routine implements the portion of the RTEMS initializatin process that involves initializing data structures to a state that scheduling can occur in a consistent manner.

◆ rtems_initialize_device_drivers()

void rtems_initialize_device_drivers ( void  )

RTEMS initialization that initializes all device drivers.

This routine implements the portion of RTEMS initialization that initializes all device drivers.

References _DRV_Manager_init_level(), _IO_Initialize_all_drivers(), _MPCI_Initialization(), _MPCI_Internal_packets_Send_process_packet(), and bsp_driver_level_hook().

◆ rtems_initialize_start_multitasking()

void rtems_initialize_start_multitasking ( void  )

Starts the multitasking.

This directive initiates multitasking and performs a context switch to the first user application task and may enable interrupts as a side-effect of that context switch. The context switch saves the executing context. The application runs now. The directive rtems_shutdown_executive() will return to the saved context. The exit() function will use this directive.

After a return to the saved context a fatal system state is reached. The fatal source is RTEMS_FATAL_SOURCE_EXIT with a fatal code set to the value passed to rtems_shutdown_executive().

This directive does not return.

◆ rtems_shutdown_executive()

void rtems_shutdown_executive ( uint32_t  result)

Shutdown the RTEMS environment.

This routine implements the rtems_shutdown_executive directive. The invocation of this directive results in the RTEMS environment being shutdown and multitasking halted. From the application's perspective, invocation of this directive results in the rtems_initialize_executive directive exitting to the startup code which invoked it.

References _Terminate(), and RTEMS_FATAL_SOURCE_EXIT.