blob: ca300e747a6441e41fa252af2a91bd982d330fbf (
plain) (
tree)
|
|
.. SPDX-License-Identifier: CC-BY-SA-4.0
.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
Classic API Initialization Task Configuration
=============================================
This section describes configuration options related to the Classic API
initialization task.
.. index:: CONFIGURE_INIT_TASK_ARGUMENTS
.. _CONFIGURE_INIT_TASK_ARGUMENTS:
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.
VALUE CONSTRAINTS:
The value of this configuration option shall be a valid integer of type
``rtems_task_argument``.
DESCRIPTION:
The value of this configuration option defines task argument of the Classic
API initialization task.
NOTES:
None.
.. index:: CONFIGURE_INIT_TASK_ATTRIBUTES
.. _CONFIGURE_INIT_TASK_ATTRIBUTES:
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``.
VALUE CONSTRAINTS:
The value of this configuration option shall be a valid task attribute set.
DESCRIPTION:
The value of this configuration option defines the task attributes of the
Classic API initialization task.
NOTES:
None.
.. index:: CONFIGURE_INIT_TASK_ENTRY_POINT
.. _CONFIGURE_INIT_TASK_ENTRY_POINT:
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``.
VALUE CONSTRAINTS:
The value of this configuration option shall be defined to a valid function
pointer of the type ``void ( *entry_point )( rtems_task_argument )``.
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.
.. index:: CONFIGURE_INIT_TASK_INITIAL_MODES
.. _CONFIGURE_INIT_TASK_INITIAL_MODES:
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``.
VALUE CONSTRAINTS:
The value of this configuration option shall be a valid task mode set.
DESCRIPTION:
The value of this configuration option defines the initial execution mode of
the Classic API initialization task.
NOTES:
None.
.. index:: CONFIGURE_INIT_TASK_NAME
.. _CONFIGURE_INIT_TASK_NAME:
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', ' ' )``.
VALUE CONSTRAINTS:
The value of this configuration option shall be a valid integer of type
``rtems_name``.
DESCRIPTION:
The value of this configuration option defines the name of the Classic API
initialization task.
NOTES:
Use :c:func:`rtems_build_name` to define the task name.
.. index:: CONFIGURE_INIT_TASK_PRIORITY
.. _CONFIGURE_INIT_TASK_PRIORITY:
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.
VALUE CONSTRAINTS:
The value of this configuration option shall be a valid Classic API task
priority. The set of valid task priorities is scheduler-specific.
DESCRIPTION:
The value of this configuration option defines the initial priority of the
Classic API initialization task.
NOTES:
None.
.. index:: CONFIGURE_INIT_TASK_STACK_SIZE
.. _CONFIGURE_INIT_TASK_STACK_SIZE:
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 :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
* It shall be greater than or equal to :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
* It 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``.
DESCRIPTION:
The value of this configuration option defines the task stack size of the
Classic API initialization task.
NOTES:
None.
.. index:: CONFIGURE_RTEMS_INIT_TASKS_TABLE
.. _CONFIGURE_RTEMS_INIT_TASKS_TABLE:
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 exactly one of the following configuration
options
* `CONFIGURE_RTEMS_INIT_TASKS_TABLE`,
* :ref:`CONFIGURE_POSIX_INIT_THREAD_TABLE`, or
* :ref:`CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION`
otherwise a compile time error in the configuration file will occur.
|