26.10. Classic API Initialization Task Configuration#
This section describes configuration options related to the Classic API initialization task.
26.10.1. CONFIGURE_INIT_TASK_ARGUMENTS#
CONSTANT:
CONFIGURE_INIT_TASK_ARGUMENTS
OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
The default value is 0.
DESCRIPTION:
The value of this configuration option defines task argument of the Classic API initialization task.
CONSTRAINTS:
The value of the configuration option shall be convertible to an integer of type rtems_task_argument.
26.10.2. CONFIGURE_INIT_TASK_ATTRIBUTES#
CONSTANT:
CONFIGURE_INIT_TASK_ATTRIBUTES
OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
The default value is RTEMS_DEFAULT_ATTRIBUTES
.
DESCRIPTION:
The value of this configuration option defines the task attributes of the Classic API initialization task.
CONSTRAINTS:
The value of the configuration option shall be a valid task attribute set.
26.10.3. CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE#
CONSTANT:
CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE
OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
This configuration option has no default value. If it is not specified, then the Classic API initialization task will be created with the stack size defined by the CONFIGURE_INIT_TASK_STACK_SIZE configuration option.
DESCRIPTION:
The value of this configuration option defines the task storage size of the Classic API initialization task.
NOTES:
If this configuration option is specified, then
a task storage area of the specified size is statically allocated by
<rtems/confdefs.h>
for the Classic API initialization task,the Classic API initialization task is constructed by rtems_task_construct() instead of using rtems_task_create(),
the maximum thread-local storage size defined by CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE is used for the Classic API initialization task,
the Classic API initialization task should be accounted for in CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE, and
the task storage area used for the Classic API initialization task is not reclaimed by the system if the task is deleted.
The
CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE
configuration options are mutually exclusive.
CONSTRAINTS:
The following constraints apply to this configuration option:
The value of the configuration option shall be greater than or equal to CONFIGURE_MINIMUM_TASK_STACK_SIZE.
The value of the configuration option shall be defined using RTEMS_TASK_STORAGE_SIZE().
26.10.4. CONFIGURE_INIT_TASK_ENTRY_POINT#
CONSTANT:
CONFIGURE_INIT_TASK_ENTRY_POINT
OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
The default value is Init
.
DESCRIPTION:
The value of this configuration option initializes the entry point of the Classic API initialization task.
NOTES:
The application shall provide the function referenced by this configuration option.
CONSTRAINTS:
The value of the configuration option shall be defined to a valid function
pointer of the type void ( *entry_point )( rtems_task_argument )
.
26.10.5. CONFIGURE_INIT_TASK_INITIAL_MODES#
CONSTANT:
CONFIGURE_INIT_TASK_INITIAL_MODES
OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
In SMP configurations, the default value is RTEMS_DEFAULT_MODES
otherwise the default value is RTEMS_NO_PREEMPT
.
DESCRIPTION:
The value of this configuration option defines the initial execution mode of the Classic API initialization task.
CONSTRAINTS:
The value of the configuration option shall be a valid task mode set.
26.10.6. CONFIGURE_INIT_TASK_NAME#
CONSTANT:
CONFIGURE_INIT_TASK_NAME
OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
The default value is rtems_build_name( 'U', 'I', '1', ' ' )
.
DESCRIPTION:
The value of this configuration option defines the name of the Classic API initialization task.
NOTES:
Use rtems_build_name() to define the task name.
CONSTRAINTS:
The value of the configuration option shall be convertible to an integer of
type rtems_name
.
26.10.7. CONFIGURE_INIT_TASK_PRIORITY#
CONSTANT:
CONFIGURE_INIT_TASK_PRIORITY
OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
The default value is 1.
DESCRIPTION:
The value of this configuration option defines the initial priority of the Classic API initialization task.
CONSTRAINTS:
The value of the configuration option shall be a valid Classic API task priority. The set of valid task priorities depends on the scheduler configuration.
26.10.8. CONFIGURE_INIT_TASK_STACK_SIZE#
CONSTANT:
CONFIGURE_INIT_TASK_STACK_SIZE
OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
The default value is CONFIGURE_MINIMUM_TASK_STACK_SIZE.
DESCRIPTION:
The value of this configuration option defines the task stack size of the Classic API initialization task.
NOTES:
The
CONFIGURE_INIT_TASK_STACK_SIZE
and
configuration options are mutually exclusive.
CONSTRAINTS:
The following constraints apply to this configuration option:
The value of the configuration option shall be greater than or equal to CONFIGURE_MINIMUM_TASK_STACK_SIZE.
The value of the configuration option shall be small enough so that the task stack space calculation carried out by
<rtems/confdefs.h>
does not overflow an integer of type uintptr_t.
26.10.9. CONFIGURE_RTEMS_INIT_TASKS_TABLE#
CONSTANT:
CONFIGURE_RTEMS_INIT_TASKS_TABLE
OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not enabled.
DESCRIPTION:
In case this configuration option is defined, then exactly one Classic API initialization task is configured.
NOTES:
The application shall define at least one of the following configuration options
CONFIGURE_RTEMS_INIT_TASKS_TABLE
,
otherwise a compile time error in the configuration file will occur.
The Classic API initialization task performs the Global Construction.