System Configuration

This section details the configuration definitions available for the Sirius RTOS. Each constant is assigned a default value. To optimize the system for specific application requirements, these values may be redefined in the global configuration file, Config.h, using the C #define directive. Many of these definitions facilitate a reduction in the output code size by disabling unused system features. For more information regarding a specific definition, please select it from the list below.

General system configuration

OS_MAX_WAIT_FOR_OBJECTS - Maximum number of objects that task can wait
OS_USE_WAITING_WITH_TIME_OUT - Enables timeouts in wait functions
OS_RESUME_IMMEDIATELY - Defines task resume order for ready tasks queue
OS_ALLOW_OBJECT_DELETION - Allows system objects deleting
OS_SYS_OBJECT_MAX_NAME_LEN - Maximal length of the object name
OS_STOP_FUNC - Enables the osStop function
OS_DEINIT_FUNC - Enables the osDeinit function
OS_OPEN_BY_HANDLE_FUNC - Enables the osOpenByHandle function
OS_READ_WRITE_FUNC - Enables osRead and osWrite functions
OS_GET_SYSTEM_STAT_FUNC - Enables the osGetSystemStat function
OS_STAT_SAMPLE_RATE - Defines sampling rate for calculating a CPU usage

System memory configuration

OS_STACK_SIZE - Size of the scheduler stack
OS_IDLE_STACK_SIZE - Size of the idle task stack
OS_INTERNAL_MEMORY_SIZE - Size of the internal system memory
OS_USE_FIXMEM_POOLS - Enables using a fixed-size memory pools
OS_FIX_POOL0_SIZE - Defines size of the fixed memory pool #0
OS_FIX_POOL0_ITEM_SIZE - Defines block size of the fixed memory pool #0
OS_FIX_POOL1_SIZE - Defines size of the fixed memory pool #1
OS_FIX_POOL1_ITEM_SIZE - Defines block size of the fixed memory pool #1
OS_FIX_POOL2_SIZE - Defines size of the fixed memory pool #2
OS_FIX_POOL2_ITEM_SIZE - Defines block size of the fixed memory pool #2
OS_FIX_POOL3_SIZE - Defines size of the fixed memory pool #3
OS_FIX_POOL3_ITEM_SIZE - Defines block size of the fixed memory pool #3

Tasks configuration

OS_LOWEST_USED_PRIORITY - The lowest used task priority (define to reduce RAM usage)
OS_DEFAULT_TASK_STACK_SIZE - Default size of the task stack in bytes
OS_GET_TASK_HANDLE_FUNC - Enables the osGetTaskHandle function
OS_GET_TASK_STAT_FUNC - Enables the osGetTaskStat function
OS_SUSP_RES_TASK_FUNC - Enables osSuspendTask and osResumeTask functions
OS_TASK_EXIT_CODE_FUNC - Enables the osGetTaskExitCode function
OS_TASK_PRIORITY_FUNC - Enables osGetTaskPriority and osSetTaskPriority functions
OS_TASK_QUANTUM_FUNC - Enables osGetTaskQuantum and osSetTaskQuantum functions
OS_TERMINATE_TASK_FUNC - Enables the osTerminateTask function

Mutexes configuration

OS_OPEN_MUTEX_FUNC - Enables the osOpenMutex function
OS_USE_MUTEX - Includes code for mutexes

Semaphores configuration

OS_OPEN_SEMAPHORE_FUNC - Enables the osOpenSemaphore function
OS_USE_SEMAPHORE - Includes code for semaphores

Counting semaphores configuration

OS_OPEN_CNT_SEM_FUNC - Enables the osOpenCountSem function
OS_USE_CNT_SEM - Includes code for counting semaphores

Events configuration

OS_OPEN_EVENT_FUNC - Enables the osOpenEvent function
OS_USE_EVENT - Includes code for events

Timers configuration

OS_OPEN_TIMER_FUNC - Enables the osOpenTimer function
OS_USE_TIMER - Includes code for timers

Shared memories configuration

OS_GET_SH_MEM_ADDRESS_FUNC - Enables the osGetSharedMemoryAddress function
OS_OPEN_SH_MEM_FUNC - Enables the osOpenSharedMemory function
OS_SH_MEM_PROTECT_MUTEX - Allows to synchronize shared memory by mutex object
OS_USE_SHARED_MEM - Includes code for shared memories

Pointers queues configuration

OS_OPEN_PTR_QUEUE_FUNC - Enables the osOpenPtrQueue function
OS_PTR_QUEUE_CLEAR_FUNC - Enables the osClearPtrQueue function
OS_PTR_QUEUE_PEEK_FUNC - Enables the osPtrQueuePeek function
OS_USE_PTR_QUEUE - Includes code for pointers queues

Streams configuration

OS_OPEN_STREAM_FUNC - Enables the osOpenStream function
OS_STREAM_ALLOW_DIRECT_RW - Enables direct read-write for streams
OS_STREAM_ALLOW_WAIT_IF_EMPTY - Enables waiting on empty stream
OS_STREAM_ALLOW_WAIT_IF_FULL - Enables waiting on full stream
OS_STREAM_PROTECT_EVENT - Allows to synchronize stream by auto-reset event object
OS_STREAM_PROTECT_MUTEX - Allows to synchronize stream by mutex object
OS_USE_STREAM - Includes code for streams

Queues configuration

OS_OPEN_QUEUE_FUNC - Enables the osOpenQueue function
OS_QUEUE_ALLOW_DIRECT_RW - Enables direct read-write for queues
OS_QUEUE_ALLOW_WAIT_IF_EMPTY - Enables waiting on empty queue
OS_QUEUE_ALLOW_WAIT_IF_FULL - Enables waiting on full queue
OS_QUEUE_CLEAR_FUNC - Enables the osClearQueue function
OS_QUEUE_PEEK_FUNC - Enables the osQueuePeek function
OS_QUEUE_POST_PEND_FUNC - Enables osQueuePost and osQueuePend functions
OS_QUEUE_PROTECT_EVENT - Allows to synchronize queue by auto-reset event object
OS_QUEUE_PROTECT_MUTEX - Allows to synchronize queue by mutex object
OS_USE_QUEUE - Includes code for queues

Mailboxes configuration

OS_MBOX_ALLOW_DIRECT_RW - Enables direct read-write for mailboxes
OS_MBOX_ALLOW_WAIT_IF_EMPTY - Enables waiting on empty mailbox
OS_MBOX_CLEAR_FUNC - Enables the osClearMailbox function
OS_MBOX_GET_INFO_FUNC - Enables the osGetMailboxInfo function
OS_MBOX_PEEK_FUNC - Enables the osMailboxPeek function
OS_MBOX_POST_PEND_FUNC - Enables osMailboxPost and osMailboxPend functions
OS_MBOX_PROTECT_EVENT - Allows to synchronize mailbox by auto-reset event object
OS_MBOX_PROTECT_MUTEX - Allows to synchronize mailbox by mutex object
OS_OPEN_MBOX_FUNC - Enables the osOpenMailbox function
OS_USE_MAILBOX - Includes code for mailboxes

Flags configuration

OS_OPEN_FLAGS_FUNC - Enables the osOpenFlags function
OS_USE_FLAGS - Includes code for flags

SpaceShadow documentation