RTEMS CPU Kit with SuperCore
Macros | Functions | Variables
exinit.c File Reference

Initialization Manager. More...

#include <rtems/system.h>
#include <rtems/config.h>
#include <rtems/debug.h>
#include <rtems/extensionimpl.h>
#include <rtems/init.h>
#include <rtems/score/sysstate.h>
#include <rtems/score/apiext.h>
#include <rtems/score/apimutex.h>
#include <rtems/score/copyrt.h>
#include <rtems/score/cpusetimpl.h>
#include <rtems/score/heap.h>
#include <rtems/score/interr.h>
#include <rtems/score/isr.h>
#include <rtems/score/priority.h>
#include <rtems/score/schedulerimpl.h>
#include <rtems/score/smpimpl.h>
#include <rtems/score/timecounter.h>
#include <rtems/score/threadimpl.h>
#include <rtems/score/todimpl.h>
#include <rtems/score/userextimpl.h>
#include <rtems/score/watchdogimpl.h>
#include <rtems/score/wkspace.h>
#include <rtems/sptables.h>
#include <rtems/rtems/rtemsapi.h>
#include <rtems/posix/posixapi.h>
Include dependency graph for exinit.c:

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...
 

Variables

Objects_Information_Internal_Objects [OBJECTS_INTERNAL_CLASSES_LAST+1]
 

Detailed Description

Initialization Manager.

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.