RTEMS
Files | Classes | Macros | Typedefs | Functions
Application Configuration

This group contains defines and macros to create an application configuration as well as functions to get values of the application configuration. More...

Files

file  config.h
 This header file defines parts of the application configuration information API.
 
file  config.h
 This header file defines parts of the application configuration information API.
 

Classes

struct  rtems_api_configuration_table
 This structure contains a summary of the Classic API configuration. More...
 

Macros

#define rtems_configuration_get_stack_allocator_avoids_work_space()   _Stack_Allocator_avoids_workspace
 Returns true, if the thread stack allocator avoids the RTEMS Workspace, otherwise returns false.
 
#define RTEMS_UNLIMITED_OBJECTS   OBJECTS_UNLIMITED_OBJECTS
 This flag is used in resource numbers to indicate an unlimited resource.
 
#define rtems_configuration_get_do_zero_of_workspace()   _Memory_Zero_before_use
 Returns true, if the RTEMS Workspace is zeroed during system initialization for this application, otherwise returns false.
 
#define rtems_configuration_get_idle_task()   _Thread_Idle_body
 Returns the IDLE task entry of this application.
 
#define rtems_configuration_get_idle_task_stack_size()   _Thread_Idle_stack_size
 Returns the IDLE task stack size in bytes of this application.
 
#define rtems_configuration_get_interrupt_stack_size()   ((size_t) _ISR_Stack_size)
 Returns the interrupt stack size in bytes of this application.
 
#define rtems_configuration_get_maximum_processors()   _SMP_Processor_configured_maximum
 Returns the maximum number of processors which are configured for this application. More...
 
#define rtems_configuration_get_microseconds_per_tick()   _Watchdog_Microseconds_per_tick
 Returns the number of microseconds per clock tick configured for this application.
 
#define rtems_configuration_get_milliseconds_per_tick()   (_Watchdog_Microseconds_per_tick / 1000)
 Returns the number of milliseconds per clock tick configured for this application.
 
#define rtems_configuration_get_nanoseconds_per_tick()   _Watchdog_Nanoseconds_per_tick
 Returns the number of microseconds per clock tick configured for this application.
 
#define rtems_configuration_get_number_of_initial_extensions()   ((uint32_t) _User_extensions_Initial_count)
 Returns the number of initial extensions configured for this application.
 
#define rtems_configuration_get_stack_allocate_hook()   _Stack_Allocator_allocate
 Returns the thread stack allocator allocate hook.
 
#define rtems_configuration_get_stack_allocate_init_hook()   _Stack_Allocator_initialize
 Returns the thread stack allocator initialization hook.
 
#define rtems_configuration_get_stack_free_hook()   _Stack_Allocator_free
 Returns the thread stack allocator free hook.
 
#define rtems_configuration_get_ticks_per_timeslice()   _Watchdog_Ticks_per_timeslice
 Returns the clock ticks per timeslice configured for this application.
 
#define rtems_configuration_get_unified_work_area()   _Workspace_Is_unified
 Returns true, if the RTEMS Workspace and C Program Heap are unified, otherwise returns false.
 
#define rtems_configuration_get_user_extension_table()   _User_extensions_Initial_extensions
 Returns the pointer to the initial extensions table configured for this application.
 
#define rtems_configuration_get_user_multiprocessing_table()   NULL
 Returns the pointer to the MPCI configuration table configured for this application.
 
#define rtems_configuration_get_work_space_size()
 Returns the RTEMS Workspace size in bytes configured for this application. More...
 
#define RTEMS_HAS_HARDWARE_FP   CPU_HARDWARE_FP
 This constant evaluates to TRUE, if the this processor variant has hardware floating point support, otherwise evaluates to FALSE.
 
#define rtems_resource_is_unlimited(_resource)   _Objects_Is_unlimited(_resource)
 Returns true, if the resource is unlimited, otherwise returns false. More...
 
#define rtems_resource_maximum_per_allocation(_resource)   _Objects_Maximum_per_allocation(_resource)
 Returns the maximum number per allocation of a resource number. More...
 
#define rtems_resource_unlimited(_resource)   ((_resource) | RTEMS_UNLIMITED_OBJECTS)
 Returns the resource number configured for unlimited resources. More...
 

Typedefs

typedef Stack_Allocator_allocate rtems_stack_allocate_hook
 Thread stack allocator allocate handlers shall have this type.
 
