Percepio Trace Recorder  v4.6.6
trcConfig.h
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  * Main configuration parameters for the trace recorder library.
9  * More settings can be found in trcStreamingConfig.h and trcSnapshotConfig.h.
10  */
11 
12 #ifndef TRC_CONFIG_H
13 #define TRC_CONFIG_H
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 #define TRC_USE_TRACEALYZER_RECORDER 1
20 
38 #define TRC_CFG_HARDWARE_PORT TRC_HARDWARE_PORT_ZEPHYR
39 
53 #define TRC_CFG_RECORDER_MODE TRC_RECORDER_MODE_STREAMING
54 
64 #define TRC_CFG_SCHEDULING_ONLY 0
65 
75 #ifdef CONFIG_PERCEPIO_TRC_CFG_INCLUDE_MEMMANG_EVENTS
76 #define TRC_CFG_INCLUDE_MEMMANG_EVENTS CONFIG_PERCEPIO_TRC_CFG_INCLUDE_MEMMANG_EVENTS
77 #else
78 #define TRC_CFG_INCLUDE_MEMMANG_EVENTS 1
79 #endif
80 
103 #ifdef CONFIG_PERCEPIO_TRC_CFG_INCLUDE_USER_EVENTS
104 #define TRC_CFG_INCLUDE_USER_EVENTS CONFIG_PERCEPIO_TRC_CFG_INCLUDE_USER_EVENTS
105 #else
106 #define TRC_CFG_INCLUDE_USER_EVENTS 1
107 #endif
108 
128 #ifdef CONFIG_TRACING_ISR
129 #define TRC_CFG_INCLUDE_ISR_TRACING 1
130 #else
131 #define TRC_CFG_INCLUDE_ISR_TRACING 0
132 #endif
133 
146 #define TRC_CFG_INCLUDE_READY_EVENTS 1
147 
158 #define TRC_CFG_INCLUDE_OSTICK_EVENTS 1
159 
169 #ifdef CONFIG_PERCEPIO_TRC_CFG_ENABLE_STACK_MONITOR
170 #define TRC_CFG_ENABLE_STACK_MONITOR CONFIG_PERCEPIO_TRC_CFG_ENABLE_STACK_MONITOR
171 #else
172 #define TRC_CFG_ENABLE_STACK_MONITOR 0
173 #endif
174 
184 #ifdef CONFIG_PERCEPIO_TRC_CFG_STACK_MONITOR_MAX_TASKS
185 #define TRC_CFG_STACK_MONITOR_MAX_TASKS CONFIG_PERCEPIO_TRC_CFG_STACK_MONITOR_MAX_TASKS
186 #else
187 #define TRC_CFG_STACK_MONITOR_MAX_TASKS 10
188 #endif
189 
208 #ifdef CONFIG_PERCEPIO_TRC_CFG_STACK_MONITOR_MAX_REPORTS
209 #define TRC_CFG_STACK_MONITOR_MAX_REPORTS CONFIG_PERCEPIO_TRC_CFG_STACK_MONITOR_MAX_REPORTS
210 #else
211 #define TRC_CFG_STACK_MONITOR_MAX_REPORTS 1
212 #endif
213 
229 #ifdef CONFIG_PERCEPIO_TRC_CFG_CTRL_TASK_PRIORITY
230 #define TRC_CFG_CTRL_TASK_PRIORITY CONFIG_PERCEPIO_TRC_CFG_CTRL_TASK_PRIORITY
231 #else
232 #define TRC_CFG_CTRL_TASK_PRIORITY 1
233 #endif
234 
245 #ifdef CONFIG_PERCEPIO_TRC_CFG_CTRL_TASK_DELAY
246 #define TRC_CFG_CTRL_TASK_DELAY CONFIG_PERCEPIO_TRC_CFG_CTRL_TASK_DELAY
247 #else
248 #define TRC_CFG_CTRL_TASK_DELAY 10
249 #endif
250 
256 #ifdef CONFIG_PERCEPIO_TRC_CFG_CTRL_TASK_STACK_SIZE
257 #define TRC_CFG_CTRL_TASK_STACK_SIZE CONFIG_PERCEPIO_TRC_CFG_CTRL_TASK_STACK_SIZE
258 #else
259 #define TRC_CFG_CTRL_TASK_STACK_SIZE (512)
260 #endif
261 
277 #ifdef CONFIG_PERCEPIO_TRC_RECORDER_BUFFER_ALLOCATION_STATIC
278  #define TRC_CFG_RECORDER_BUFFER_ALLOCATION TRC_RECORDER_BUFFER_ALLOCATION_STATIC
279 #elif CONFIG_PERCEPIO_TRC_RECORDER_BUFFER_ALLOCATION_DYNAMIC
280  #define TRC_CFG_RECORDER_BUFFER_ALLOCATION TRC_RECORDER_BUFFER_ALLOCATION_DYNAMIC
281 #else
282  #define TRC_CFG_RECORDER_BUFFER_ALLOCATION TRC_RECORDER_BUFFER_ALLOCATION_CUSTOM
283 #endif
284 
297 #ifdef CONFIG_PERCEPIO_TRC_CFG_MAX_ISR_NESTING
298 #define TRC_CFG_MAX_ISR_NESTING CONFIG_PERCEPIO_TRC_CFG_MAX_ISR_NESTING
299 #else
300 #define TRC_CFG_MAX_ISR_NESTING 8
301 #endif
302 
325 #ifdef CONFIG_PERCEPIO_TRC_CFG_ISR_TAILCHAINING_THRESHOLD
326 #define TRC_CFG_ISR_TAILCHAINING_THRESHOLD CONFIG_PERCEPIO_TRC_CFG_ISR_TAILCHAINING_THRESHOLD
327 #else
328 #define TRC_CFG_ISR_TAILCHAINING_THRESHOLD 0
329 #endif
330 
351 #define TRC_CFG_RECORDER_DATA_INIT 1
352 
365 #define TRC_CFG_RECORDER_DATA_ATTRIBUTE
366 
372 #ifdef CONFIG_PERCEPIO_TRC_CFG_USE_TRACE_ASSERT
373 #define TRC_CFG_USE_TRACE_ASSERT CONFIG_PERCEPIO_TRC_CFG_USE_TRACE_ASSERT
374 #else
375 #define TRC_CFG_USE_TRACE_ASSERT 0
376 #endif
377 
378 #ifdef __cplusplus
379 }
380 #endif
381 
382 #endif /* _TRC_CONFIG_H */