From cf9f2121577b11f8eab5e49c48173c46cf09c627 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 17 Nov 2021 08:46:56 +0100 Subject: c-user: Clarify BSP related configuration settings --- 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(-) (limited to 'c-user') 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: -- cgit v1.2.3