typedef Stack_Allocator_initialize rtems_stack_allocate_init_hook
 Thread stack allocator initialization handlers shall have this type.
 
typedef Stack_Allocator_free rtems_stack_free_hook
 Thread stack allocator free handlers shall have this type.
 

Functions

uintptr_t rtems_configuration_get_stack_space_size (void)
 Returns the thread stack space size in bytes of configured for this application.
 
const char * rtems_get_copyright_notice (void)
 Returns the pointer to the RTEMS copyright notice.
 
uint32_t rtems_configuration_get_maximum_extensions (void)
 Returns the maximum number of Classic API User Extensions which are configured for this application.
 
const char * rtems_get_version_string (void)
 Returns the pointer to the RTEMS version string.
 
const rtems_api_configuration_tablertems_configuration_get_rtems_api_configuration (void)
 Returns the pointer to the Classic API Configuration Table of this application.
 
uint32_t rtems_configuration_get_maximum_barriers (void)
 Returns the maximum number of Classic API Barriers which are configured for this application.
 
uint32_t rtems_configuration_get_maximum_message_queues (void)
 Returns the maximum number of Classic API Message Queues which are configured for this application.
 
uint32_t rtems_configuration_get_maximum_partitions (void)
 Returns the maximum number of Classic API Partitions which are configured for this application.
 
uint32_t rtems_configuration_get_maximum_periods (void)
 Returns the maximum number of Classic API Rate Monotonic Periods which are configured for this application.
 
uint32_t rtems_configuration_get_maximum_ports (void)
 Returns the maximum number of Classic API Dual Ported Memory Areas which are configured for this application.
 
uint32_t rtems_configuration_get_maximum_regions (void)
 Returns the maximum number of Classic API Regions which are configured for this application.
 
uint32_t rtems_configuration_get_maximum_semaphores (void)
 Returns the maximum number of Classic API Semaphores which are configured for this application.
 
uint32_t rtems_configuration_get_maximum_tasks (void)
 Returns the maximum number of Classic API Tasks which are configured for this application.
 
uint32_t rtems_configuration_get_maximum_timers (void)
 Returns the maximum number of Classic API Timers which are configured for this application.
 

Detailed Description

This group contains defines and macros to create an application configuration as well as functions to get values of the application configuration.

Macro Definition Documentation

◆ rtems_configuration_get_maximum_processors

#define rtems_configuration_get_maximum_processors ( )    _SMP_Processor_configured_maximum

Returns the maximum number of processors which are configured for this application.

The actual number of processors available to the application is returned by rtems_scheduler_get_processor_maximum(). It will be less than or equal to the configured maximum number of processors.

In uniprocessor configurations, this macro is a compile time constant which evaluates to one.

Definition at line 194 of file config.h.

◆ rtems_configuration_get_work_space_size

#define rtems_configuration_get_work_space_size ( )
Value:
#define rtems_configuration_get_stack_allocator_avoids_work_space()
Returns true, if the thread stack allocator avoids the RTEMS Workspace, otherwise returns false...
Definition: config.h:109
uintptr_t rtems_configuration_get_stack_space_size(void)
Returns the thread stack space size in bytes of configured for this application.
const uintptr_t _Workspace_Size
The workspace size in bytes.

Returns the RTEMS Workspace size in bytes configured for this application.

Definition at line 333 of file config.h.

◆ rtems_resource_is_unlimited

#define rtems_resource_is_unlimited (   _resource)    _Objects_Is_unlimited(_resource)

Returns true, if the resource is unlimited, otherwise returns false.

This function is implemented as a macro and can be used to define compile time constants.

Parameters
_resourceis the resource number.

Definition at line 360 of file config.h.

◆ rtems_resource_maximum_per_allocation

#define rtems_resource_maximum_per_allocation (   _resource)    _Objects_Maximum_per_allocation(_resource)

Returns the maximum number per allocation of a resource number.

This function is implemented as a macro and can be used to define compile time constants.

Parameters
_resourceis the resource number.

Definition at line 375 of file config.h.

◆ rtems_resource_unlimited

#define rtems_resource_unlimited (   _resource)    ((_resource) | RTEMS_UNLIMITED_OBJECTS)

Returns the resource number configured for unlimited resources.

This function is implemented as a macro and can be used to define compile time constants.

Parameters
_resourceis the resource number.

Definition at line 390 of file config.h.