summaryrefslogtreecommitdiffstats
path: root/c-user/config/bsp-related.rst
diff options
context:
space:
mode:
Diffstat (limited to 'c-user/config/bsp-related.rst')
-rw-r--r--c-user/config/bsp-related.rst332
1 files changed, 194 insertions, 138 deletions
diff --git a/c-user/config/bsp-related.rst b/c-user/config/bsp-related.rst
index 45f31a8..b13a91d 100644
--- a/c-user/config/bsp-related.rst
+++ b/c-user/config/bsp-related.rst
@@ -30,6 +30,10 @@ configuration options may have a BSP-specific setting which is defined by
.. Generated from spec:/acfg/if/bsp-idle-task-body
+.. raw:: latex
+
+ \clearpage
+
.. index:: BSP_IDLE_TASK_BODY
.. _BSP_IDLE_TASK_BODY:
@@ -37,36 +41,46 @@ configuration options may have a BSP-specific setting which is defined by
BSP_IDLE_TASK_BODY
------------------
-CONSTANT:
- ``BSP_IDLE_TASK_BODY``
+.. rubric:: CONSTANT:
+
+``BSP_IDLE_TASK_BODY``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is an initializer define.
+
+.. rubric:: DEFAULT VALUE:
-OPTION TYPE:
- This configuration option is an initializer define.
+The default value is BSP-specific.
-DEFAULT VALUE:
- The default value is BSP-specific.
+.. rubric:: DESCRIPTION:
-VALUE CONSTRAINTS:
- The value of this configuration option shall be defined to a valid function
- pointer of the type ``void *( *idle_body )( uintptr_t )``.
+If
-DESCRIPTION:
- If
+* this configuration option is defined by the BSP
- * this configuration option is defined by the BSP
+* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
- * 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`.
- then the value of this configuration option defines the default value of
- :ref:`CONFIGURE_IDLE_TASK_BODY`.
+.. rubric:: NOTES:
-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.
+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.
+
+.. rubric:: CONSTRAINTS:
+
+The value of the configuration option shall be defined to a valid function
+pointer of the type ``void *( *idle_body )( uintptr_t )``.
.. Generated from spec:/acfg/if/bsp-idle-task-stack-size
+.. raw:: latex
+
+ \clearpage
+
.. index:: BSP_IDLE_TASK_STACK_SIZE
.. _BSP_IDLE_TASK_STACK_SIZE:
@@ -74,41 +88,47 @@ NOTES:
BSP_IDLE_TASK_STACK_SIZE
------------------------
-CONSTANT:
- ``BSP_IDLE_TASK_STACK_SIZE``
+.. rubric:: CONSTANT:
+
+``BSP_IDLE_TASK_STACK_SIZE``
+
+.. rubric:: OPTION TYPE:
-OPTION TYPE:
- This configuration option is an integer define.
+This configuration option is an integer define.
-DEFAULT VALUE:
- The default value is BSP-specific.
+.. rubric:: DEFAULT VALUE:
-VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
+The default value is BSP-specific.
- * It shall be greater than or equal to a BSP-specific and
- application-specific minimum value.
+.. rubric:: DESCRIPTION:
- * 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 <https://en.cppreference.com/w/c/types/size_t>`_.
+If
-DESCRIPTION:
- If
+* this configuration option is defined by the BSP
- * this configuration option is defined by the BSP
+* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
- * and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
+then the value of this configuration option defines the default value of
+:ref:`CONFIGURE_IDLE_TASK_STACK_SIZE`.
- then the value of this configuration option defines the default value of
- :ref:`CONFIGURE_IDLE_TASK_STACK_SIZE`.
+.. rubric:: CONSTRAINTS:
-NOTES:
- None.
+The following constraints apply to this configuration option:
+
+* The value of the configuration option shall be greater than or equal to a
+ BSP-specific and application-specific minimum value.
+
+* The value of the configuration option 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
+ <https://en.cppreference.com/w/c/types/size_t>`_.
.. Generated from spec:/acfg/if/bsp-initial-extension
+.. raw:: latex
+
+ \clearpage
+
.. index:: BSP_INITIAL_EXTENSION
.. _BSP_INITIAL_EXTENSION:
@@ -116,35 +136,45 @@ NOTES:
BSP_INITIAL_EXTENSION
---------------------
-CONSTANT:
- ``BSP_INITIAL_EXTENSION``
+.. rubric:: CONSTANT:
+
+``BSP_INITIAL_EXTENSION``
+
+.. rubric:: OPTION TYPE:
-OPTION TYPE:
- This configuration option is an initializer define.
+This configuration option is an initializer define.
-DEFAULT VALUE:
- The default value is BSP-specific.
+.. rubric:: DEFAULT VALUE:
-VALUE CONSTRAINTS:
- The value of this configuration option shall be a list of initializers for
- structures of type :c:type:`rtems_extensions_table`.
+The default value is BSP-specific.
-DESCRIPTION:
- If
+.. rubric:: DESCRIPTION:
- * this configuration option is defined by the BSP
+If
- * and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
+* this configuration option is defined by the BSP
- then the value of this configuration option is used to initialize the table
- of initial user extensions.
+* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
-NOTES:
- The value of this configuration option is placed after the entries of all
- other initial user extensions.
+then the value of this configuration option is used to initialize the table
+of initial user extensions.
+
+.. rubric:: NOTES:
+
+The value of this configuration option is placed after the entries of all
+other initial user extensions.
+
+.. rubric:: CONSTRAINTS:
+
+The value of the configuration option shall be a list of initializers for
+structures of type :c:type:`rtems_extensions_table`.
.. Generated from spec:/acfg/if/bsp-interrupt-stack-size
+.. raw:: latex
+
+ \clearpage
+
.. index:: BSP_INTERRUPT_STACK_SIZE
.. _BSP_INTERRUPT_STACK_SIZE:
@@ -152,44 +182,50 @@ NOTES:
BSP_INTERRUPT_STACK_SIZE
------------------------
-CONSTANT:
- ``BSP_INTERRUPT_STACK_SIZE``
+.. rubric:: CONSTANT:
-OPTION TYPE:
- This configuration option is an integer define.
+``BSP_INTERRUPT_STACK_SIZE``
-DEFAULT VALUE:
- The default value is BSP-specific.
+.. rubric:: OPTION TYPE:
-VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
+This configuration option is an integer define.
- * It shall be greater than or equal to a BSP-specific and
- application-specific minimum value.
+.. rubric:: DEFAULT 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 <https://en.cppreference.com/w/c/types/size_t>`_.
+The default value is BSP-specific.
- * It shall be aligned according to
- :c:macro:`CPU_INTERRUPT_STACK_ALIGNMENT`.
+.. rubric:: DESCRIPTION:
-DESCRIPTION:
- If
+If
- * this configuration option is defined by the BSP
+* this configuration option is defined by the BSP
- * and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
+* 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`.
+then the value of this configuration option defines the default value of
+:ref:`CONFIGURE_INTERRUPT_STACK_SIZE`.
-NOTES:
- None.
+.. rubric:: CONSTRAINTS:
+
+The following constraints apply to this configuration option:
+
+* The value of the configuration option shall be greater than or equal to a
+ BSP-specific and application-specific minimum value.
+
+* The value of the configuration option 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
+ <https://en.cppreference.com/w/c/types/size_t>`_.
+
+* The value of the configuration option shall be aligned according to
+ :c:macro:`CPU_INTERRUPT_STACK_ALIGNMENT`.
.. Generated from spec:/acfg/if/bsp-prerequisite-drivers
+.. raw:: latex
+
+ \clearpage
+
.. index:: CONFIGURE_BSP_PREREQUISITE_DRIVERS
.. _CONFIGURE_BSP_PREREQUISITE_DRIVERS:
@@ -197,36 +233,46 @@ NOTES:
CONFIGURE_BSP_PREREQUISITE_DRIVERS
----------------------------------
-CONSTANT:
- ``CONFIGURE_BSP_PREREQUISITE_DRIVERS``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_BSP_PREREQUISITE_DRIVERS``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is an initializer define.
+
+.. rubric:: DEFAULT VALUE:
+
+The default value is BSP-specific.
+
+.. rubric:: DESCRIPTION:
-OPTION TYPE:
- This configuration option is an initializer define.
+If
-DEFAULT VALUE:
- The default value is BSP-specific.
+* this configuration option is defined by the BSP
-VALUE CONSTRAINTS:
- The value of this configuration option shall be a list of initializers for
- structures of type :c:type:`rtems_extensions_table`.
+* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
-DESCRIPTION:
- If
+then the value of this configuration option is used to add BSP-provided
+prerequisite drivers to the Device Driver Table.
- * this configuration option is defined by the BSP
+.. rubric:: NOTES:
- * and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
+The value of this configuration option is placed before the entries of all
+other initial user extensions (including
+:ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS`).
- then the value of this configuration option is used to add BSP-provided
- prerequisite drivers to the Device Driver Table.
+.. rubric:: CONSTRAINTS:
-NOTES:
- The value of this configuration option is placed before the entries of all
- other initial user extensions (including
- :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS`).
+The value of the configuration option shall be a list of initializers for
+structures of type :c:type:`rtems_extensions_table`.
.. Generated from spec:/acfg/if/disable-bsp-settings
+.. raw:: latex
+
+ \clearpage
+
.. index:: CONFIGURE_DISABLE_BSP_SETTINGS
.. _CONFIGURE_DISABLE_BSP_SETTINGS:
@@ -234,37 +280,42 @@ NOTES:
CONFIGURE_DISABLE_BSP_SETTINGS
------------------------------
-CONSTANT:
- ``CONFIGURE_DISABLE_BSP_SETTINGS``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_DISABLE_BSP_SETTINGS``
-OPTION TYPE:
- This configuration option is a boolean feature define.
+.. rubric:: OPTION TYPE:
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+This configuration option is a boolean feature define.
-DESCRIPTION:
- In case this configuration option is defined, then the following BSP related
- configuration options are undefined:
+.. rubric:: DEFAULT CONFIGURATION:
- * :ref:`BSP_IDLE_TASK_BODY`
+If this configuration option is undefined, then the described feature is not
+enabled.
- * :ref:`BSP_IDLE_TASK_STACK_SIZE`
+.. rubric:: DESCRIPTION:
- * :ref:`BSP_INITIAL_EXTENSION`
+In case this configuration option is defined, then the following BSP related
+configuration options are undefined:
- * :ref:`BSP_INTERRUPT_STACK_SIZE`
+* :ref:`BSP_IDLE_TASK_BODY`
- * :ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`
+* :ref:`BSP_IDLE_TASK_STACK_SIZE`
- * :ref:`CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK`
+* :ref:`BSP_INITIAL_EXTENSION`
-NOTES:
- None.
+* :ref:`BSP_INTERRUPT_STACK_SIZE`
+
+* :ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`
+
+* :ref:`CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK`
.. Generated from spec:/acfg/if/malloc-bsp-supports-sbrk
+.. raw:: latex
+
+ \clearpage
+
.. index:: CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
.. _CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK:
@@ -272,28 +323,33 @@ NOTES:
CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
----------------------------------
-CONSTANT:
- ``CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
+
+If this configuration option is undefined, then the described feature is not
+enabled.
-OPTION TYPE:
- This configuration option is a boolean feature define.
+.. rubric:: DESCRIPTION:
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+If
-DESCRIPTION:
- If
+* this configuration option is defined by the BSP
- * this configuration option is defined by the BSP
+* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
- * 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.
- 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.
+.. rubric:: NOTES:
-NOTES:
- This option should not be defined by the application. Only the BSP knows how
- it allocates memory to the C Program Heap.
+This option should not be defined by the application. Only the BSP knows how
+it allocates memory to the C Program Heap.