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

Definitions used to configure the trace channel. More...

#define OS_USE_TRACE_ITM
 Forward trace messages via the ITM/SWO.
 
#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.
 
#define OS_USE_TRACE_POSIX_STDOUT
 Forward trace messages via the POSIX STDOUT stream.
 
#define OS_USE_TRACE_POSIX_STDERR
 Forward trace messages via the POSIX STDERR stream.
 
#define OS_USE_TRACE_SEGGER_RTT
 Forward trace messages via the SEGGER RTT.
 
#define OS_TRACE_RTOS_CLOCKS
 Enable trace messages for RTOS clocks functions.
 
#define OS_TRACE_RTOS_LISTS_CLOCKS
 Enable trace messages for RTOS clocks list 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_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_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_RTOS_LISTS
 Enable trace messages for RTOS list functions.
 
#define OS_TRACE_LIBC_MALLOC
 Enable trace messages for C memory allocators.
 
#define OS_TRACE_LIBC_ATEXIT
 Enable trace messages for the atexit() function.
 
#define OS_TRACE_LIBCPP_OPERATOR_NEW
 Enable trace messages for C++ memory allocators.
 
#define OS_TRACE_LIBCPP_MEMORY_RESOURCE
 Enable trace messages for memory resource managers.
 
#define OS_TRACE_UTILS_LISTS_CONSTRUCT
 Enable trace messages for list constructors.
 
#define OS_TRACE_UTILS_LISTS
 Enable trace messages for list insert and unlink.
 
#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.
 

Detailed Description

Definitions used to configure the trace channel.

In addition to the global TRACE definition, it is possible to enable individual groups of messages, using separate definitions.

Macro Definition Documentation

◆ OS_INTEGER_TRACE_ITM_STIMULUS_PORT

#define OS_INTEGER_TRACE_ITM_STIMULUS_PORT   (0)

Define the ITM stimulus port used for the trace messages.

ITM provides 32 distinct stimulus ports for separate trace channels (0-31).

Default
0 (zero).

Definition at line 921 of file os-app-config.h.

◆ OS_INTEGER_TRACE_SEMIHOSTING_BUFF_ARRAY_SIZE

#define OS_INTEGER_TRACE_SEMIHOSTING_BUFF_ARRAY_SIZE   (16)

Define the semihosting debug buffer size.

The size of the internal buffer used to improve performance for the semihosting debug channel.

Default
16.

Definition at line 933 of file os-app-config.h.

◆ OS_TRACE_LIBC_ATEXIT

#define OS_TRACE_LIBC_ATEXIT

Enable trace messages for the atexit() function.

Definition at line 890 of file os-app-config.h.

◆ OS_TRACE_LIBC_MALLOC

#define OS_TRACE_LIBC_MALLOC

Enable trace messages for C memory allocators.

Definition at line 885 of file os-app-config.h.

◆ OS_TRACE_LIBCPP_MEMORY_RESOURCE

#define OS_TRACE_LIBCPP_MEMORY_RESOURCE

Enable trace messages for memory resource managers.

Definition at line 900 of file os-app-config.h.

◆ OS_TRACE_LIBCPP_OPERATOR_NEW

#define OS_TRACE_LIBCPP_OPERATOR_NEW

Enable trace messages for C++ memory allocators.

Definition at line 895 of file os-app-config.h.

◆ OS_TRACE_RTOS_CLOCKS

#define OS_TRACE_RTOS_CLOCKS

Enable trace messages for RTOS clocks functions.

Definition at line 799 of file os-app-config.h.

◆ OS_TRACE_RTOS_CONDVAR

#define OS_TRACE_RTOS_CONDVAR

Enable trace messages for RTOS condition variables functions.

Definition at line 809 of file os-app-config.h.

◆ OS_TRACE_RTOS_EVFLAGS

#define OS_TRACE_RTOS_EVFLAGS

Enable trace messages for RTOS event flags functions.

Definition at line 814 of file os-app-config.h.

◆ OS_TRACE_RTOS_LISTS

#define OS_TRACE_RTOS_LISTS

Enable trace messages for RTOS list functions.

Warning
This option requires a fast trace channel, like SEGGER RTT or at least ITM.

Definition at line 880 of file os-app-config.h.

◆ OS_TRACE_RTOS_LISTS_CLOCKS

#define OS_TRACE_RTOS_LISTS_CLOCKS

Enable trace messages for RTOS clocks list functions.

Definition at line 804 of file os-app-config.h.

◆ OS_TRACE_RTOS_MEMPOOL

#define OS_TRACE_RTOS_MEMPOOL

Enable trace messages for RTOS memory pools functions.

Definition at line 819 of file os-app-config.h.

◆ OS_TRACE_RTOS_MQUEUE

#define OS_TRACE_RTOS_MQUEUE

Enable trace messages for RTOS message queues functions.

Definition at line 824 of file os-app-config.h.

◆ OS_TRACE_RTOS_MUTEX

#define OS_TRACE_RTOS_MUTEX

Enable trace messages for RTOS mutex functions.

Definition at line 829 of file os-app-config.h.

◆ OS_TRACE_RTOS_RTC_TICK

#define OS_TRACE_RTOS_RTC_TICK

Display an exclamation mark for each RTC tick.

Definition at line 834 of file os-app-config.h.

