blob: ba5ca93ac614ff63859b010cdd10d5ee004d368d (
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)
BSP Related Configuration Options
=================================
This section describes configuration options related to the BSP. Some
configuration options may have a BSP-specific setting which is defined by
``<bsp.h>``. The BSP-specific settings can be disabled by the
:ref:`CONFIGURE_DISABLE_BSP_SETTINGS` configuration option.
.. index:: BSP_IDLE_TASK_BODY
.. _BSP_IDLE_TASK_BODY:
BSP_IDLE_TASK_BODY
------------------
CONSTANT:
``BSP_IDLE_TASK_BODY``
OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
The default value is BSP-specific.
VALUE CONSTRAINTS:
The value of this configuration option shall be defined to a valid function
pointer of the type ``void *( *idle_body )( uintptr_t )``.
DESCRIPTION:
If
* this configuration option is defined by the BSP
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
then the value of this configuration option defines the default value of
:ref:`CONFIGURE_IDLE_TASK_BODY`.
NOTES:
As it has knowledge of the specific CPU model, system controller logic, and
peripheral buses, a BSP-specific IDLE task may be capable of turning
components off to save power during extended periods of no task activity.
.. index:: BSP_IDLE_TASK_STACK_SIZE
.. _BSP_IDLE_TASK_STACK_SIZE:
BSP_IDLE_TASK_STACK_SIZE
------------------------
CONSTANT:
``BSP_IDLE_TASK_STACK_SIZE``
OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
The default value is BSP-specific.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
* It shall be greater than or equal to a
BSP-specific and application-specific minimum value.
* It shall be small enough so that the IDLE
task stack area calculation carried out by ``<rtems/confdefs.h>`` does not
overflow an integer of type ``size_t``.
DESCRIPTION:
If
* this configuration option is defined by the BSP
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
then the value of this configuration option defines the default value of
:ref:`CONFIGURE_IDLE_TASK_SIZE`.
NOTES:
None.
.. index:: BSP_INITIAL_EXTENSION
.. _BSP_INITIAL_EXTENSION:
BSP_INITIAL_EXTENSION
---------------------
CONSTANT:
``BSP_INITIAL_EXTENSION``
OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
The default value is BSP-specific.
VALUE CONSTRAINTS:
The value of this configuration option shall be a list of initializers for
structures of type :c:type:`rtems_extensions_table`.
DESCRIPTION:
If
* this configuration option is defined by the BSP
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
then the value of this configuration option is used to initialize the table
of initial user extensions.
NOTES:
The value of this configuration option is placed after the entries of all
other initial user extensions.
.. index:: BSP_INTERRUPT_STACK_SIZE
.. _BSP_INTERRUPT_STACK_SIZE:
BSP_INTERRUPT_STACK_SIZE
------------------------
CONSTANT:
``BSP_INTERRUPT_STACK_SIZE``
OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
The default value is BSP-specific.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
* It shall be greater than or equal to a
BSP-specific and application-specific minimum value.
* It shall be small enough so that the
interrupt stack area calculation carried out by ``<rtems/confdefs.h>`` does
not overflow an integer of type ``size_t``.
* It shall be aligned according to
``CPU_INTERRUPT_STACK_ALIGNMENT``.
DESCRIPTION:
If
* this configuration option is defined by the BSP
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
then the value of this configuration option defines the default value of
:ref:`CONFIGURE_INTERRUPT_STACK_SIZE`.
NOTES:
None.
.. index:: CONFIGURE_BSP_PREREQUISITE_DRIVERS
.. _CONFIGURE_BSP_PREREQUISITE_DRIVERS:
CONFIGURE_BSP_PREREQUISITE_DRIVERS
----------------------------------
CONSTANT:
``CONFIGURE_BSP_PREREQUISITE_DRIVERS``
OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
The default value is BSP-specific.
VALUE CONSTRAINTS:
The value of this configuration option shall be a list of initializers for
structures of type :c:type:`rtems_extensions_table`.
DESCRIPTION:
If
* this configuration option is defined by the BSP
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
then the value of this configuration option is used to initialize the table
of initial user extensions.
NOTES:
The value of this configuration option is placed before the entries of all
other initial user extensions (including
:ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS`).
.. index:: CONFIGURE_DISABLE_BSP_SETTINGS
.. _CONFIGURE_DISABLE_BSP_SETTINGS:
CONFIGURE_DISABLE_BSP_SETTINGS
------------------------------
CONSTANT:
``CONFIGURE_DISABLE_BSP_SETTINGS``
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 the following BSP related
configuration options are undefined:
- :ref:`BSP_IDLE_TASK_BODY`
- :ref:`BSP_IDLE_TASK_STACK_SIZE`
- :ref:`BSP_INITIAL_EXTENSION`
- :ref:`BSP_INTERRUPT_STACK_SIZE`
- :ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`
- :ref:`CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK`
NOTES:
None.
.. index:: CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
.. _CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK:
CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
----------------------------------
CONSTANT:
``CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK``
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:
If
* this configuration option is defined by the BSP
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
then not all memory is made available to the C Program Heap immediately at
system initialization time. When :c:func:`malloc()` or other standard memory
allocation functions are unable to allocate memory, they will call the BSP
supplied :c:func:`sbrk()` function to obtain more memory.
NOTES:
This option should not be defined by the application. Only the BSP knows how
it allocates memory to the C Program Heap.
|