RTEMS Logo

RTEMS 4.8.0 On-Line Library


Configuring a System RTEMS API Configuration Table

PREV UP NEXT Bookshelf RTEMS C User's Guide

23.4: RTEMS API Configuration Table

The RTEMS API Configuration Table is used to configure the managers which constitute the RTEMS API for a particular application. For example, the user can configure the maximum number of tasks for this application. The RTEMS API Configuration Table is defined in the following C structure:

typedef struct {
  uint32_t  maximum_tasks;
  uint32_t  maximum_timers;
  uint32_t  maximum_semaphores;
  uint32_t  maximum_message_queues;
  uint32_t  maximum_partitions;
  uint32_t  maximum_regions;
  uint32_t  maximum_ports;
  uint32_t  maximum_periods;
  uint32_t  maximum_barriers;
  uint32_t  number_of_initialization_tasks;
  rtems_initialization_tasks_table *User_initialization_tasks_table;
} rtems_api_configuration_table;
maximum_tasks
is the maximum number of tasks that can be concurrently active (created) in the system including initialization tasks. When using the rtems/confdefs.h mechanism for configuring an RTEMS application, the value for this field corresponds to the setting of the macro CONFIGURE_MAXIMUM_TASKS. If not defined by the application, then the CONFIGURE_MAXIMUM_TASKS macro defaults to 10.
maximum_timers
is the maximum number of timers that can be concurrently active in the system. When using the rtems/confdefs.h mechanism for configuring an RTEMS application, the value for this field corresponds to the setting of the macro CONFIGURE_MAXIMUM_TIMERS. If not defined by the application, then the CONFIGURE_MAXIMUM_TIMERS macro defaults to 0.
maximum_semaphores
is the maximum number of semaphores that can be concurrently active in the system. When using the rtems/confdefs.h mechanism for configuring an RTEMS application, the value for this field corresponds to the setting of the macro CONFIGURE_MAXIMUM_SEMAPHORES. If not defined by the application, then the CONFIGURE_MAXIMUM_SEMAPHORES macro defaults to 0.
maximum_message_queues
is the maximum number of message queues that can be concurrently active in the system. When using the rtems/confdefs.h mechanism for configuring an RTEMS application, the value for this field corresponds to the setting of the macro CONFIGURE_MAXIMUM_MESSAGE_QUEUES. If not defined by the application, then the CONFIGURE_MAXIMUM_MESSAGE_QUEUES macro defaults to 0.
maximum_partitions
is the maximum number of partitions that can be concurrently active in the system. When using the rtems/confdefs.h mechanism for configuring an RTEMS application, the value for this field corresponds to the setting of the macro CONFIGURE_MAXIMUM_PARTITIONS. If not defined by the application, then the CONFIGURE_MAXIMUM_PARTITIONS macro defaults to 0.
maximum_regions
is the maximum number of regions that can be concurrently active in the system. When using the rtems/confdefs.h mechanism for configuring an RTEMS application, the value for this field corresponds to the setting of the macro CONFIGURE_MAXIMUM_REGIONS. If not defined by the application, then the CONFIGURE_MAXIMUM_REGIONS macro defaults to 0.
maximum_ports
is the maximum number of ports into dual-port memory areas that can be concurrently active in the system. When using the rtems/confdefs.h mechanism for configuring an RTEMS application, the value for this field corresponds to the setting of the macro CONFIGURE_MAXIMUM_PORTS. If not defined by the application, then the CONFIGURE_MAXIMUM_PORTS macro defaults to 0.
number_of_initialization_tasks
is the number of initialization tasks configured. At least one RTEMS initialization task or POSIX initializatin must be configured in order for the user's application to begin executing. When using the rtems/confdefs.h mechanism for configuring an RTEMS application, the user must define the CONFIGURE_RTEMS_INIT_TASKS_TABLE to indicate that there is one or more RTEMS initialization task. If the application only has one RTEMS initialization task, then the automatically generated Initialization Task Table will be sufficient. The following macros correspond to the single initialization task:

has the option to have value for this field corresponds to the setting of the macro .

User_initialization_tasks_table
is the address of the Initialization Task Table. This table contains the information needed to create and start each of the initialization tasks. The format of this table will be discussed below. When using the rtems/confdefs.h mechanism for configuring an RTEMS application, the value for this field corresponds to the setting of the macro CONFIGURE_EXECUTIVE_RAM_WORK_AREA.


PREV UP NEXT Bookshelf RTEMS C User's Guide

Copyright © 1988-2007OAR Corporation