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  * Kernel port configuration parameters for snapshot mode.
9  */
10 
11 #ifndef TRC_KERNEL_PORT_SNAPSHOT_CONFIG_H
12 #define TRC_KERNEL_PORT_SNAPSHOT_CONFIG_H
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 /**
19  * @def TRC_CFG_NTASK, TRC_CFG_NISR, TRC_CFG_NQUEUE, TRC_CFG_NSEMAPHORE...
20  * @brief A group of macros which should be defined as integer values, zero or larger.
21  *
22  * These define the capacity of the Object Property Table, i.e., the maximum
23  * number of objects active at any given point, within each object class (e.g.,
24  * task, queue, semaphore, ...).
25  *
26  * If tasks or other objects are deleted in your system, this
27  * setting does not limit the total amount of objects created, only the number
28  * of objects that have been successfully created but not yet deleted.
29  *
30  * Using too small values will cause vTraceError to be called, which stores an
31  * error message in the trace that is shown when opening the trace file. The
32  * error message can also be retrieved using xTraceGetLastError.
33  *
34  * It can be wise to start with large values for these constants,
35  * unless you are very confident on these numbers. Then do a recording and
36  * check the actual usage by selecting View menu -> Trace Details ->
37  * Resource Usage -> Object Table.
38  */
39 #define TRC_CFG_NTASK			15
40 #define TRC_CFG_NISR			5
41 #define TRC_CFG_NQUEUE			10
42 #define TRC_CFG_NSEMAPHORE		10
43 #define TRC_CFG_NMUTEX			10
44 #define TRC_CFG_NTIMER			5
45 #define TRC_CFG_NEVENTGROUP		5
46 #define TRC_CFG_NSTREAMBUFFER	5
47 #define TRC_CFG_NMESSAGEBUFFER	5
48 
49 /**
50  * @def TRC_CFG_NAME_LEN_TASK, TRC_CFG_NAME_LEN_QUEUE, ...
51  * @brief Macros that specify the maximum lengths (number of characters) for names of
52  * kernel objects, such as tasks and queues. If longer names are used, they will
53  * be truncated when stored in the recorder.
54  */
55 #define TRC_CFG_NAME_LEN_TASK			15
56 #define TRC_CFG_NAME_LEN_ISR			15
57 #define TRC_CFG_NAME_LEN_QUEUE			15
58 #define TRC_CFG_NAME_LEN_SEMAPHORE		15
59 #define TRC_CFG_NAME_LEN_MUTEX			15
60 #define TRC_CFG_NAME_LEN_TIMER			15
61 #define TRC_CFG_NAME_LEN_EVENTGROUP 	15
62 #define TRC_CFG_NAME_LEN_STREAMBUFFER 	15
63 #define TRC_CFG_NAME_LEN_MESSAGEBUFFER 	15
64 
65 #ifdef __cplusplus
66 }
67 #endif
68 
69 #endif /* TRC_KERNEL_PORT_SNAPSHOT_CONFIG_H */
70