diff options
Diffstat (limited to 'c-user/config/bsp-related.rst')
-rw-r--r-- | c-user/config/bsp-related.rst | 332 |
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. |