µOS++ IIIe Reference 7.0.0
The third edition of µOS++, a POSIX inspired open source framework, written in C++
Loading...
Searching...
No Matches
os-app-config.h File Reference

Application configuration file. More...

Go to the source code of this file.

Macros

#define DEBUG
 Enable debug support.
 
#define NDEBUG
 Disable assert support.
 
#define TRACE
 Enable trace support.
 
#define OS_EXCLUDE_DYNAMIC_MEMORY_ALLOCATIONS
 Prevent any dynamic memory allocation, everything should be static.
 
#define OS_INTEGER_RTOS_ALLOC_CONDITION_VARIABLE_POOL_SIZE
 Define a pool of condition variable objects.
 
#define OS_INTEGER_RTOS_ALLOC_EVENT_FLAGS_POOL_SIZE
 Define a pool of event flags objects.
 
#define OS_INTEGER_RTOS_ALLOC_MEMORY_POOL_POOL_SIZE
 Define a pool of memory pool objects.
 
#define OS_INTEGER_RTOS_ALLOC_MESSAGE_QUEUE_POOL_SIZE
 Define a pool of message queue objects.
 
#define OS_INTEGER_RTOS_ALLOC_MUTEX_POOL_SIZE
 Define a pool of mutex objects.
 
#define OS_INTEGER_RTOS_ALLOC_SEMAPHORE_POOL_SIZE
 Define a pool of semaphore objects.
 
#define OS_INTEGER_RTOS_ALLOC_THREAD_POOL_SIZE
 Define a pool of thread objects.
 
#define OS_INTEGER_RTOS_ALLOC_TIMER_POOL_SIZE
 Define a pool of timer objects.
 
#define OS_INTEGER_RTOS_DYNAMIC_MEMORY_SIZE_BYTES
 Ask for separate RTOS dynamic memory and define its size.
 
#define OS_TYPE_APPLICATION_MEMORY_RESOURCE
 The type of the memory manager to be used for the application free store.
 
#define OS_TYPE_RTOS_MEMORY_RESOURCE
 The type of the memory manager to be used for the RTOS system area.
 
#define OS_BOOL_RTOS_MESSAGE_QUEUE_SIZE_16BITS   (false)
 Extend the message size to 16 bits.
 
#define OS_BOOL_RTOS_PORT_CONTEXT_CREATE_ZERO_LR   (false)
 Force the stack trace to start with a 0x0.
 
#define OS_BOOL_RTOS_SCHEDULER_PREEMPTIVE   (true)
 Default definition for the preemption flag.
 
#define OS_BOOL_RTOS_THREAD_IDLE_PRIORITY_BELOW_IDLE   (false)
 Push down the idle thread priority.
 
#define OS_EXCLUDE_RTOS_IDLE_SLEEP
 Do not enter sleep in the idle thread.
 
#define OS_INCLUDE_RTOS_CUSTOM_THREAD_USER_STORAGE
 Add a user defined storage to each thread.
 
#define OS_INCLUDE_RTOS_STATISTICS_THREAD_CONTEXT_SWITCHES
 Include statistics to count thread context switches.
 
#define OS_INCLUDE_RTOS_STATISTICS_THREAD_CPU_CYCLES   (1)
 Include statistics to count thread CPU cycles.
 
#define OS_INTEGER_RTOS_CRITICAL_SECTION_INTERRUPT_PRIORITY
 For Cortex-M[347], define the interrupt priority level.
 
#define OS_INTEGER_RTOS_DEFAULT_STACK_SIZE_BYTES
 Define the default thread stack size, in bytes.
 
#define OS_INTEGER_RTOS_IDLE_STACK_SIZE_BYTES
 Define the idle thread stack size.
 
#define OS_INTEGER_RTOS_MAIN_STACK_SIZE_BYTES
 Define the main thread stack size, in bytes.
 
#define OS_INTEGER_SYSTICK_FREQUENCY_HZ   (1000)
 Define the scheduler frequency, in Hz.
 
#define OS_BOOL_STARTUP_GUARD_CHECKS   (true)
 Enable guard checks for .bss and .data sections.
 
#define OS_DISABLE_CORTEXM_SET_MSP_VIA_VTOR
 Disable setting MSP during startup.
 
#define OS_INCLUDE_NEWLIB_POSIX_FUNCTIONS
 Include definitions for the newlib system calls.
 
#define OS_INCLUDE_STANDARD_POSIX_FUNCTIONS
 Include definitions for the standard POSIX system calls.
 
#define OS_INCLUDE_STARTUP_INIT_FP
 Always initialise the hardware FPU.
 
#define OS_INCLUDE_STARTUP_INIT_MULTIPLE_RAM_SECTIONS
 Initialise multiple RAM sections.
 
#define OS_INTEGER_SEMIHOSTING_MAX_OPEN_FILES   (20)
 Define the maximum number of semihosting open files.
 
#define OS_USE_SEMIHOSTING_SYSCALLS
 Make the application a fully semihosted application.
 
#define OS_INCLUDE_ATEXIT_STATIC
 Use a very lite atexit().
 
