RTEMS CPU Kit with SuperCore
4.11.3
|
RTEMS Classic API. More...
![]() |
Modules | |
Configuration | |
This encapsulates functionality related to the application's configuration of the Classic API including the maximum number of each class of objects. | |
ASR Support | |
Asynchronous Signal Handler. | |
Attributes | |
Object Attributes Handler. | |
Barriers | |
Classic API Barrier Manager. | |
Cache | |
The Cache Manager provides functions to perform maintenance operations for data and instruction caches. | |
Clocks | |
Clock Manager API. | |
Dual Ported Memory | |
Dual Ported Memory Manager. | |
Events | |
Information Related to Event Manager. | |
Event MP Support | |
Event Manager MP Support. | |
Interrupts | |
Header file for Interrupt Manager. | |
Message Queues | |
Message Queue Manager. | |
Modes | |
RTEMS thread and RTEMS_ASR modes. | |
Multiprocessing | |
Multiprocessing Manager. | |
Object Class Information | |
Classic API interfaces to Object Services. | |
Classic API Options | |
Options Available on Many Directives. | |
Partitions | |
Partition Manager. | |
Rate Monotonic Scheduler | |
Classic API Rate Monotonic Manager. | |
Regions | |
Region Manager. | |
RTEMS API Support | |
RTEMS API Support. | |
Semaphores | |
This encapsulates functionality related to the Classic API Semaphore Manager. | |
Semaphore MP Support | |
Semaphore Manager MP Support. | |
Signals | |
Directives provided are: | |
SMP Services | |
This encapsulates functionality which is useful for SMP applications. | |
Status Codes | |
Status Codes Returned from Executive Directives. | |
Workspace | |
Classic API support. | |
Task MP Support | |
Task Manager MP Support. | |
Tasks | |
RTEMS Tasks. | |
Timers | |
Instantiate RTEMS Timer Data. | |
Types | |
Types used by Classic API. | |
Chains | |
Chain API. | |
Free-Running Counter and Busy Wait Delay | |
Free-running counter and busy wait delay functions. | |
User Extensions | |
The User Extensions Manager allows the application developer to augment the executive by allowing them to supply extension routines which are invoked at critical system events. | |
Fatal | |
The Fatal Manager provides functions for fatal system states and or irrecoverable errors. | |
Input/Output | |
Red-Black Tree Heap | |
Red-Black Tree Heap API. | |
Red-Black Trees | |
A Red-Black Tree container. | |
Timespec | |
Timespec API. | |
Files | |
file | taskgetnote.c |
RTEMS Get Task Node. | |
file | workspacegreedy.c |
Greedy Allocate that Empties the Workspace and Free. | |
file | exinit.c |
Initialization Manager. | |
file | getversionstring.c |
Get the RTEMS Version as a String. | |
file | posixapi.c |
Initialize POSIX API. | |
file | rtemsapi.c |
Initializes the RTEMS API. | |
Data Structures | |
struct | rtems_time_of_day |
Data structure to manage and manipulate calendar time. More... | |
Macros | |
#define | RTEMS_MILLISECONDS_TO_MICROSECONDS(_ms) ((uint32_t)(_ms) * 1000UL) |
Returns the number of micro seconds for the milli seconds value _ms. | |
#define | RTEMS_MILLISECONDS_TO_TICKS(_ms) |
Returns the number of ticks for the milli seconds value _ms. More... | |
#define | RTEMS_MICROSECONDS_TO_TICKS(_us) ((_us) / rtems_configuration_get_microseconds_per_tick()) |
Returns the number of ticks for the micro seconds value _us. | |
#define | RTEMS_ID_NONE OBJECTS_ID_NONE |
Invalid object identifier value. More... | |
#define | RTEMS_HAS_HARDWARE_FP CPU_HARDWARE_FP |
Indicates whether this processor variant has hardware floating point support. | |
#define | RTEMS_SEARCH_ALL_NODES OBJECTS_SEARCH_ALL_NODES |
Indicates that a search is across all nodes. | |
#define | RTEMS_SEARCH_OTHER_NODES OBJECTS_SEARCH_OTHER_NODES |
Indicates that a search is across all nodes except the one the call is made from. | |
#define | RTEMS_SEARCH_LOCAL_NODE OBJECTS_SEARCH_LOCAL_NODE |
Indicates that the search is to be restricted to the local node. | |
#define | RTEMS_WHO_AM_I OBJECTS_WHO_AM_I |
Indicates that the caller wants to obtain the name of the currently executing thread. More... | |
#define | RTEMS_OBJECT_ID_INITIAL_INDEX OBJECTS_ID_INITIAL_INDEX |
Lowest valid index value for the index portion of an object identifier. | |
#define | RTEMS_OBJECT_ID_FINAL_INDEX OBJECTS_ID_FINAL_INDEX |
Maximum valid index value for the index portion of an object identifier. | |
#define | RTEMS_OBJECT_ID_INITIAL(_api, _class, _node) OBJECTS_ID_INITIAL(_api, _class, _node) |
Returns the identifier of the object with the lowest valid index value. More... | |
#define | RTEMS_OBJECT_ID_FINAL OBJECTS_ID_FINAL |
Maximum valid object identifier. | |
#define | RTEMS_MINIMUM_STACK_SIZE STACK_MINIMUM_SIZE |
Minimum stack size which every thread must exceed. More... | |
#define | RTEMS_CONFIGURED_MINIMUM_STACK_SIZE 0 |
Specifies that the task should be created with the configured minimum stack size. More... | |
#define | RTEMS_NO_TIMEOUT WATCHDOG_NO_TIMEOUT |
Constant for indefinite wait. More... | |
#define | RTEMS_MINIMUM_PACKET_SIZE MP_PACKET_MINIMUM_PACKET_SIZE |
An MPCI must support packets of at least this size. | |
#define | RTEMS_MINIMUN_HETERO_CONVERSION MP_PACKET_MINIMUN_HETERO_CONVERSION |
Defines the count of uint32_t numbers in a packet which must be converted to native format in a heterogeneous system. More... | |
Typedefs | |
typedef uint32_t | rtems_name |
Classic API object name type. More... | |
typedef Objects_Id | rtems_id |
Used to manage and manipulate RTEMS object identifiers. | |
typedef Context_Control | rtems_context |
Public name for task context area. | |
typedef Context_Control_fp | rtems_context_fp |
Public name for task floating point context area. | |
typedef CPU_Interrupt_frame | rtems_interrupt_frame |
Defines the format of the interrupt stack frame as it appears to a user ISR. More... | |
typedef Heap_Information_block | region_information_block |
Information structure returned by the Heap Handler via the Region Manager. | |
typedef Watchdog_Interval | rtems_interval |
Used to manage and manipulate intervals specified by clock ticks. | |
typedef struct timespec | rtems_thread_cpu_usage_t |
Represents the CPU usage per thread. More... | |
typedef Modes_Control | rtems_mode |
Task mode type. | |
Functions | |
RTEMS_INLINE_ROUTINE bool | rtems_is_name_valid (rtems_name name) |
Returns true if the name is valid, and false otherwise. | |
RTEMS_INLINE_ROUTINE void | rtems_name_to_characters (rtems_name name, char *c1, char *c2, char *c3, char *c4) |
Breaks the object name into the four component characters c1, c2, c3, and c4. | |
const char * | rtems_get_version_string (void) |
Returns the pointer to the RTEMS version string. | |
RTEMS Classic API.
RTEMS Classic API definitions and modules.
the Public Interface to the RTEMS Classic API
#define RTEMS_CONFIGURED_MINIMUM_STACK_SIZE 0 |
Specifies that the task should be created with the configured minimum stack size.
Using this constant when specifying the task stack size indicates that this task is to be created with a stack size of the minimum stack size that was configured by the application. If not explicitly configured by the application, the default configured minimum stack size is the processor dependent value RTEMS_MINIMUM_STACK_SIZE. Since this uses the configured minimum stack size value, you may get a stack size that is smaller or larger than the recommended minimum. This can be used to provide large stacks for all tasks on complex applications or small stacks on applications that are trying to conserve memory.
#define RTEMS_ID_NONE OBJECTS_ID_NONE |
Invalid object identifier value.
No object can have this identifier value.
Referenced by rtems_telnetd_initialize().
#define RTEMS_MILLISECONDS_TO_TICKS | ( | _ms | ) |
Returns the number of ticks for the milli seconds value _ms.
#define RTEMS_MINIMUM_STACK_SIZE STACK_MINIMUM_SIZE |
Minimum stack size which every thread must exceed.
It is the minimum stack size recommended for use on this processor. This value is selected by the RTEMS developers conservatively to minimize the risk of blown stacks for most user applications. Using this constant when specifying the task stack size, indicates that the stack size will be at least RTEMS_MINIMUM_STACK_SIZE bytes in size. If the user configured minimum stack size is larger than the recommended minimum, then it will be used.
#define RTEMS_MINIMUN_HETERO_CONVERSION MP_PACKET_MINIMUN_HETERO_CONVERSION |
Defines the count of uint32_t
numbers in a packet which must be converted to native format in a heterogeneous system.
In packets longer than this value, some of the extra data may be a user message buffer which is not automatically endian swapped.
#define RTEMS_NO_TIMEOUT WATCHDOG_NO_TIMEOUT |
Constant for indefinite wait.
This is actually an illegal interval value.
Referenced by i2c_bus_obtain(), rtems_termios_device_close(), rtems_termios_device_open(), and rtems_termios_device_remove().
#define RTEMS_OBJECT_ID_INITIAL | ( | _api, | |
_class, | |||
_node | |||
) | OBJECTS_ID_INITIAL(_api, _class, _node) |
Returns the identifier of the object with the lowest valid index value.
The object is specified by the API _api, the object class _class and the node _node where the object resides.
#define RTEMS_WHO_AM_I OBJECTS_WHO_AM_I |
Indicates that the caller wants to obtain the name of the currently executing thread.
This constant is only meaningful when obtaining the name of a task.
Defines the format of the interrupt stack frame as it appears to a user ISR.
This data structure may not be defined on all ports
typedef uint32_t rtems_name |
Classic API object name type.
Contains the name of a Classic API object. It is an unsigned 32-bit integer which can be treated as a numeric value or initialized using rtems_build_name() to contain four ASCII characters.
typedef struct timespec rtems_thread_cpu_usage_t |
Represents the CPU usage per thread.
When using nanoseconds granularity timing, RTEMS may internally use a variety of representations.