◆ OS_TRACE_RTOS_SCHEDULER

#define OS_TRACE_RTOS_SCHEDULER

Enable trace messages for RTOS scheduler functions.

Definition at line 839 of file os-app-config.h.

◆ OS_TRACE_RTOS_SEMAPHORE

#define OS_TRACE_RTOS_SEMAPHORE

Enable trace messages for RTOS semaphore functions.

Definition at line 844 of file os-app-config.h.

◆ OS_TRACE_RTOS_SYSCLOCK_TICK

#define OS_TRACE_RTOS_SYSCLOCK_TICK

Display a dot and a comma for each system clock tick.

Definition at line 849 of file os-app-config.h.

◆ OS_TRACE_RTOS_THREAD

#define OS_TRACE_RTOS_THREAD

Enable trace messages for RTOS thread functions.

Definition at line 854 of file os-app-config.h.

◆ OS_TRACE_RTOS_THREAD_CONTEXT

#define OS_TRACE_RTOS_THREAD_CONTEXT

Enable trace messages for RTOS thread context functions.

Warning
This option requires a fast trace channel, like SEGGER RTT or at least ITM.

Definition at line 862 of file os-app-config.h.

◆ OS_TRACE_RTOS_THREAD_FLAGS

#define OS_TRACE_RTOS_THREAD_FLAGS

Enable trace messages for RTOS thread flags functions.

Definition at line 867 of file os-app-config.h.

◆ OS_TRACE_RTOS_TIMER

#define OS_TRACE_RTOS_TIMER

Enable trace messages for RTOS timer functions.

Definition at line 872 of file os-app-config.h.

◆ OS_TRACE_UTILS_LISTS

#define OS_TRACE_UTILS_LISTS

Enable trace messages for list insert and unlink.

Definition at line 910 of file os-app-config.h.

◆ OS_TRACE_UTILS_LISTS_CONSTRUCT

#define OS_TRACE_UTILS_LISTS_CONSTRUCT

Enable trace messages for list constructors.

Definition at line 905 of file os-app-config.h.

◆ OS_USE_TRACE_ITM

#define OS_USE_TRACE_ITM

Forward trace messages via the ITM/SWO.

ITM (Instrumentation Trace Macrocell) is one of the available ARM technologies intended to facilitate debugging, by providing a trace channel for printf()-like messages and various events.

µOS++ is capable of forwarding the trace::printf() messages via the ITM, and, if available, this is the standard recommended trace channel.

This option requires support from the debugger, to forward the SWO pin to a separate console.

See also
OS_INTEGER_TRACE_ITM_STIMULUS_PORT

Definition at line 717 of file os-app-config.h.

◆ OS_USE_TRACE_POSIX_STDERR

#define OS_USE_TRACE_POSIX_STDERR

Forward trace messages via the POSIX STDERR stream.

By default, without any definition, the trace messages are ignored.

Definition at line 781 of file os-app-config.h.

◆ OS_USE_TRACE_POSIX_STDOUT

#define OS_USE_TRACE_POSIX_STDOUT

Forward trace messages via the POSIX STDOUT stream.

By default, without any definition, the trace messages are ignored.

Definition at line 773 of file os-app-config.h.

◆ OS_USE_TRACE_SEGGER_RTT

#define OS_USE_TRACE_SEGGER_RTT

Forward trace messages via the SEGGER RTT.

SEGGER RTT (Real Time Terminal) is a very fast communication channel available for J-Link probes.

µOS++ is capable of forwarding the trace::printf() messages via the RTT, and, if available, this is the fastest trace channel.

Definition at line 794 of file os-app-config.h.

◆ OS_USE_TRACE_SEMIHOSTING_DEBUG

#define OS_USE_TRACE_SEMIHOSTING_DEBUG

Forward trace messages via the semihosting debug channel.

The semihosting debug channel is a dedicated output channel, distinct from STDOUT and STDERR, intended for printf()-like messages.

Traditionally the semihosting debug channel is quite slow, especially when used to output single bytes. To slightly improve performance, a small buffer is used internally (OS_INTEGER_TRACE_SEMIHOSTING_BUFF_ARRAY_SIZE).

This option requires support from the debugger, to forward the semihosting channel to a separate console. Most of the debuggers require to explicitly enable semihosting for this option to be functional.

Note
The use of this option affects only the trace channel and does not transform the application into a fully semihosted application, in other words it does not change the behaviour of the other system calls, as does the use of OS_USE_SEMIHOSTING_SYSCALLS.
See also
OS_INTEGER_TRACE_SEMIHOSTING_BUFF_ARRAY_SIZE

Definition at line 744 of file os-app-config.h.

◆ OS_USE_TRACE_SEMIHOSTING_STDOUT

#define OS_USE_TRACE_SEMIHOSTING_STDOUT

Forward trace messages via the semihosting output stream.

The semihosting output channel is the same as STDOUT, and usually it is buffered, so characters may not be displayed immediately, but be delayed until the line ends.

This option requires support from the debugger, to forward the semihosting channel to a separate console. Most of the debuggers require to explicitly enable semihosting for this option to be functional.

Note
The use of this option affects only the trace channel and does not transform the application into a fully semihosted application, in other words it does not change the behaviour of the other system calls, as does the use of OS_USE_SEMIHOSTING_SYSCALLS.

Definition at line 765 of file os-app-config.h.