1 /*
2  * Trace Recorder for Tracealyzer v4.6.6
3  * Copyright 2021 Percepio AB
4  * www.percepio.com
5  *
6  * SPDX-License-Identifier: Apache-2.0
7  *
8  * Configuration parameters for the kernel port.
9  * More settings can be found in trcKernelPortStreamingConfig.h and
10  * trcKernelPortSnapshotConfig.h.
11  */
12 
13 #ifndef TRC_KERNEL_PORT_CONFIG_H
14 #define TRC_KERNEL_PORT_CONFIG_H
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 /**
21  * @def TRC_CFG_RECORDER_MODE
22  * @brief Specify what recording mode to use. Snapshot means that the data is saved in
23  * an internal RAM buffer, for later upload. Streaming means that the data is
24  * transferred continuously to the host PC.
25  *
26  * For more information, see http://percepio.com/2016/10/05/rtos-tracing/
27  * and the Tracealyzer User Manual.
28  *
29  * Values:
30  * TRC_RECORDER_MODE_SNAPSHOT
31  * TRC_RECORDER_MODE_STREAMING
32  */
33 #define TRC_CFG_RECORDER_MODE TRC_RECORDER_MODE_STREAMING
34 
35 /**
36  * @def TRC_CFG_FREERTOS_VERSION
37  * @brief Specify what version of FreeRTOS that is used (don't change unless using the
38  * trace recorder library with an older version of FreeRTOS).
39  *
40  * TRC_FREERTOS_VERSION_7_3_X				If using FreeRTOS v7.3.X
41  * TRC_FREERTOS_VERSION_7_4_X				If using FreeRTOS v7.4.X
42  * TRC_FREERTOS_VERSION_7_5_X				If using FreeRTOS v7.5.X
43  * TRC_FREERTOS_VERSION_7_6_X				If using FreeRTOS v7.6.X
44  * TRC_FREERTOS_VERSION_8_X_X				If using FreeRTOS v8.X.X
45  * TRC_FREERTOS_VERSION_9_0_0				If using FreeRTOS v9.0.0
46  * TRC_FREERTOS_VERSION_9_0_1				If using FreeRTOS v9.0.1
47  * TRC_FREERTOS_VERSION_9_0_2				If using FreeRTOS v9.0.2
48  * TRC_FREERTOS_VERSION_10_0_0				If using FreeRTOS v10.0.0
49  * TRC_FREERTOS_VERSION_10_0_1				If using FreeRTOS v10.0.1
50  * TRC_FREERTOS_VERSION_10_1_0				If using FreeRTOS v10.1.0
51  * TRC_FREERTOS_VERSION_10_1_1				If using FreeRTOS v10.1.1
52  * TRC_FREERTOS_VERSION_10_2_0				If using FreeRTOS v10.2.0
53  * TRC_FREERTOS_VERSION_10_2_1				If using FreeRTOS v10.2.1
54  * TRC_FREERTOS_VERSION_10_3_0				If using FreeRTOS v10.3.0
55  * TRC_FREERTOS_VERSION_10_3_1				If using FreeRTOS v10.3.1
56  * TRC_FREERTOS_VERSION_10_4_0				If using FreeRTOS v10.4.0
57  * TRC_FREERTOS_VERSION_10_4_1				If using FreeRTOS v10.4.1 or later
58  */
59 #define TRC_CFG_FREERTOS_VERSION FREERTOS_VERSION_NOT_SET
60 
61 /**
62  * @def TRC_CFG_INCLUDE_EVENT_GROUP_EVENTS
63  * @brief Macro which should be defined as either zero (0) or one (1).
64  *
65  * If this is zero (0), the trace will exclude any "event group" events.
66  *
67  * Default value is 0 (excluded) since dependent on event_groups.c
68  */
69 #define TRC_CFG_INCLUDE_EVENT_GROUP_EVENTS 1
70 
71 /**
72  * @def TRC_CFG_INCLUDE_TIMER_EVENTS
73  * @brief Macro which should be defined as either zero (0) or one (1).
74  *
75  * If this is zero (0), the trace will exclude any Timer events.
76  *
77  * Default value is 0 since dependent on timers.c
78  */
79 #define TRC_CFG_INCLUDE_TIMER_EVENTS 1
80 
81 /**
82  * @def TRC_CFG_INCLUDE_PEND_FUNC_CALL_EVENTS
83  * @brief Macro which should be defined as either zero (0) or one (1).
84  *
85  * If this is zero (0), the trace will exclude any "pending function call"
86  * events, such as xTimerPendFunctionCall().
87  *
88  * Default value is 0 since dependent on timers.c
89  */
90 #define TRC_CFG_INCLUDE_PEND_FUNC_CALL_EVENTS 1
91 
92 /**
93  * @def TRC_CFG_INCLUDE_STREAM_BUFFER_EVENTS
94  * @brief Macro which should be defined as either zero (0) or one (1).
95  *
96  * If this is zero (0), the trace will exclude any stream buffer or message
97  * buffer events.
98  *
99  * Default value is 0 since dependent on stream_buffer.c (new in FreeRTOS v10)
100  */
101 #define TRC_CFG_INCLUDE_STREAM_BUFFER_EVENTS 1
102 
103 /**
104  * @def TRC_CFG_ACKNOWLEDGE_QUEUE_SET_SEND
105  * @brief When using FreeRTOS v10.3.0 or v10.3.1, please make sure that the trace
106  * point in prvNotifyQueueSetContainer() in queue.c is renamed from
107  * traceQUEUE_SEND to traceQUEUE_SET_SEND in order to tell them apart from
108  * other traceQUEUE_SEND trace points. Then set this to TRC_ACKNOWLEDGED.
109  */
110 #define TRC_CFG_ACKNOWLEDGE_QUEUE_SET_SEND  0 /* TRC_ACKNOWLEDGED */
111 
112 #ifdef __cplusplus
113 }
114 #endif
115 
116 #endif /* TRC_KERNEL_PORT_CONFIG_H */
117