24.20. 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
CONFIGURE_DISABLE_BSP_SETTINGS configuration option.
24.20.1. 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 CONFIGURE_DISABLE_BSP_SETTINGS is undefined,
then the value of this configuration option defines the default value of 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.
24.20.2. 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 typesize_t.
- DESCRIPTION:
If
this configuration option is defined by the BSP
and CONFIGURE_DISABLE_BSP_SETTINGS is undefined,
then the value of this configuration option defines the default value of CONFIGURE_IDLE_TASK_SIZE.
- NOTES:
None.
24.20.3. 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
rtems_extensions_table.- DESCRIPTION:
If
this configuration option is defined by the BSP
and 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.
24.20.4. 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 typesize_t.It shall be aligned according to
CPU_INTERRUPT_STACK_ALIGNMENT.
- DESCRIPTION:
If
this configuration option is defined by the BSP
and CONFIGURE_DISABLE_BSP_SETTINGS is undefined,
then the value of this configuration option defines the default value of CONFIGURE_INTERRUPT_STACK_SIZE.
- NOTES:
None.
24.20.5. 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
rtems_extensions_table.- DESCRIPTION:
If
this configuration option is defined by the BSP
and 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 CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS).
24.20.6. 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:
- NOTES:
None.
24.20.7. 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 CONFIGURE_DISABLE_BSP_SETTINGS is undefined,
then not all memory is made available to the C Program Heap immediately at system initialization time. When
malloc()or other standard memory allocation functions are unable to allocate memory, they will call the BSP suppliedsbrk()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.