[docs] c-user: Clarify BSP related configuration settings
Sebastian Huber
sebastian.huber at embedded-brains.de
Thu Aug 11 07:41:02 UTC 2022
---
c-user/config/device-driver.rst | 7 ++--
c-user/config/general.rst | 60 ++++++++++++++++++++++++++++++---
c-user/config/idle-task.rst | 18 ++++++++--
3 files changed, 76 insertions(+), 9 deletions(-)
diff --git a/c-user/config/device-driver.rst b/c-user/config/device-driver.rst
index d84da0a..87ed27a 100644
--- a/c-user/config/device-driver.rst
+++ b/c-user/config/device-driver.rst
@@ -709,7 +709,7 @@ Driver Table.
.. rubric:: NOTES:
The value of this configuration option is placed after the entries defined by
-:ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS` and before all other device driver
+:c:macro:`CONFIGURE_BSP_PREREQUISITE_DRIVERS` and before all other device driver
configuration options.
See :ref:`CONFIGURE_APPLICATION_EXTRA_DRIVERS` for an alternative placement
@@ -858,7 +858,10 @@ options:
* :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS`
-* :ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`
+If the :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` configuration option is not defined and
+the :term:`BSP` provides
+:c:macro:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`, then the BSP-provided
+prerequisite device drivers are also taken into account.
.. rubric:: DESCRIPTION:
diff --git a/c-user/config/general.rst b/c-user/config/general.rst
index fa43686..c80d162 100644
--- a/c-user/config/general.rst
+++ b/c-user/config/general.rst
@@ -67,6 +67,55 @@ memory is first dirtied and then zeroed.
See also :ref:`CONFIGURE_MALLOC_DIRTY`.
+.. Generated from spec:/acfg/if/disable-bsp-settings
+
+.. raw:: latex
+
+ \clearpage
+
+.. index:: CONFIGURE_DISABLE_BSP_SETTINGS
+
+.. _CONFIGURE_DISABLE_BSP_SETTINGS:
+
+CONFIGURE_DISABLE_BSP_SETTINGS
+------------------------------
+
+.. rubric:: CONSTANT:
+
+``CONFIGURE_DISABLE_BSP_SETTINGS``
+
+.. 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.
+
+.. rubric:: DESCRIPTION:
+
+In case this configuration option is defined, then the optional BSP provided
+settings listed below are disabled.
+
+The optional BSP provided default values for the following application
+configuration options are disabled:
+
+* :ref:`CONFIGURE_IDLE_TASK_BODY`
+
+* :ref:`CONFIGURE_IDLE_TASK_STACK_SIZE`
+
+* :ref:`CONFIGURE_INTERRUPT_STACK_SIZE`
+
+The optional BSP provided initial extension set is disabled (see
+:term:`initial extension sets`). The optional BSP provided
+prerequisite IO device drivers are disabled (see
+Device Driver Configuration). The optional BSP provided support for
+:c:func:`sbrk` is disabled.
+
+This configuration option provides an all or nothing choice with respect to
+the optional BSP provided settings.
+
.. Generated from spec:/acfg/if/disable-newlib-reentrancy
.. raw:: latex
@@ -237,8 +286,8 @@ initial user extensions.
.. rubric:: NOTES:
The value of this configuration option is placed before the entries of
-:ref:`BSP_INITIAL_EXTENSION` and after the entries of all other initial
-user extensions.
+:c:macro:`BSP_INITIAL_EXTENSION` and after the entries of all other
+initial user extensions.
.. rubric:: CONSTRAINTS:
@@ -269,8 +318,11 @@ This configuration option is an integer define.
.. rubric:: DEFAULT VALUE:
-The default value is :ref:`BSP_INTERRUPT_STACK_SIZE` in case it is defined,
-otherwise the default value is :c:macro:`CPU_STACK_MINIMUM_SIZE`.
+If the :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` configuration option is not defined and
+:c:macro:`BSP_INTERRUPT_STACK_SIZE` is provided by the
+:term:`BSP`, then the default value is defined by
+:c:macro:`BSP_INTERRUPT_STACK_SIZE`, otherwise the default value is
+:c:macro:`CPU_STACK_MINIMUM_SIZE`.
.. rubric:: DESCRIPTION:
diff --git a/c-user/config/idle-task.rst b/c-user/config/idle-task.rst
index 5cf8364..359f862 100644
--- a/c-user/config/idle-task.rst
+++ b/c-user/config/idle-task.rst
@@ -48,8 +48,11 @@ This configuration option is an initializer define.
.. rubric:: DEFAULT VALUE:
-If :ref:`BSP_IDLE_TASK_BODY` is defined, then this will be the default value,
-otherwise the default value is ``_CPU_Thread_Idle_body``.
+If the :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` configuration option is not defined and
+:c:macro:`BSP_IDLE_TASK_BODY` is provided by the
+:term:`BSP`, then the default value is defined by
+:c:macro:`BSP_IDLE_TASK_BODY`, otherwise the default value is
+``_CPU_Thread_Idle_body``.
.. rubric:: DESCRIPTION:
@@ -64,6 +67,11 @@ exists.
IDLE threads can be used to initialize the application, see configuration
option :ref:`CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION`.
+The BSP may have knowledge of the specific CPU model, system controller
+logic, and peripheral buses, so 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
@@ -149,7 +157,11 @@ This configuration option is an integer define.
.. rubric:: DEFAULT VALUE:
-The default value is :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
+If the :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` configuration option is not defined and
+:c:macro:`BSP_IDLE_TASK_STACK_SIZE` is provided by the
+:term:`BSP`, then the default value is defined by
+:c:macro:`BSP_IDLE_TASK_STACK_SIZE`, otherwise the default value is
+defined by the :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE` configuration option.
.. rubric:: DESCRIPTION:
--
2.35.3
More information about the devel
mailing list