#define OS_INTEGER_ATEXIT_ARRAY_SIZE   (3)
 Define the size of the atexit() array.
 
#define OS_INTEGER_DIRENT_NAME_MAX   (256)
 Define the maximum size of a directory name.
 
#define OS_USE_RTOS_PORT_CLOCK_REALTIME_WAIT_FOR
 Use a custom real time sleep_for() implementation.
 
#define OS_USE_RTOS_PORT_CLOCK_SYSTICK_WAIT_FOR
 Use a custom system tick sleep_for() implementation.
 
#define OS_USE_RTOS_PORT_CONDITION_VARIABLE
 Use a custom condition variable implementation.
 
#define OS_USE_RTOS_PORT_EVENT_FLAGS
 Use a custom event flags implementation.
 
#define OS_USE_RTOS_PORT_MESSAGE_QUEUE
 Use a custom message queue implementation.
 
#define OS_USE_RTOS_PORT_MUTEX
 Use a custom mutex implementation.
 
#define OS_USE_RTOS_PORT_SCHEDULER
 Use a custom scheduler implementation.
 
#define OS_USE_RTOS_PORT_SEMAPHORE
 Use a custom semaphore implementation.
 
#define OS_USE_RTOS_PORT_TIMER
 Use a custom timer implementation.
 
#define OS_INTEGER_TRACE_ITM_STIMULUS_PORT   (0)
 Define the ITM stimulus port used for the trace messages.
 
#define OS_INTEGER_TRACE_SEMIHOSTING_BUFF_ARRAY_SIZE   (16)
 Define the semihosting debug buffer size.
 
#define OS_TRACE_LIBC_ATEXIT
 Enable trace messages for the atexit() function.
 
#define OS_TRACE_LIBC_MALLOC
 Enable trace messages for C memory allocators.
 
#define OS_TRACE_LIBCPP_MEMORY_RESOURCE
 Enable trace messages for memory resource managers.
 
#define OS_TRACE_LIBCPP_OPERATOR_NEW
 Enable trace messages for C++ memory allocators.
 
#define OS_TRACE_RTOS_CLOCKS
 Enable trace messages for RTOS clocks functions.
 
#define OS_TRACE_RTOS_CONDVAR
 Enable trace messages for RTOS condition variables functions.
 
#define OS_TRACE_RTOS_EVFLAGS
 Enable trace messages for RTOS event flags functions.
 
#define OS_TRACE_RTOS_LISTS
 Enable trace messages for RTOS list functions.
 
#define OS_TRACE_RTOS_LISTS_CLOCKS
 Enable trace messages for RTOS clocks list functions.
 
#define OS_TRACE_RTOS_MEMPOOL
 Enable trace messages for RTOS memory pools functions.
 
#define OS_TRACE_RTOS_MQUEUE
 Enable trace messages for RTOS message queues functions.
 
#define OS_TRACE_RTOS_MUTEX
 Enable trace messages for RTOS mutex functions.
 
#define OS_TRACE_RTOS_RTC_TICK
 Display an exclamation mark for each RTC tick.
 
#define OS_TRACE_RTOS_SCHEDULER
 Enable trace messages for RTOS scheduler functions.
 
#define OS_TRACE_RTOS_SEMAPHORE
 Enable trace messages for RTOS semaphore functions.
 
#define OS_TRACE_RTOS_SYSCLOCK_TICK
 Display a dot and a comma for each system clock tick.
 
#define OS_TRACE_RTOS_SYSCLOCK_TICK_BRACES
 Display a pair of {t t} when entering/exiting the timer handler.
 
#define OS_TRACE_RTOS_THREAD
 Enable trace messages for RTOS thread functions.
 
#define OS_TRACE_RTOS_THREAD_CONTEXT
 Enable trace messages for RTOS thread context functions.
 
#define OS_TRACE_RTOS_THREAD_FLAGS
 Enable trace messages for RTOS thread flags functions.
 
#define OS_TRACE_RTOS_TIMER
 Enable trace messages for RTOS timer functions.
 
#define OS_TRACE_UTILS_LISTS
 Enable trace messages for list insert and unlink.
 
#define OS_TRACE_UTILS_LISTS_CONSTRUCT
 Enable trace messages for list constructors.
 
#define OS_USE_TRACE_ITM
 Forward trace messages via the ITM/SWO.
 
#define OS_USE_TRACE_POSIX_STDERR
 Forward trace messages via the POSIX STDERR stream.
 
#define OS_USE_TRACE_POSIX_STDOUT
 Forward trace messages via the POSIX STDOUT stream.
 
#define OS_USE_TRACE_SEGGER_RTT
 Forward trace messages via the SEGGER RTT.
 
#define OS_USE_TRACE_SEMIHOSTING_DEBUG
 Forward trace messages via the semihosting debug channel.
 
#define OS_USE_TRACE_SEMIHOSTING_STDOUT
 Forward trace messages via the semihosting output stream.
 

Detailed Description

Application configuration file.

The <cmsis-plus/os-ap-config.h> header file is used to configure all build options available for µOS++ applications.

Each application should provide such a configuration file in the compiler include path, even if there are no specific definitions.

Definition in file os-app-config.h.