RTEMS Documentation Project
RTEMS Classic API Guide
5.2-rc1
1. Preface
2. Overview
2.1. Introduction
2.2. Real-time Application Systems
2.3. Real-time Executive
2.4. RTEMS Application Architecture
2.5. RTEMS Internal Architecture
2.6. User Customization and Extensibility
2.7. Portability
2.8. Memory Requirements
2.9. Audience
2.10. Conventions
2.11. Manual Organization
3. Key Concepts
3.1. Introduction
3.2. Objects
3.2.1. Object Names
3.2.2. Object IDs
3.2.2.1. Object ID Format
3.2.3. Object ID Description
3.3. Communication and Synchronization
3.4. Locking Protocols
3.4.1. Priority Inversion
3.4.2. Immediate Ceiling Priority Protocol (ICPP)
3.4.3. Priority Inheritance Protocol
3.4.4. Multiprocessor Resource Sharing Protocol (MrsP)
3.4.5. O(m) Independence-Preserving Protocol (OMIP)
3.5. Thread Queues
3.6. Time
3.7. Timer and Timeouts
3.8. Memory Management
4. RTEMS Data Types
4.1. Introduction
4.2. List of Data Types
5. Scheduling Concepts
5.1. Introduction
5.1.1. Scheduling Algorithms
5.1.2. Priority Scheduling
5.2. Uniprocessor Schedulers
5.2.1. Deterministic Priority Scheduler
5.2.2. Simple Priority Scheduler
5.2.3. Earliest Deadline First Scheduler
5.2.4. Constant Bandwidth Server Scheduling (CBS)
5.3. SMP Schedulers
5.3.1. Earliest Deadline First SMP Scheduler
5.3.2. Deterministic Priority SMP Scheduler
5.3.3. Simple Priority SMP Scheduler
5.3.4. Arbitrary Processor Affinity Priority SMP Scheduler
5.4. Scheduling Modification Mechanisms
5.4.1. Task Priority and Scheduling
5.4.2. Preemption
5.4.3. Timeslicing
5.4.4. Manual Round-Robin
5.5. Dispatching Tasks
5.6. Task State Transitions
5.7. Directives
5.7.1. SCHEDULER_IDENT - Get ID of a scheduler
5.7.2. SCHEDULER_IDENT_BY_PROCESSOR - Get ID of a scheduler by processor
5.7.3. SCHEDULER_IDENT_BY_PROCESSOR_SET - Get ID of a scheduler by processor set
5.7.4. SCHEDULER_GET_MAXIMUM_PRIORITY - Get maximum task priority of a scheduler
5.7.5. SCHEDULER_MAP_PRIORITY_TO_POSIX - Map task priority to POSIX thread prority
5.7.6. SCHEDULER_MAP_PRIORITY_FROM_POSIX - Map POSIX thread prority to task priority
5.7.7. SCHEDULER_GET_PROCESSOR - Get current processor index
5.7.8. SCHEDULER_GET_PROCESSOR_MAXIMUM - Get processor maximum
5.7.9. SCHEDULER_GET_PROCESSOR_SET - Get processor set of a scheduler
5.7.10. SCHEDULER_ADD_PROCESSOR - Add processor to a scheduler
5.7.11. SCHEDULER_REMOVE_PROCESSOR - Remove processor from a scheduler
6. Initialization Manager
6.1. Introduction
6.2. Background
6.2.1. Initialization Tasks
6.2.2. The Idle Task
6.2.3. Initialization Manager Failure
6.3. Operations
6.3.1. Initializing RTEMS
6.3.2. Global Construction
6.4. Directives
6.4.1. INITIALIZE_EXECUTIVE - Initialize RTEMS
7. Task Manager
7.1. Introduction
7.2. Background
7.2.1. Task Definition
7.2.2. Task Control Block
7.2.3. Task Memory
7.2.4. Task Name
7.2.5. Task States
7.2.6. Task Priority
7.2.7. Task Mode
7.2.8. Accessing Task Arguments
7.2.9. Floating Point Considerations
7.2.10. Building a Task Attribute Set
7.2.11. Building a Mode and Mask
7.3. Operations
7.3.1. Creating Tasks
7.3.2. Obtaining Task IDs
7.3.3. Starting and Restarting Tasks
7.3.4. Suspending and Resuming Tasks
7.3.5. Delaying the Currently Executing Task
7.3.6. Changing Task Priority
7.3.7. Changing Task Mode
7.3.8. Task Deletion
7.3.9. Setting Affinity to a Single Processor
7.3.10. Transition Advice for Removed Notepads
7.3.11. Transition Advice for Removed Task Variables
7.4. Directives
7.4.1. TASK_CREATE - Create a task
7.4.2. TASK_IDENT - Get ID of a task
7.4.3. TASK_SELF - Obtain ID of caller
7.4.4. TASK_START - Start a task
7.4.5. TASK_RESTART - Restart a task
7.4.6. TASK_DELETE - Delete a task
7.4.7. TASK_EXIT - Delete the calling task
7.4.8. TASK_SUSPEND - Suspend a task
7.4.9. TASK_RESUME - Resume a task
7.4.10. TASK_IS_SUSPENDED - Determine if a task is Suspended
7.4.11. TASK_SET_PRIORITY - Set task priority
7.4.12. TASK_GET_PRIORITY - Get task priority
7.4.13. TASK_MODE - Change the current task mode
7.4.14. TASK_WAKE_AFTER - Wake up after interval
7.4.15. TASK_WAKE_WHEN - Wake up when specified
7.4.16. TASK_GET_SCHEDULER - Get scheduler of a task
7.4.17. TASK_SET_SCHEDULER - Set scheduler of a task
7.4.18. TASK_GET_AFFINITY - Get task processor affinity
7.4.19. TASK_SET_AFFINITY - Set task processor affinity
7.4.20. TASK_ITERATE - Iterate Over Tasks
7.5. Deprecated Directives
7.5.1. ITERATE_OVER_ALL_THREADS - Iterate Over Tasks
7.6. Removed Directives
7.6.1. TASK_GET_NOTE - Get task notepad entry
7.6.2. TASK_SET_NOTE - Set task notepad entry
7.6.3. TASK_VARIABLE_ADD - Associate per task variable
7.6.4. TASK_VARIABLE_GET - Obtain value of a per task variable
7.6.5. TASK_VARIABLE_DELETE - Remove per task variable
8. Interrupt Manager
8.1. Introduction
8.2. Background
8.2.1. Processing an Interrupt
8.2.2. RTEMS Interrupt Levels
8.2.3. Disabling of Interrupts by RTEMS
8.3. Operations
8.3.1. Establishing an ISR
8.3.2. Directives Allowed from an ISR
8.4. Directives
8.4.1. INTERRUPT_CATCH - Establish an ISR
8.4.2. INTERRUPT_DISABLE - Disable Interrupts
8.4.3. INTERRUPT_ENABLE - Restore Interrupt Level
8.4.4. INTERRUPT_FLASH - Flash Interrupts
8.4.5. INTERRUPT_LOCAL_DISABLE - Disable Interrupts on Current Processor
8.4.6. INTERRUPT_LOCAL_ENABLE - Restore Interrupt Level on Current Processor
8.4.7. INTERRUPT_LOCK_INITIALIZE - Initialize an ISR Lock
8.4.8. INTERRUPT_LOCK_ACQUIRE - Acquire an ISR Lock
8.4.9. INTERRUPT_LOCK_RELEASE - Release an ISR Lock
8.4.10. INTERRUPT_LOCK_ACQUIRE_ISR - Acquire an ISR Lock from ISR
8.4.11. INTERRUPT_LOCK_RELEASE_ISR - Release an ISR Lock from ISR
8.4.12. INTERRUPT_IS_IN_PROGRESS - Is an ISR in Progress
9. Clock Manager
9.1. Introduction
9.2. Background
9.2.1. Required Support
9.2.2. Time and Date Data Structures
9.2.3. Clock Tick and Timeslicing
9.2.4. Delays
9.2.5. Timeouts
9.3. Operations
9.3.1. Announcing a Tick
9.3.2. Setting the Time
9.3.3. Obtaining the Time
9.3.4. Transition Advice for the Removed rtems_clock_get()
9.4. Directives
9.4.1. CLOCK_SET - Set date and time
9.4.2. CLOCK_GET_TOD - Get date and time in TOD format
9.4.3. CLOCK_GET_TOD_TIMEVAL - Get date and time in timeval format
9.4.4. CLOCK_GET_SECONDS_SINCE_EPOCH - Get seconds since epoch
9.4.5. CLOCK_GET_TICKS_PER_SECOND - Get ticks per second
9.4.6. CLOCK_GET_TICKS_SINCE_BOOT - Get current ticks counter value
9.4.7. CLOCK_TICK_LATER - Get tick value in the future
9.4.8. CLOCK_TICK_LATER_USEC - Get tick value in the future in microseconds
9.4.9. CLOCK_TICK_BEFORE - Is tick value is before a point in time
9.4.10. CLOCK_GET_UPTIME - Get the time since boot
9.4.11. CLOCK_GET_UPTIME_TIMEVAL - Get the time since boot in timeval format
9.4.12. CLOCK_GET_UPTIME_SECONDS - Get the seconds since boot
9.4.13. CLOCK_GET_UPTIME_NANOSECONDS - Get the nanoseconds since boot
9.5. Removed Directives
9.5.1. CLOCK_GET - Get date and time information
10. Timer Manager
10.1. Introduction
10.2. Background
10.2.1. Required Support
10.2.2. Timers
10.2.3. Timer Server
10.2.4. Timer Service Routines
10.3. Operations
10.3.1. Creating a Timer
10.3.2. Obtaining Timer IDs
10.3.3. Initiating an Interval Timer
10.3.4. Initiating a Time of Day Timer
10.3.5. Canceling a Timer
10.3.6. Resetting a Timer
10.3.7. Initiating the Timer Server
10.3.8. Deleting a Timer
10.4. Directives
10.4.1. TIMER_CREATE - Create a timer
10.4.2. TIMER_IDENT - Get ID of a timer
10.4.3. TIMER_CANCEL - Cancel a timer
10.4.4. TIMER_DELETE - Delete a timer
10.4.5. TIMER_FIRE_AFTER - Fire timer after interval
10.4.6. TIMER_FIRE_WHEN - Fire timer when specified
10.4.7. TIMER_INITIATE_SERVER - Initiate server for task-based timers
10.4.8. TIMER_SERVER_FIRE_AFTER - Fire task-based timer after interval
10.4.9. TIMER_SERVER_FIRE_WHEN - Fire task-based timer when specified
10.4.10. TIMER_RESET - Reset an interval timer
11. Rate Monotonic Manager
11.1. Introduction
11.2. Background
11.2.1. Rate Monotonic Manager Required Support
11.2.2. Period Statistics
11.2.3. Periodicity Definitions
11.2.4. Rate Monotonic Scheduling Algorithm
11.2.5. Schedulability Analysis
11.2.5.1. Assumptions
11.2.5.2. Processor Utilization Rule
11.2.5.3. Processor Utilization Rule Example
11.2.5.4. First Deadline Rule
11.2.5.5. First Deadline Rule Example
11.2.5.6. Relaxation of Assumptions
11.3. Operations
11.3.1. Creating a Rate Monotonic Period
11.3.2. Manipulating a Period
11.3.3. Obtaining the Status of a Period
11.3.4. Canceling a Period
11.3.5. Deleting a Rate Monotonic Period
11.3.6. Examples
11.3.7. Simple Periodic Task
11.3.8. Task with Multiple Periods
11.4. Directives
11.4.1. RATE_MONOTONIC_CREATE - Create a rate monotonic period
11.4.2. RATE_MONOTONIC_IDENT - Get ID of a period
11.4.3. RATE_MONOTONIC_CANCEL - Cancel a period
11.4.4. RATE_MONOTONIC_DELETE - Delete a rate monotonic period
11.4.5. RATE_MONOTONIC_PERIOD - Conclude current/Start next period
11.4.6. RATE_MONOTONIC_GET_STATUS - Obtain status from a period
11.4.7. RATE_MONOTONIC_GET_STATISTICS - Obtain statistics from a period
11.4.8. RATE_MONOTONIC_RESET_STATISTICS - Reset statistics for a period
11.4.9. RATE_MONOTONIC_RESET_ALL_STATISTICS - Reset statistics for all periods
11.4.10. RATE_MONOTONIC_REPORT_STATISTICS - Print period statistics report
12. Semaphore Manager
12.1. Introduction
12.2. Background
12.2.1. Nested Resource Access
12.2.2. Priority Inheritance
12.2.3. Priority Ceiling
12.2.4. Multiprocessor Resource Sharing Protocol
12.2.5. Building a Semaphore Attribute Set
12.2.6. Building a SEMAPHORE_OBTAIN Option Set
12.3. Operations
12.3.1. Creating a Semaphore
12.3.2. Obtaining Semaphore IDs
12.3.3. Acquiring a Semaphore
12.3.4. Releasing a Semaphore
12.3.5. Deleting a Semaphore
12.4. Directives
12.4.1. SEMAPHORE_CREATE - Create a semaphore
12.4.2. SEMAPHORE_IDENT - Get ID of a semaphore
12.4.3. SEMAPHORE_DELETE - Delete a semaphore
12.4.4. SEMAPHORE_OBTAIN - Acquire a semaphore
12.4.5. SEMAPHORE_RELEASE - Release a semaphore
12.4.6. SEMAPHORE_FLUSH - Unblock all tasks waiting on a semaphore
12.4.7. SEMAPHORE_SET_PRIORITY - Set priority by scheduler for a semaphore
13. Barrier Manager
13.1. Introduction
13.2. Background
13.2.1. Automatic Versus Manual Barriers
13.2.2. Building a Barrier Attribute Set
13.3. Operations
13.3.1. Creating a Barrier
13.3.2. Obtaining Barrier IDs
13.3.3. Waiting at a Barrier
13.3.4. Releasing a Barrier
13.3.5. Deleting a Barrier
13.4. Directives
13.4.1. BARRIER_CREATE - Create a barrier
13.4.2. BARRIER_IDENT - Get ID of a barrier
13.4.3. BARRIER_DELETE - Delete a barrier
13.4.4. BARRIER_WAIT - Wait at a barrier
13.4.5. BARRIER_RELEASE - Release a barrier
14. Message Manager
14.1. Introduction
14.2. Background
14.2.1. Messages
14.2.2. Message Queues
14.2.3. Building a Message Queue Attribute Set
14.2.4. Building a MESSAGE_QUEUE_RECEIVE Option Set
14.3. Operations
14.3.1. Creating a Message Queue
14.3.2. Obtaining Message Queue IDs
14.3.3. Receiving a Message
14.3.4. Sending a Message
14.3.5. Broadcasting a Message
14.3.6. Deleting a Message Queue
14.4. Directives
14.4.1. MESSAGE_QUEUE_CREATE - Create a queue
14.4.2. MESSAGE_QUEUE_IDENT - Get ID of a queue
14.4.3. MESSAGE_QUEUE_DELETE - Delete a queue
14.4.4. MESSAGE_QUEUE_SEND - Put message at rear of a queue
14.4.5. MESSAGE_QUEUE_URGENT - Put message at front of a queue
14.4.6. MESSAGE_QUEUE_BROADCAST - Broadcast N messages to a queue
14.4.7. MESSAGE_QUEUE_RECEIVE - Receive message from a queue
14.4.8. MESSAGE_QUEUE_GET_NUMBER_PENDING - Get number of messages pending on a queue
14.4.9. MESSAGE_QUEUE_FLUSH - Flush all messages on a queue
15. Event Manager
15.1. Introduction
15.2. Background
15.2.1. Event Sets
15.2.2. Building an Event Set or Condition
15.2.3. Building an EVENT_RECEIVE Option Set
15.3. Operations
15.3.1. Sending an Event Set
15.3.2. Receiving an Event Set
15.3.3. Determining the Pending Event Set
15.3.4. Receiving all Pending Events
15.4. Directives
15.4.1. EVENT_SEND - Send event set to a task
15.4.2. EVENT_RECEIVE - Receive event condition
16. Signal Manager
16.1. Introduction
16.2. Background
16.2.1. Signal Manager Definitions
16.2.2. A Comparison of ASRs and ISRs
16.2.3. Building a Signal Set
16.2.4. Building an ASR Mode
16.3. Operations
16.3.1. Establishing an ASR
16.3.2. Sending a Signal Set
16.3.3. Processing an ASR
16.4. Directives
16.4.1. SIGNAL_CATCH - Establish an ASR
16.4.2. SIGNAL_SEND - Send signal set to a task
17. Partition Manager
17.1. Introduction
17.2. Background
17.2.1. Partition Manager Definitions
17.2.2. Building a Partition Attribute Set
17.3. Operations
17.3.1. Creating a Partition
17.3.2. Obtaining Partition IDs
17.3.3. Acquiring a Buffer
17.3.4. Releasing a Buffer
17.3.5. Deleting a Partition
17.4. Directives
17.4.1. PARTITION_CREATE - Create a partition
17.4.2. PARTITION_IDENT - Get ID of a partition
17.4.3. PARTITION_DELETE - Delete a partition
17.4.4. PARTITION_GET_BUFFER - Get buffer from a partition
17.4.5. PARTITION_RETURN_BUFFER - Return buffer to a partition
18. Region Manager
18.1. Introduction
18.2. Background
18.2.1. Region Manager Definitions
18.2.2. Building an Attribute Set
18.2.3. Building an Option Set
18.3. Operations
18.3.1. Creating a Region
18.3.2. Obtaining Region IDs
18.3.3. Adding Memory to a Region
18.3.4. Acquiring a Segment
18.3.5. Releasing a Segment
18.3.6. Obtaining the Size of a Segment
18.3.7. Changing the Size of a Segment
18.3.8. Deleting a Region
18.4. Directives
18.4.1. REGION_CREATE - Create a region
18.4.2. REGION_IDENT - Get ID of a region
18.4.3. REGION_DELETE - Delete a region
18.4.4. REGION_EXTEND - Add memory to a region
18.4.5. REGION_GET_SEGMENT - Get segment from a region
18.4.6. REGION_RETURN_SEGMENT - Return segment to a region
18.4.7. REGION_GET_SEGMENT_SIZE - Obtain size of a segment
18.4.8. REGION_RESIZE_SEGMENT - Change size of a segment
18.4.9. REGION_GET_INFORMATION - Get region information
18.4.10. REGION_GET_FREE_INFORMATION - Get region free information
19. Dual-Ported Memory Manager
19.1. Introduction
19.2. Background
19.3. Operations
19.3.1. Creating a Port
19.3.2. Obtaining Port IDs
19.3.3. Converting an Address
19.3.4. Deleting a DPMA Port
19.4. Directives
19.4.1. PORT_CREATE - Create a port
19.4.2. PORT_IDENT - Get ID of a port
19.4.3. PORT_DELETE - Delete a port
19.4.4. PORT_EXTERNAL_TO_INTERNAL - Convert external to internal address
19.4.5. PORT_INTERNAL_TO_EXTERNAL - Convert internal to external address
20. I/O Manager
20.1. Introduction
20.2. Background
20.2.1. Device Driver Table
20.2.2. Major and Minor Device Numbers
20.2.3. Device Names
20.2.4. Device Driver Environment
20.2.5. Runtime Driver Registration
20.2.6. Device Driver Interface
20.2.7. Device Driver Initialization
20.3. Operations
20.3.1. Register and Lookup Name
20.3.2. Accessing an Device Driver
20.4. Directives
20.4.1. IO_REGISTER_DRIVER - Register a device driver
20.4.2. IO_UNREGISTER_DRIVER - Unregister a device driver
20.4.3. IO_INITIALIZE - Initialize a device driver
20.4.4. IO_REGISTER_NAME - Register a device
20.4.5. IO_LOOKUP_NAME - Lookup a device
20.4.6. IO_OPEN - Open a device
20.4.7. IO_CLOSE - Close a device
20.4.8. IO_READ - Read from a device
20.4.9. IO_WRITE - Write to a device
20.4.10. IO_CONTROL - Special device services
21. Fatal Error Manager
21.1. Introduction
21.2. Background
21.2.1. Overview
21.2.2. Fatal Sources
21.2.3. Internal Error Codes
21.3. Operations
21.3.1. Announcing a Fatal Error
21.4. Directives
21.4.1. FATAL - Invoke the fatal error handler
21.4.2. PANIC - Print a message and invoke the fatal error handler
21.4.3. SHUTDOWN_EXECUTIVE - Shutdown RTEMS
21.4.4. EXCEPTION_FRAME_PRINT - Prints the exception frame
21.4.5. FATAL_SOURCE_TEXT - Returns a text for a fatal source
21.4.6. INTERNAL_ERROR_TEXT - Returns a text for an internal error code
21.4.7. FATAL_ERROR_OCCURRED - Invoke the fatal error handler (deprecated)
22. Board Support Packages
22.1. Introduction
22.2. Reset and Initialization
22.2.1. Interrupt Stack Requirements
22.2.2. Processors with a Separate Interrupt Stack
22.2.3. Processors Without a Separate Interrupt Stack
22.3. Device Drivers
22.3.1. Clock Tick Device Driver
22.4. User Extensions
22.5. Multiprocessor Communications Interface (MPCI)
22.5.1. Tightly-Coupled Systems
22.5.2. Loosely-Coupled Systems
22.5.3. Systems with Mixed Coupling
22.5.4. Heterogeneous Systems
23. User Extensions Manager
23.1. Introduction
23.2. Background
23.2.1. Extension Sets
23.2.2. TCB Extension Area
23.2.3. Order of Invocation
23.2.4. Thread Create Extension
23.2.5. Thread Start Extension
23.2.6. Thread Restart Extension
23.2.7. Thread Switch Extension
23.2.8. Thread Begin Extension
23.2.9. Thread Exitted Extension
23.2.10. Thread Termination Extension
23.2.11. Thread Delete Extension
23.2.12. Fatal Error Extension
23.3. Directives
23.3.1. EXTENSION_CREATE - Create a extension set
23.3.2. EXTENSION_IDENT - Get ID of a extension set
23.3.3. EXTENSION_DELETE - Delete a extension set
24. Configuring a System
24.1. Introduction
24.2. Default Value Selection Philosophy
24.3. Sizing the RTEMS Workspace
24.4. Potential Issues with RTEMS Workspace Size Estimation
24.5. Configuration Example
24.6. Unlimited Objects
24.6.1. Unlimited Objects by Class
24.6.2. Unlimited Objects by Default
24.7. General System Configuration
24.7.1. CONFIGURE_DIRTY_MEMORY
24.7.2. CONFIGURE_DISABLE_NEWLIB_REENTRANCY
24.7.3. CONFIGURE_EXECUTIVE_RAM_SIZE
24.7.4. CONFIGURE_EXTRA_TASK_STACKS
24.7.5. CONFIGURE_INITIAL_EXTENSIONS
24.7.6. CONFIGURE_INTERRUPT_STACK_SIZE
24.7.7. CONFIGURE_MALLOC_DIRTY
24.7.8. CONFIGURE_MAXIMUM_FILE_DESCRIPTORS
24.7.9. CONFIGURE_MAXIMUM_PROCESSORS
24.7.10. CONFIGURE_MAXIMUM_THREAD_NAME_SIZE
24.7.11. CONFIGURE_MEMORY_OVERHEAD
24.7.12. CONFIGURE_MESSAGE_BUFFER_MEMORY
24.7.13. CONFIGURE_MICROSECONDS_PER_TICK
24.7.14. CONFIGURE_MINIMUM_TASK_STACK_SIZE
24.7.15. CONFIGURE_STACK_CHECKER_ENABLED
24.7.16. CONFIGURE_TICKS_PER_TIMESLICE
24.7.17. CONFIGURE_UNIFIED_WORK_AREAS
24.7.18. CONFIGURE_UNLIMITED_ALLOCATION_SIZE
24.7.19. CONFIGURE_UNLIMITED_OBJECTS
24.7.20. CONFIGURE_VERBOSE_SYSTEM_INITIALIZATION
24.7.21. CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY
24.8. Device Driver Configuration
24.8.1. CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
24.8.2. CONFIGURE_APPLICATION_EXTRA_DRIVERS
24.8.3. CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
24.8.4. CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
24.8.5. CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
24.8.6. CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
24.8.7. CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
24.8.8. CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
24.8.9. CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
24.8.10. CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
24.8.11. CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
24.8.12. CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
24.8.13. CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
24.8.14. CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
24.8.15. CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
24.8.16. CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
24.8.17. CONFIGURE_ATA_DRIVER_TASK_PRIORITY
24.8.18. CONFIGURE_MAXIMUM_DRIVERS
24.9. Classic API Configuration
24.9.1. CONFIGURE_MAXIMUM_BARRIERS
24.9.2. CONFIGURE_MAXIMUM_MESSAGE_QUEUES
24.9.3. CONFIGURE_MAXIMUM_PARTITIONS
24.9.4. CONFIGURE_MAXIMUM_PERIODS
24.9.5. CONFIGURE_MAXIMUM_PORTS
24.9.6. CONFIGURE_MAXIMUM_REGIONS
24.9.7. CONFIGURE_MAXIMUM_SEMAPHORES
24.9.8. CONFIGURE_MAXIMUM_TASKS
24.9.9. CONFIGURE_MAXIMUM_TIMERS
24.9.10. CONFIGURE_MAXIMUM_USER_EXTENSIONS
24.10. Classic API Initialization Task Configuration
24.10.1. CONFIGURE_INIT_TASK_ARGUMENTS
24.10.2. CONFIGURE_INIT_TASK_ATTRIBUTES
24.10.3. CONFIGURE_INIT_TASK_ENTRY_POINT
24.10.4. CONFIGURE_INIT_TASK_INITIAL_MODES
24.10.5. CONFIGURE_INIT_TASK_NAME
24.10.6. CONFIGURE_INIT_TASK_PRIORITY
24.10.7. CONFIGURE_INIT_TASK_STACK_SIZE
24.10.8. CONFIGURE_RTEMS_INIT_TASKS_TABLE
24.11. POSIX API Configuration
24.11.1. CONFIGURE_MAXIMUM_POSIX_KEYS
24.11.2. CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS
24.11.3. CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
24.11.4. CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS
24.11.5. CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
24.11.6. CONFIGURE_MAXIMUM_POSIX_SHMS
24.11.7. CONFIGURE_MAXIMUM_POSIX_THREADS
24.11.8. CONFIGURE_MAXIMUM_POSIX_TIMERS
24.11.9. CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE
24.12. POSIX Initialization Thread Configuration
24.12.1. CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
24.12.2. CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE
24.12.3. CONFIGURE_POSIX_INIT_THREAD_TABLE
24.13. Event Recording Configuration
24.13.1. CONFIGURE_RECORD_EXTENSIONS_ENABLED
24.13.2. CONFIGURE_RECORD_FATAL_DUMP_BASE64
24.13.3. CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB
24.13.4. CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
24.14. Filesystem Configuration
24.14.1. CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
24.14.2. CONFIGURE_FILESYSTEM_ALL
24.14.3. CONFIGURE_FILESYSTEM_DOSFS
24.14.4. CONFIGURE_FILESYSTEM_FTPFS
24.14.5. CONFIGURE_FILESYSTEM_IMFS
24.14.6. CONFIGURE_FILESYSTEM_JFFS2
24.14.7. CONFIGURE_FILESYSTEM_NFS
24.14.8. CONFIGURE_FILESYSTEM_RFS
24.14.9. CONFIGURE_FILESYSTEM_TFTPFS
24.14.10. CONFIGURE_IMFS_DISABLE_CHMOD
24.14.11. CONFIGURE_IMFS_DISABLE_CHOWN
24.14.12. CONFIGURE_IMFS_DISABLE_LINK
24.14.13. CONFIGURE_IMFS_DISABLE_MKNOD
24.14.14. CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE
24.14.15. CONFIGURE_IMFS_DISABLE_MKNOD_FILE
24.14.16. CONFIGURE_IMFS_DISABLE_MOUNT
24.14.17. CONFIGURE_IMFS_DISABLE_READDIR
24.14.18. CONFIGURE_IMFS_DISABLE_READLINK
24.14.19. CONFIGURE_IMFS_DISABLE_RENAME
24.14.20. CONFIGURE_IMFS_DISABLE_RMNOD
24.14.21. CONFIGURE_IMFS_DISABLE_SYMLINK
24.14.22. CONFIGURE_IMFS_DISABLE_UNMOUNT
24.14.23. CONFIGURE_IMFS_DISABLE_UTIME
24.14.24. CONFIGURE_IMFS_ENABLE_MKFIFO
24.14.25. CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK
24.14.26. CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
24.14.27. CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
24.15. Block Device Cache Configuration
24.15.1. CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
24.15.2. CONFIGURE_BDBUF_BUFFER_MAX_SIZE
24.15.3. CONFIGURE_BDBUF_BUFFER_MIN_SIZE
24.15.4. CONFIGURE_BDBUF_CACHE_MEMORY_SIZE
24.15.5. CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS
24.15.6. CONFIGURE_BDBUF_MAX_WRITE_BLOCKS
24.15.7. CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY
24.15.8. CONFIGURE_BDBUF_TASK_STACK_SIZE
24.15.9. CONFIGURE_SWAPOUT_BLOCK_HOLD
24.15.10. CONFIGURE_SWAPOUT_SWAP_PERIOD
24.15.11. CONFIGURE_SWAPOUT_TASK_PRIORITY
24.15.12. CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY
24.15.13. CONFIGURE_SWAPOUT_WORKER_TASKS
24.16. Task Stack Allocator Configuration
24.16.1. CONFIGURE_TASK_STACK_ALLOCATOR
24.16.2. CONFIGURE_TASK_STACK_ALLOCATOR_INIT
24.16.3. CONFIGURE_TASK_STACK_DEALLOCATOR
24.16.4. CONFIGURE_TASK_STACK_FROM_ALLOCATOR
24.16.5. CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE
24.16.6. CONFIGURE_TASK_STACK_ALLOCATOR_FOR_IDLE
24.17. Idle Task Configuration
24.17.1. CONFIGURE_IDLE_TASK_BODY
24.17.2. CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
24.17.3. CONFIGURE_IDLE_TASK_STACK_SIZE
24.18. General Scheduler Configuration
24.18.1. CONFIGURE_CBS_MAXIMUM_SERVERS
24.18.2. CONFIGURE_MAXIMUM_PRIORITY
24.18.3. CONFIGURE_SCHEDULER_ASSIGNMENTS
24.18.4. CONFIGURE_SCHEDULER_CBS
24.18.5. CONFIGURE_SCHEDULER_EDF
24.18.6. CONFIGURE_SCHEDULER_EDF_SMP
24.18.7. CONFIGURE_SCHEDULER_NAME
24.18.8. CONFIGURE_SCHEDULER_PRIORITY
24.18.9. CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP
24.18.10. CONFIGURE_SCHEDULER_PRIORITY_SMP
24.18.11. CONFIGURE_SCHEDULER_SIMPLE
24.18.12. CONFIGURE_SCHEDULER_SIMPLE_SMP
24.18.13. CONFIGURE_SCHEDULER_STRONG_APA
24.18.14. CONFIGURE_SCHEDULER_USER
24.19. Clustered Scheduler Configuration
24.19.1. Configuration Step 1 - Scheduler Algorithms
24.19.2. Configuration Step 2 - Schedulers
24.19.3. Configuration Step 3 - Scheduler Table
24.19.4. Configuration Step 4 - Processor to Scheduler Assignment
24.19.5. Configuration Example
24.19.6. Configuration Errors
24.20. BSP Related Configuration Options
24.20.1. BSP_IDLE_TASK_BODY
24.20.2. BSP_IDLE_TASK_STACK_SIZE
24.20.3. BSP_INITIAL_EXTENSION
24.20.4. BSP_INTERRUPT_STACK_SIZE
24.20.5. CONFIGURE_BSP_PREREQUISITE_DRIVERS
24.20.6. CONFIGURE_DISABLE_BSP_SETTINGS
24.20.7. CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
24.21. Multiprocessing Configuration
24.21.1. CONFIGURE_MP_APPLICATION
24.21.2. CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK
24.21.3. CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS
24.21.4. CONFIGURE_MP_MAXIMUM_NODES
24.21.5. CONFIGURE_MP_MAXIMUM_PROXIES
24.21.6. CONFIGURE_MP_MPCI_TABLE_POINTER
24.21.7. CONFIGURE_MP_NODE_NUMBER
24.22. PCI Library Configuration
24.23. Ada Configuration
24.24. Obsolete Configuration Options
24.24.1. CONFIGURE_BDBUF_BUFFER_COUNT
24.24.2. CONFIGURE_BDBUF_BUFFER_SIZE
24.24.3. CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS
24.24.4. CONFIGURE_ENABLE_GO
24.24.5. CONFIGURE_GNAT_RTEMS
24.24.6. CONFIGURE_HAS_OWN_CONFIGURATION_TABLE
24.24.7. CONFIGURE_HAS_OWN_BDBUF_TABLE
24.24.8. CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
24.24.9. CONFIGURE_HAS_OWN_INIT_TASK_TABLE
24.24.10. CONFIGURE_HAS_OWN_MOUNT_TABLE
24.24.11. CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLE
24.24.12. CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
24.24.13. CONFIGURE_MAXIMUM_ADA_TASKS
24.24.14. CONFIGURE_MAXIMUM_DEVICES
24.24.15. CONFIGURE_MAXIMUM_FAKE_ADA_TASKS
24.24.16. CONFIGURE_MAXIMUM_GO_CHANNELS
24.24.17. CONFIGURE_MAXIMUM_GOROUTINES
24.24.18. CONFIGURE_MAXIMUM_MRSP_SEMAPHORES
24.24.19. CONFIGURE_NUMBER_OF_TERMIOS_PORTS
24.24.20. CONFIGURE_MAXIMUM_POSIX_BARRIERS
24.24.21. CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES
24.24.22. CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUE_DESCRIPTORS
24.24.23. CONFIGURE_MAXIMUM_POSIX_MUTEXES
24.24.24. CONFIGURE_MAXIMUM_POSIX_RWLOCKS
24.24.25. CONFIGURE_MAXIMUM_POSIX_SPINLOCKS
24.24.26. CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE
24.24.27. CONFIGURE_SMP_APPLICATION
24.24.28. CONFIGURE_SMP_MAXIMUM_PROCESSORS
24.24.29. CONFIGURE_TERMIOS_DISABLED
25. Self-Contained Objects
25.1. Introduction
25.2. RTEMS Thread API
25.3. Mutual Exclusion
25.3.1. Static mutex initialization
25.3.2. Run-time mutex initialization
25.3.3. Lock the mutex
25.3.4. Unlock the mutex
25.3.5. Set mutex name
25.3.6. Get mutex name
25.3.7. Mutex destruction
25.4. Condition Variables
25.4.1. Static condition variable initialization
25.4.2. Run-time condition variable initialization
25.4.3. Wait for condition signal
25.4.4. Signals a condition change
25.4.5. Broadcasts a condition change
25.4.6. Set condition variable name
25.4.7. Get condition variable name
25.4.8. Condition variable destruction
25.5. Counting Semaphores
25.5.1. Static counting semaphore initialization
25.5.2. Run-time counting semaphore initialization
25.5.3. Wait for a counting semaphore
25.5.4. Post a counting semaphore
25.5.5. Set counting semaphore name
25.5.6. Get counting semaphore name
25.5.7. Counting semaphore destruction
25.6. Binary Semaphores
25.6.1. Static binary semaphore initialization
25.6.2. Run-time binary semaphore initialization
25.6.3. Wait for a binary semaphore
25.6.4. Wait for a binary semaphore with timeout in ticks
25.6.5. Tries to wait for a binary semaphore
25.6.6. Post a binary semaphore
25.6.7. Set binary semaphore name
25.6.8. Get binary semaphore name
25.6.9. Binary semaphore destruction
25.7. Threads
26. Multiprocessing Manager
26.1. Introduction
26.2. Background
26.2.1. Nodes
26.2.2. Global Objects
26.2.3. Global Object Table
26.2.4. Remote Operations
26.2.5. Proxies
26.2.6. Multiprocessor Configuration Table
26.3. Multiprocessor Communications Interface Layer
26.3.1. INITIALIZATION
26.3.2. GET_PACKET
26.3.3. RETURN_PACKET
26.3.4. RECEIVE_PACKET
26.3.5. SEND_PACKET
26.3.6. Supporting Heterogeneous Environments
26.4. Operations
26.4.1. Announcing a Packet
26.5. Directives
26.5.1. MULTIPROCESSING_ANNOUNCE - Announce the arrival of a packet
27. Symmetric Multiprocessing (SMP)
27.1. Introduction
27.2. Background
27.2.1. Application Configuration
27.2.2. Examples
27.2.3. Uniprocessor versus SMP Parallelism
27.2.4. Task Affinity
27.2.5. Task Migration
27.2.6. Clustered Scheduling
27.2.7. OpenMP
27.2.8. Atomic Operations
27.3. Application Issues
27.3.1. Task variables
27.3.2. Highest Priority Thread Never Walks Alone
27.3.3. Disabling of Thread Preemption
27.3.4. Disabling of Interrupts
27.3.5. Interrupt Service Routines Execute in Parallel With Threads
27.3.6. Timers Do Not Stop Immediately
27.3.7. False Sharing of Cache Lines Due to Objects Table
27.4. Implementation Details
27.4.1. Low-Level Synchronization
27.4.2. Internal Locking
27.4.3. Profiling
27.4.4. Scheduler Helping Protocol
27.4.5. Thread Dispatch Details
27.4.6. Per-Processor Data
27.4.7. Thread Pinning
28. PCI Library
28.1. Introduction
28.2. Background
28.2.1. Software Components
28.2.2. PCI Configuration
28.2.2.1. RTEMS Configuration selection
28.2.2.2. Auto Configuration
28.2.2.3. Read Configuration
28.2.2.4. Static Configuration
28.2.2.5. Peripheral Configuration
28.2.3. PCI Access
28.2.3.1. Configuration space
28.2.3.2. I/O space
28.2.3.3. Registers over Memory space
28.2.3.4. Access functions
28.2.3.5. PCI address translation
28.2.4. PCI Interrupt
28.2.5. PCI Shell command
29. Stack Bounds Checker
29.1. Introduction
29.2. Background
29.2.1. Task Stack
29.2.2. Execution
29.3. Operations
29.3.1. Initializing the Stack Bounds Checker
29.3.2. Checking for Blown Task Stack
29.3.3. Reporting Task Stack Usage
29.3.4. When a Task Overflows the Stack
29.4. Routines
29.4.1. STACK_CHECKER_IS_BLOWN - Has Current Task Blown Its Stack
29.4.2. STACK_CHECKER_REPORT_USAGE - Report Task Stack Usage
30. CPU Usage Statistics
30.1. Introduction
30.2. Background
30.3. Operations
30.3.1. Report CPU Usage Statistics
30.3.2. Reset CPU Usage Statistics
30.4. Directives
30.4.1. cpu_usage_report - Report CPU Usage Statistics
30.4.2. cpu_usage_reset - Reset CPU Usage Statistics
31. Object Services
31.1. Introduction
31.2. Background
31.2.1. APIs
31.2.2. Object Classes
31.2.3. Object Names
31.3. Operations
31.3.1. Decomposing and Recomposing an Object Id
31.3.2. Printing an Object Id
31.4. Directives
31.4.1. BUILD_NAME - Build object name from characters
31.4.2. OBJECT_GET_CLASSIC_NAME - Lookup name from id
31.4.3. OBJECT_GET_NAME - Obtain object name as string
31.4.4. OBJECT_SET_NAME - Set object name
31.4.5. OBJECT_ID_GET_API - Obtain API from Id
31.4.6. OBJECT_ID_GET_CLASS - Obtain Class from Id
31.4.7. OBJECT_ID_GET_NODE - Obtain Node from Id
31.4.8. OBJECT_ID_GET_INDEX - Obtain Index from Id
31.4.9. BUILD_ID - Build Object Id From Components
31.4.10. OBJECT_ID_API_MINIMUM - Obtain Minimum API Value
31.4.11. OBJECT_ID_API_MAXIMUM - Obtain Maximum API Value
31.4.12. OBJECT_API_MINIMUM_CLASS - Obtain Minimum Class Value
31.4.13. OBJECT_API_MAXIMUM_CLASS - Obtain Maximum Class Value
31.4.14. OBJECT_ID_API_MINIMUM_CLASS - Obtain Minimum Class Value for an API
31.4.15. OBJECT_ID_API_MAXIMUM_CLASS - Obtain Maximum Class Value for an API
31.4.16. OBJECT_GET_API_NAME - Obtain API Name
31.4.17. OBJECT_GET_API_CLASS_NAME - Obtain Class Name
31.4.18. OBJECT_GET_CLASS_INFORMATION - Obtain Class Information
31.4.19. OBJECT_GET_LOCAL_NODE - Obtain Local Node
32. Chains
32.1. Introduction
32.2. Background
32.2.1. Nodes
32.2.2. Controls
32.3. Operations
32.3.1. Multi-threading
32.3.2. Creating a Chain
32.3.3. Iterating a Chain
32.4. Directives
32.4.1. Initialize Chain With Nodes
32.4.2. Initialize Empty
32.4.3. Is Null Node ?
32.4.4. Head
32.4.5. Tail
32.4.6. Are Two Nodes Equal ?
32.4.7. Is the Chain Empty
32.4.8. Is this the First Node on the Chain ?
32.4.9. Is this the Last Node on the Chain ?
32.4.10. Does this Chain have only One Node ?
32.4.11. Returns the node count of the chain (unprotected)
32.4.12. Is this Node the Chain Head ?
32.4.13. Is this Node the Chain Tail ?
32.4.14. Extract a Node
32.4.15. Extract a Node (unprotected)
32.4.16. Get the First Node
32.4.17. Get the First Node (unprotected)
32.4.18. Insert a Node
32.4.19. Insert a Node (unprotected)
32.4.20. Append a Node
32.4.21. Append a Node (unprotected)
32.4.22. Prepend a Node
32.4.23. Prepend a Node (unprotected)
33. Red-Black Trees
33.1. Introduction
33.2. Background
33.2.1. Nodes
33.2.2. Controls
33.3. Operations
33.4. Directives
33.4.1. Documentation for the Red-Black Tree Directives
34. Timespec Helpers
34.1. Introduction
34.2. Background
34.2.1. Time Storage Conventions
34.3. Operations
34.3.1. Set and Obtain Timespec Value
34.3.2. Timespec Math
34.3.3. Comparing struct timespec Instances
34.3.4. Conversions and Validity Check
34.4. Directives
34.4.1. TIMESPEC_SET - Set struct timespec Instance
34.4.2. TIMESPEC_ZERO - Zero struct timespec Instance
34.4.3. TIMESPEC_IS_VALID - Check validity of a struct timespec instance
34.4.4. TIMESPEC_ADD_TO - Add Two struct timespec Instances
34.4.5. TIMESPEC_SUBTRACT - Subtract Two struct timespec Instances
34.4.6. TIMESPEC_DIVIDE - Divide Two struct timespec Instances
34.4.7. TIMESPEC_DIVIDE_BY_INTEGER - Divide a struct timespec Instance by an Integer
34.4.8. TIMESPEC_LESS_THAN - Less than operator
34.4.9. TIMESPEC_GREATER_THAN - Greater than operator
34.4.10. TIMESPEC_EQUAL_TO - Check equality of timespecs
34.4.11. TIMESPEC_GET_SECONDS - Get Seconds Portion of struct timespec Instance
34.4.12. TIMESPEC_GET_NANOSECONDS - Get Nanoseconds Portion of the struct timespec Instance
34.4.13. TIMESPEC_TO_TICKS - Convert struct timespec Instance to Ticks
34.4.14. TIMESPEC_FROM_TICKS - Convert Ticks to struct timespec Representation
35. Constant Bandwidth Server Scheduler API
35.1. Introduction
35.2. Background
35.2.1. Constant Bandwidth Server Definitions
35.2.2. Handling Periodic Tasks
35.2.3. Registering a Callback Function
35.2.4. Limitations
35.3. Operations
35.3.1. Setting up a server
35.3.2. Attaching Task to a Server
35.3.3. Detaching Task from a Server
35.3.4. Examples
35.4. Directives
35.4.1. CBS_INITIALIZE - Initialize the CBS library
35.4.2. CBS_CLEANUP - Cleanup the CBS library
35.4.3. CBS_CREATE_SERVER - Create a new bandwidth server
35.4.4. CBS_ATTACH_THREAD - Attach a thread to server
35.4.5. CBS_DETACH_THREAD - Detach a thread from server
35.4.6. CBS_DESTROY_SERVER - Destroy a bandwidth server
35.4.7. CBS_GET_SERVER_ID - Get an ID of a server
35.4.8. CBS_GET_PARAMETERS - Get scheduling parameters of a server
35.4.9. CBS_SET_PARAMETERS - Set scheduling parameters
35.4.10. CBS_GET_EXECUTION_TIME - Get elapsed execution time
35.4.11. CBS_GET_REMAINING_BUDGET - Get remaining execution time
35.4.12. CBS_GET_APPROVED_BUDGET - Get scheduler approved execution time
36. Ada Support
36.1. Introduction
36.2. Ada Programming Language Support
36.3. Classic API Ada Bindings
37. Linker Sets
37.1. Introduction
37.2. Background
37.3. Directives
37.3.1. RTEMS_LINKER_SET_BEGIN - Designator of the linker set begin marker
37.3.2. RTEMS_LINKER_SET_END - Designator of the linker set end marker
37.3.3. RTEMS_LINKER_SET_SIZE - The linker set size in characters
37.3.4. RTEMS_LINKER_SET_ITEM_COUNT - The linker set item count
37.3.5. RTEMS_LINKER_SET_IS_EMPTY - Is the linker set empty?
37.3.6. RTEMS_LINKER_SET_FOREACH - Iterate through the linker set items
37.3.7. RTEMS_LINKER_ROSET_DECLARE - Declares a read-only linker set
37.3.8. RTEMS_LINKER_ROSET - Defines a read-only linker set
37.3.9. RTEMS_LINKER_ROSET_ITEM_DECLARE - Declares a read-only linker set item
37.3.10. RTEMS_LINKER_ROSET_ITEM_ORDERED_DECLARE - Declares an ordered read-only linker set item
37.3.11. RTEMS_LINKER_ROSET_ITEM_REFERENCE - References a read-only linker set item
37.3.12. RTEMS_LINKER_ROSET_ITEM - Defines a read-only linker set item
37.3.13. RTEMS_LINKER_ROSET_ITEM_ORDERED - Defines an ordered read-only linker set item
37.3.14. RTEMS_LINKER_ROSET_CONTENT - Marks a declaration as a read-only linker set content
37.3.15. RTEMS_LINKER_RWSET_DECLARE - Declares a read-write linker set
37.3.16. RTEMS_LINKER_RWSET - Defines a read-write linker set
37.3.17. RTEMS_LINKER_RWSET_ITEM_DECLARE - Declares a read-write linker set item
37.3.18. RTEMS_LINKER_RWSET_ITEM_ORDERED_DECLARE - Declares an ordered read-write linker set item
37.3.19. RTEMS_LINKER_RWSET_ITEM_REFERENCE - References a read-write linker set item
37.3.20. RTEMS_LINKER_RWSET_ITEM - Defines a read-write linker set item
37.3.21. RTEMS_LINKER_RWSET_ITEM_ORDERED - Defines an ordered read-write linker set item
37.3.22. RTEMS_LINKER_RWSET_CONTENT - Marks a declaration as a read-write linker set content
38. Directive Status Codes
38.1. Introduction
38.2. Directives
38.2.1. STATUS_TEXT - Returns the enumeration name for a status code
39. Example Application
40. Glossary
41. References
Index
RTEMS Classic API Guide
»
Index
Index
Symbols
|
_
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
Y
|
Z
Symbols
/dev/null
/dev/zero
<rtems/confdefs.h>
_
_CONFIGURE_TASK_STACK_ALLOCATOR_FOR_IDLE
_Terminate
A
ABI
active
Ada
add memory
add memory to a region
announce
,
[1]
announce arrival of package
announce fatal error
,
[1]
aperiodic task
API
application
Application architecture
ASR
,
[1]
ASR mode
ASR vs. ISR
assembler language
asynchronous
Asynchronous Signal Routine
asynchronous signal routine
atomic operations
attach a thread to server
awakened
B
barrier
big endian
binary semaphores
bit-mapped
block
blocked task
Board Support Package
Board Support Packages
broadcast
broadcast message to a queue
BSP
,
[1]
BSP_IDLE_TASK_BODY
BSP_IDLE_TASK_STACK_SIZE
BSP_INITIAL_EXTENSION
BSP_INTERRUPT_STACK_SIZE
BSPs
buffer
buffers
build object id from components
build object name
building
,
[1]
,
[2]
,
[3]
,
[4]
,
[5]
,
[6]
,
[7]
C
C language
C Program Heap
C++11
C11
calling convention
cancel a period
cancel a timer
cbs
CBS limitations
CBS parameters
CCB
Central Processing Unit
chain
chain append a node
chain append a node unprotected
chain extract a node
chain extract a node unprotected
chain get first node
,
[1]
chain get head
chain get tail
chain initialize
chain initialize empty
chain insert a node
chain insert a node unprotected
chain is chain empty
chain is node null
chain is node the first
chain is node the head
chain is node the last
chain is node the tail
chain iterate
chain only one node
,
[1]
chains
chare are nodes equal
cleanup the CBS library
clear C Program Heap
clear RTEMS Workspace
clock
clock get nanoseconds uptime
clock get uptime
clock get uptime interval
clock get uptime seconds
clock tick quantum
close a device
cluster
coalesce
communication and synchronization
conclude current period
confdefs.h
Configuration Table
configure message queue buffer memory
CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
CONFIGURE_APPLICATION_EXTRA_DRIVERS
CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
CONFIGURE_ATA_DRIVER_TASK_PRIORITY
CONFIGURE_BDBUF_BUFFER_COUNT
CONFIGURE_BDBUF_BUFFER_MAX_SIZE
CONFIGURE_BDBUF_BUFFER_MIN_SIZE
CONFIGURE_BDBUF_BUFFER_SIZE
CONFIGURE_BDBUF_CACHE_MEMORY_SIZE
CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS
CONFIGURE_BDBUF_MAX_WRITE_BLOCKS
CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY
CONFIGURE_BDBUF_TASK_STACK_SIZE
CONFIGURE_BSP_PREREQUISITE_DRIVERS
CONFIGURE_CBS_MAXIMUM_SERVERS
CONFIGURE_DIRTY_MEMORY
CONFIGURE_DISABLE_BSP_SETTINGS
CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS
CONFIGURE_DISABLE_NEWLIB_REENTRANCY
CONFIGURE_ENABLE_GO
CONFIGURE_EXECUTIVE_RAM_SIZE
CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK
CONFIGURE_EXTRA_TASK_STACKS
CONFIGURE_FILESYSTEM_ALL
CONFIGURE_FILESYSTEM_DOSFS
CONFIGURE_FILESYSTEM_FTPFS
CONFIGURE_FILESYSTEM_IMFS
CONFIGURE_FILESYSTEM_JFFS2
CONFIGURE_FILESYSTEM_NFS
CONFIGURE_FILESYSTEM_RFS
CONFIGURE_FILESYSTEM_TFTPFS
CONFIGURE_GNAT_RTEMS
CONFIGURE_HAS_OWN_BDBUF_TABLE
CONFIGURE_HAS_OWN_CONFIGURATION_TABLE
CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
CONFIGURE_HAS_OWN_INIT_TASK_TABLE
CONFIGURE_HAS_OWN_MOUNT_TABLE
CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLE
CONFIGURE_IDLE_TASK_BODY
CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
CONFIGURE_IDLE_TASK_STACK_SIZE
CONFIGURE_IMFS_DISABLE_CHMOD
CONFIGURE_IMFS_DISABLE_CHOWN
CONFIGURE_IMFS_DISABLE_LINK
CONFIGURE_IMFS_DISABLE_MKNOD
CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE
CONFIGURE_IMFS_DISABLE_MKNOD_FILE
CONFIGURE_IMFS_DISABLE_MOUNT
CONFIGURE_IMFS_DISABLE_READDIR
CONFIGURE_IMFS_DISABLE_READLINK
CONFIGURE_IMFS_DISABLE_RENAME
CONFIGURE_IMFS_DISABLE_RMNOD
CONFIGURE_IMFS_DISABLE_SYMLINK
CONFIGURE_IMFS_DISABLE_UNMOUNT
CONFIGURE_IMFS_DISABLE_UTIME
CONFIGURE_IMFS_ENABLE_MKFIFO
CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK
CONFIGURE_INIT_TASK_ARGUMENTS
CONFIGURE_INIT_TASK_ATTRIBUTES
CONFIGURE_INIT_TASK_ENTRY_POINT
CONFIGURE_INIT_TASK_INITIAL_MODES
CONFIGURE_INIT_TASK_NAME
CONFIGURE_INIT_TASK_PRIORITY
CONFIGURE_INIT_TASK_STACK_SIZE
CONFIGURE_INITIAL_EXTENSIONS
CONFIGURE_INTERRUPT_STACK_SIZE
CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
CONFIGURE_MALLOC_DIRTY
CONFIGURE_MAXIMUM_ADA_TASKS
CONFIGURE_MAXIMUM_BARRIERS
CONFIGURE_MAXIMUM_DEVICES
CONFIGURE_MAXIMUM_DRIVERS
CONFIGURE_MAXIMUM_FAKE_ADA_TASKS
CONFIGURE_MAXIMUM_FILE_DESCRIPTORS
CONFIGURE_MAXIMUM_GO_CHANNELS
CONFIGURE_MAXIMUM_GOROUTINES
CONFIGURE_MAXIMUM_MESSAGE_QUEUES
CONFIGURE_MAXIMUM_MRSP_SEMAPHORES
CONFIGURE_MAXIMUM_PARTITIONS
CONFIGURE_MAXIMUM_PERIODS
CONFIGURE_MAXIMUM_PORTS
CONFIGURE_MAXIMUM_POSIX_BARRIERS
CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES
CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS
CONFIGURE_MAXIMUM_POSIX_KEYS
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUE_DESCRIPTORS
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
CONFIGURE_MAXIMUM_POSIX_MUTEXES
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS
CONFIGURE_MAXIMUM_POSIX_RWLOCKS
CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
CONFIGURE_MAXIMUM_POSIX_SHMS
CONFIGURE_MAXIMUM_POSIX_SPINLOCKS
CONFIGURE_MAXIMUM_POSIX_THREADS
CONFIGURE_MAXIMUM_POSIX_TIMERS
CONFIGURE_MAXIMUM_PRIORITY
CONFIGURE_MAXIMUM_PROCESSORS
CONFIGURE_MAXIMUM_REGIONS
CONFIGURE_MAXIMUM_SEMAPHORES
CONFIGURE_MAXIMUM_TASKS
CONFIGURE_MAXIMUM_THREAD_NAME_SIZE
CONFIGURE_MAXIMUM_TIMERS
CONFIGURE_MAXIMUM_USER_EXTENSIONS
CONFIGURE_MEMORY_OVERHEAD
CONFIGURE_MESSAGE_BUFFER_MEMORY
CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE
CONFIGURE_MICROSECONDS_PER_TICK
CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE
CONFIGURE_MINIMUM_TASK_STACK_SIZE
CONFIGURE_MP_APPLICATION
CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS
CONFIGURE_MP_MAXIMUM_NODES
CONFIGURE_MP_MAXIMUM_PROXIES
CONFIGURE_MP_MPCI_TABLE_POINTER
CONFIGURE_MP_NODE_NUMBER
CONFIGURE_NUMBER_OF_TERMIOS_PORTS
CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE
CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE
CONFIGURE_POSIX_INIT_THREAD_TABLE
CONFIGURE_RECORD_EXTENSIONS_ENABLED
CONFIGURE_RECORD_FATAL_DUMP_BASE64
CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB
CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
CONFIGURE_RTEMS_INIT_TASKS_TABLE
CONFIGURE_SCHEDULER_ASSIGNMENTS
CONFIGURE_SCHEDULER_CBS
CONFIGURE_SCHEDULER_EDF
CONFIGURE_SCHEDULER_EDF_SMP
CONFIGURE_SCHEDULER_NAME
CONFIGURE_SCHEDULER_PRIORITY
CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP
CONFIGURE_SCHEDULER_PRIORITY_SMP
CONFIGURE_SCHEDULER_SIMPLE
CONFIGURE_SCHEDULER_SIMPLE_SMP
CONFIGURE_SCHEDULER_STRONG_APA
CONFIGURE_SCHEDULER_USER
CONFIGURE_SMP_APPLICATION
CONFIGURE_SMP_MAXIMUM_PROCESSORS
CONFIGURE_STACK_CHECKER_ENABLED
CONFIGURE_SWAPOUT_BLOCK_HOLD
CONFIGURE_SWAPOUT_SWAP_PERIOD
CONFIGURE_SWAPOUT_TASK_PRIORITY
CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY
CONFIGURE_SWAPOUT_WORKER_TASKS
CONFIGURE_TASK_STACK_ALLOCATOR
CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE
CONFIGURE_TASK_STACK_ALLOCATOR_INIT
CONFIGURE_TASK_STACK_DEALLOCATOR
CONFIGURE_TASK_STACK_FROM_ALLOCATOR
CONFIGURE_TERMIOS_DISABLED
CONFIGURE_TICKS_PER_TIMESLICE
CONFIGURE_UNIFIED_WORK_AREAS
CONFIGURE_UNLIMITED_ALLOCATION_SIZE
CONFIGURE_UNLIMITED_OBJECTS
CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
CONFIGURE_VERBOSE_SYSTEM_INITIALIZATION
CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY
configuring a system
constant bandwidth server scheduling
context
context switch
control block
convert external to internal address
convert internal to external address
core
counting semaphores
CPU
CPU Usage
create a barrier
create a message queue
create a new bandwidth server
create a partition
create a period
create a port
create a region
create a semaphore
create a task
create a timer
create an extension set
critical section
CRT
current task mode
current task priority
,
[1]
D
data types
deadline
definition
,
[1]
,
[2]
,
[3]
,
[4]
,
[5]
,
[6]
,
[7]
,
[8]
,
[9]
,
[10]
,
[11]
,
[12]
,
[13]
,
[14]
,
[15]
,
[16]
,
[17]
,
[18]
delay a task for an interval
delay a task until a wall time
delays
delete a barrier
delete a message queue
delete a partition
delete a period
delete a port
delete a region
delete a semaphore
delete a timer
delete an extension set
deleting a task
,
[1]
destroy a bandwidth server
detach a thread from server
device
device driver
device driver interface
Device Driver Table
,
[1]
device drivers
device names
directives
disable interrupts
,
[1]
disabling interrupts
dispatch
dispatching
Doorstop
dormant
dual ported memory
,
[1]
dual-ported
E
earliest deadline first scheduling
EARS
ELF
embedded
enable interrupts
,
[1]
entry point
envelope
error code
establish an ASR
establish an ISR
event condition
event flag
event set
,
[1]
events
,
[1]
exception
exception frame
executing task
executive
exported
external address
external addresses
F
fatal error
,
[1]
,
[2]
,
[3]
fatal error detection
fatal error processing
fatal error user extension
fatal errors
FIFO
fire a task-based timer at wall time
fire a timer after an interval
fire a timer at wall time
fire task-based a timer after an interval
First In First Out
flash interrupts
floating point
floating point coprocessor
flush a semaphore
flush messages on a queue
freed
G
GCC
get an ID of a server
get buffer from partition
get class from object ID
get current ticks counter value
get elapsed execution time
get ID of a barrier
get ID of a message queue
get ID of a partition
get ID of a period
get ID of a port
get ID of a region
get ID of a semaphore
get ID of a task
get ID of an extension set
get index from object ID
get name from id
get node from object ID
get number of pending messages
get object name as string
get per-task variable
get remaining execution time
get scheduler approved execution time
get scheduling parameters of a server
get segment from region
get size of segment
get statistics of period
get status of period
get task mode
get task notepad entry
get task preemption mode
get task priority
,
[1]
global
global objects
global objects table
GNAT
GNU
H
handler
hard real-time system
heap
heir task
heterogeneous
heterogeneous multiprocessing
homogeneous
I
I/O
ID
IDLE task
IDLE task stack allocator
immediate ceiling priority protocol
initialization tasks
initialize a device driver
initialize RTEMS
initialize the CBS library
initiate the Timer Server
install an ASR
install an ISR
int16_t
int32_t
int64_t
int8_t
interface
internal address
internal addresses
Internal Architecture
interrupt
interrupt level
,
[1]
interrupt levels
interrupt processing
interrupt service
Interrupt Service Routine
interrupt stack size
interrupts
IO Control
IO Manager
is interrupt in progress
is task suspended
ISR
ISR vs. ASR
ISVV
iterate over all threads
K
kernel
L
libpci
linkersets
list
little endian
local
local operation
lock a semaphore
locking protocols
logical address
lookup device major and minor number
loosely-coupled
M
major device number
major number
manager
manual round robin
maximum file descriptors
maximum priority
maximum thread name size
MCS
memory for a single message queue's buffers
memory for task tasks
memory management
memory pool
message
message buffer
message queue
message queue attributes
Message Queue Control Block
message queues
messages
minimum POSIX thread stack size
minimum task stack size
minor device number
minor number
mode
MPCI
,
[1]
MPCI and remote operations
MPCI entry points
multiprocessing
,
[1]
multiprocessing topologies
multiprocessor
Multiprocessor Communications Interface Layer
Multiprocessor Configuration Table
Multiprocessor Resource Sharing Protocol (MrsP)
multitasking
mutual exclusion
,
[1]
N
nested
node
nodes
non-existent
NUMA
number of priority levels
numeric coprocessor
O
O(m) Independence-Preserving Protocol (OMIP)
object
object ID
object ID composition
object manipulation
object name
object-oriented
objects
obtain a semaphore
obtain API from id
obtain API name
obtain buffer from partition
obtain class from object id
obtain class information
obtain class name
obtain ID of a barrier
obtain ID of a partition
obtain ID of a period
obtain ID of a port
obtain ID of a region
obtain ID of a semaphore
obtain ID of an extension set
obtain ID of caller
obtain index from object id
obtain local node
obtain maximum API value
obtain maximum class value
obtain maximum class value for an API
obtain minimum API value
obtain minimum class value
obtain minimum class value for an API
obtain name from id
obtain node from object id
obtain object name as string
obtain per-task variable
obtain region information
obtain region information on free blocks
obtain seconds since epoch
,
[1]
obtain statistics of period
obtain status of period
obtain task mode
obtain task priority
,
[1]
obtain the ID of a timer
obtain the time of day
,
[1]
,
[2]
obtain ticks since boot
obtaining class from object ID
obtaining index from object ID
obtaining node from object ID
open a devive
operating system
overhead
P
packet
panic
partition
,
[1]
partition attribute set
Partition Control Block
partitions
PCI
PCI address translation
PCI Interrupt
PCI_LIB_AUTO
PCI_LIB_PERIPHERAL
PCI_LIB_READ
PCI_LIB_STATIC
pending
per-task variable
,
[1]
period initiation
period statistics report
periodic task
,
[1]
periodic tasks
physical address
poll
pool
portability
ports
posting
preempt
preemption
,
[1]
prepend node
prepend node unprotected
print period statistics report
priority
,
[1]
priority boosting
priority ceiling protocol
priority inheritance
priority inheritance protocol
priority inversion
,
[1]
priority scheduling
processor utilization
proxy
,
[1]
Proxy Control Block
PTCB
put message at front of queue
PXCB
Q
QCB
quantum
queue
R
rate mononitonic tasks
Rate Monotonic Scheduling Algorithm
rbtree doc
rbtrees
read from a device
ready task
real-time
Real-time applications
Real-time executive
receive event condition
receive message from a queue
Red-Black Trees
reentrant
region
,
[1]
,
[2]
region attribute set
Region Control Block
regions
register a device driver
register device
registers
release a barrier
release a semaphore
remote
remote operation
ReqIF
reset a timer
reset statistics of all periods
reset statistics of period
resize segment
resource
restarting a task
restore interrupt level
,
[1]
resume
resuming a task
return buffer to partitition
return code
return segment to region
return value
RMS Algorithm
RMS First Deadline Rule
RMS Processor Utilization Rule
RMS schedulability analysis
RNCB
round robin scheduling
round-robin
RS-232
RTEMS
RTEMS Data Types
rtems extensions table index
RTEMS Workspace
rtems_address
rtems_asr
,
[1]
,
[2]
rtems_asr_entry
rtems_attribute
rtems_barrier_create
rtems_barrier_delete
rtems_barrier_ident
rtems_barrier_release
rtems_barrier_wait
rtems_boolean
rtems_build_id
rtems_build_name
,
[1]
rtems_cbs_attach_thread
rtems_cbs_cleanup
rtems_cbs_create_server
rtems_cbs_destroy_server
rtems_cbs_detach_thread
rtems_cbs_get_approved_budget
rtems_cbs_get_execution_time
rtems_cbs_get_parameters
rtems_cbs_get_remaining_budget
rtems_cbs_get_server_id
rtems_cbs_initialize
rtems_cbs_parameters
rtems_cbs_set_parameters
rtems_chain_append
rtems_chain_append_unprotected
rtems_chain_are_nodes_equal
rtems_chain_extract
rtems_chain_extract_unprotected
rtems_chain_get
rtems_chain_get_unprotected
rtems_chain_has_only_one_node
rtems_chain_head
rtems_chain_initialize
rtems_chain_initialize_empty
rtems_chain_insert
rtems_chain_insert_unprotected
rtems_chain_is_empty
rtems_chain_is_first
rtems_chain_is_head
rtems_chain_is_last
rtems_chain_is_null_node
rtems_chain_is_tail
rtems_chain_node_count_unprotected
rtems_chain_prepend
rtems_chain_prepend_unprotected
rtems_chain_tail
rtems_clock_get
rtems_clock_get_options
rtems_clock_get_seconds_since_epoch
rtems_clock_get_ticks_per_second
rtems_clock_get_ticks_since_boot
rtems_clock_get_tod
rtems_clock_get_tod_timeval
rtems_clock_get_uptime
rtems_clock_get_uptime_nanoseconds
rtems_clock_get_uptime_seconds
rtems_clock_get_uptime_timeval
rtems_clock_set
rtems_clock_tick_before
rtems_clock_tick_later
rtems_clock_tick_later_usec
rtems_context
rtems_context_fp
rtems_cpu_usage_report
rtems_cpu_usage_reset
rtems_device_driver
rtems_device_driver_entry
rtems_device_major_number
,
[1]
rtems_device_minor_number
,
[1]
rtems_double
rtems_event_receive
rtems_event_send
rtems_event_set
,
[1]
rtems_exception_frame_print
rtems_extension
rtems_extension_create
rtems_extension_delete
rtems_extension_ident
rtems_extensions_table
rtems_fatal
rtems_fatal_error_occurred
rtems_fatal_extension
,
[1]
rtems_fatal_source_text
rtems_id
,
[1]
rtems_initialize_executive
rtems_internal_error_text
rtems_interrupt_catch
rtems_interrupt_disable
rtems_interrupt_enable
rtems_interrupt_flash
rtems_interrupt_frame
rtems_interrupt_is_in_progress
rtems_interrupt_level
rtems_interrupt_local_disable
rtems_interrupt_local_enable
rtems_interrupt_lock_acquire
rtems_interrupt_lock_acquire_isr
rtems_interrupt_lock_initialize
rtems_interrupt_lock_release
rtems_interrupt_lock_release_isr
rtems_interval
,
[1]
rtems_io_close
rtems_io_control
rtems_io_initialize
rtems_io_lookup_name
rtems_io_open
rtems_io_read
rtems_io_register_driver
rtems_io_register_name
rtems_io_unregister_driver
rtems_io_write
rtems_isr
,
[1]
rtems_isr_entry
rtems_iterate_over_all_threads
RTEMS_LINKER_ROSET
RTEMS_LINKER_ROSET_CONTENT
RTEMS_LINKER_ROSET_DECLARE
RTEMS_LINKER_ROSET_ITEM
RTEMS_LINKER_ROSET_ITEM_DECLARE
RTEMS_LINKER_ROSET_ITEM_ORDERED
RTEMS_LINKER_ROSET_ITEM_ORDERED_DECLARE
RTEMS_LINKER_ROSET_ITEM_REFERENCE
RTEMS_LINKER_RWSET
RTEMS_LINKER_RWSET_CONTENT
RTEMS_LINKER_RWSET_DECLARE
RTEMS_LINKER_RWSET_ITEM
RTEMS_LINKER_RWSET_ITEM_DECLARE
RTEMS_LINKER_RWSET_ITEM_ORDERED
RTEMS_LINKER_RWSET_ITEM_ORDERED_DECLARE
RTEMS_LINKER_RWSET_ITEM_REFERENCE
RTEMS_LINKER_SET_BEGIN
RTEMS_LINKER_SET_END
RTEMS_LINKER_SET_FOREACH
RTEMS_LINKER_SET_IS_EMPTY
RTEMS_LINKER_SET_ITEM_COUNT
RTEMS_LINKER_SET_SIZE
rtems_message_queue_broadcast
rtems_message_queue_create
rtems_message_queue_delete
rtems_message_queue_flush
rtems_message_queue_get_number_pending
rtems_message_queue_ident
rtems_message_queue_receive
rtems_message_queue_send
rtems_message_queue_urgent
rtems_mode
rtems_mp_packet_classes
rtems_mpci_entry
,
[1]
rtems_mpci_get_packet_entry
rtems_mpci_initialization_entry
rtems_mpci_receive_packet_entry
rtems_mpci_return_packet_entry
rtems_mpci_send_packet_entry
rtems_mpci_table
rtems_multiprocessing_announce
rtems_name
,
[1]
rtems_object_api_maximum_class
rtems_object_api_minimum_class
rtems_object_get_api_class_name
rtems_object_get_api_name
rtems_object_get_class_information
rtems_object_get_classic_name
rtems_object_get_local_node
rtems_object_get_name
,
[1]
rtems_object_id_api_maximum
rtems_object_id_api_maximum_class
rtems_object_id_api_minimum
rtems_object_id_api_minimum_class
rtems_object_id_get_api
,
[1]
rtems_object_id_get_class
,
[1]
rtems_object_id_get_index
,
[1]
rtems_object_id_get_node
,
[1]
rtems_object_set_name
rtems_option
rtems_packet_prefix
rtems_panic
rtems_partition_create
rtems_partition_delete
rtems_partition_get_buffer
rtems_partition_ident
rtems_partition_return_buffer
rtems_port_create
rtems_port_delete
rtems_port_external_to_internal
rtems_port_ident
rtems_port_internal_to_external
rtems_rate_monotonic_cancel
rtems_rate_monotonic_create
rtems_rate_monotonic_delete
rtems_rate_monotonic_get_statistics
rtems_rate_monotonic_get_status
rtems_rate_monotonic_ident
rtems_rate_monotonic_period
rtems_rate_monotonic_period_statistics
,
[1]
rtems_rate_monotonic_period_status
rtems_rate_monotonic_report_statistics
rtems_rate_monotonic_reset_all_statistics
rtems_rate_monotonic_reset_statistics
rtems_region_delete
rtems_region_extend
rtems_region_get_free_information
rtems_region_get_information
rtems_region_get_segment
rtems_region_get_segment_size
rtems_region_ident
rtems_region_resize_segment
rtems_region_return_segment
rtems_resource_is_unlimited
rtems_resource_maximum_per_allocation
rtems_resource_unlimited
rtems_semaphore_create
rtems_semaphore_delete
rtems_semaphore_flush
rtems_semaphore_ident
rtems_semaphore_obtain
rtems_semaphore_release
rtems_semaphore_set_priority
rtems_shutdown_executive
rtems_signal_catch
rtems_signal_send
rtems_signal_set
,
[1]
rtems_single
rtems_status_code
,
[1]
rtems_status_text
rtems_task
,
[1]
rtems_task_argument
rtems_task_begin_extension
,
[1]
rtems_task_create
rtems_task_create_extension
,
[1]
rtems_task_delete
rtems_task_delete_extension
,
[1]
rtems_task_entry
rtems_task_exit
rtems_task_exitted_extension
,
[1]
rtems_task_get_note
,
[1]
rtems_task_get_priority
rtems_task_ident
rtems_task_is_suspended
rtems_task_iterate
rtems_task_mode
,
[1]
rtems_task_priority
,
[1]
rtems_task_restart
rtems_task_restart_extension
,
[1]
rtems_task_resume
rtems_task_self
rtems_task_set_note
,
[1]
rtems_task_set_priority
rtems_task_start
rtems_task_start_extension
,
[1]
rtems_task_suspend
rtems_task_switch_extension
,
[1]
rtems_task_terminate_extension
rtems_task_variable_add
,
[1]
rtems_task_variable_delete
,
[1]
rtems_task_variable_get
,
[1]
rtems_task_wake_after
rtems_task_wake_when
rtems_tcb
rtems_time_of_day
,
[1]
,
[2]
rtems_timer_cancel
rtems_timer_create
rtems_timer_delete
rtems_timer_fire_after
rtems_timer_fire_when
rtems_timer_ident
rtems_timer_initiate_server
rtems_timer_reset
rtems_timer_server_fire_after
rtems_timer_server_fire_when
rtems_timer_service_routine
,
[1]
rtems_timer_service_routine_entry
rtems_timespec_add_to
rtems_timespec_divide
rtems_timespec_divide_by_integer
rtems_timespec_equal_to
rtems_timespec_from_ticks
rtems_timespec_get_nanoseconds
rtems_timespec_get_seconds
rtems_timespec_greater_than
rtems_timespec_is_valid
rtems_timespec_less_than
rtems_timespec_set
rtems_timespec_subtract
rtems_timespec_to_ticks
rtems_timespec_zero
rtems_vector_number
,
[1]
running
runtime driver registration
S
schedulable
schedule
scheduled task
scheduler
scheduler instance
scheduling
scheduling algorithms
scheduling mechanisms
segment
segments
semaphore
Semaphore Control Block
semaphores
send event set to a task
send message to a queue
send signal set
separate work areas
set object name
set priority by scheduler for a semaphore
set scheduling parameters
set struct timespec instance
set task mode
set task notepad entry
set task preemption mode
set task priority
set the time of day
shared memory
shutdown RTEMS
signal
signal set
,
[1]
signals
SMCB
SMP
,
[1]
SMP barriers
SMP locks
soft real-time system
software component
software item
software product
software unit
source code
special device services
sporadic task
,
[1]
stack
,
[1]
Stack Bounds Checker
start current period
start multitasking
starting a task
status code
Status Codes
suspend
suspending a task
Symmetric Multiprocessing
synchronous
system call
T
target
TAS
task
,
[1]
,
[2]
,
[3]
task affinity
task arguments
task attributes
Task Control Block
task memory
task migration
,
[1]
task mode
,
[1]
task name
task priority
,
[1]
task private data
,
[1]
task private variable
,
[1]
task processor affinity
task prototype
task scheduling
task stack allocator
,
[1]
task stack deallocator
task state transitions
task states
task switch
tasks
TCB
TCB extension area
thread
thread affinity
thread dispatch
thread migration
thread queues
tick
tick quantum
ticks per timeslice
tightly-coupled
time
timeout
timeouts
timer
Timer Control Block
timers
timeslice
timeslicing
,
[1]
,
[2]
,
[3]
TImespec Helpers
TLS
TMCB
transient overload
TTAS
U
uint16_t
uint32_t
uint64_t
uint8_t
uintptr_t
unblock all tasks waiting on a semaphore
unified work areas
unlock a semaphore
unregister a device driver
uptime
,
[1]
,
[2]
,
[3]
user extension set
User Extension Table
user extensions
,
[1]
User Initialization Tasks Table
user-provided
user-supplied
V
vector
W
wait at a barrier
wait queue
wake up after an interval
wake up at a wall time
write to a device
Y
YAML
yield
Z
zero C Program Heap
zero RTEMS Workspace