Percepio Trace Recorder
v4.6.6
|
Go to the documentation of this file.
15 #ifndef TRC_STACK_MONITOR_H
16 #define TRC_STACK_MONITOR_H
18 #if (TRC_USE_TRACEALYZER_RECORDER == 1)
20 #if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)
35 #if (((TRC_CFG_ENABLE_STACK_MONITOR) == 1) && ((TRC_CFG_SCHEDULING_ONLY) == 0))
37 #define TRACE_STACK_MONITOR_BUFFER_SIZE ((sizeof(void*) + sizeof(TraceUnsignedBaseType_t)) * (TRC_CFG_STACK_MONITOR_MAX_TASKS) + sizeof(uint32_t))
42 typedef struct TraceStackMonitorBuffer
44 uint32_t buffer[(TRACE_STACK_MONITOR_BUFFER_SIZE) /
sizeof(uint32_t)];
45 } TraceStackMonitorBuffer_t;
56 traceResult xTraceStackMonitorInitialize(TraceStackMonitorBuffer_t* pxBuffer);
104 typedef struct TraceStackMonitorBuffer
107 } TraceStackMonitorBuffer_t;
109 #define xTraceStackMonitorInitialize(pxBuffer) ((void)pxBuffer, TRC_SUCCESS)
111 #define xTraceStackMonitorDiagnosticsGet(xType, puiValue) ((void)xType, puiValue != 0 ? *puiValue = 0 : 0, puiValue != 0 ? TRC_SUCCESS : TRC_FAIL)
113 #define xTraceStackMonitorDiagnosticsSet(xType, uiValue) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)xType, (void)uiValue, TRC_SUCCESS)
115 #define xTraceStackMonitorAdd(pvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)pvTask, TRC_SUCCESS)
117 #define xTraceStackMonitorRemove(pvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)pvTask, TRC_SUCCESS)
119 #define xTraceStackMonitorGetAtIndex(uiIndex, ppvTask, puxLowWaterMark) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)uiIndex, (void)ppvTask, (void)puxLowWaterMark, TRC_SUCCESS)
121 #define xTraceStackMonitorReport() TRC_COMMA_EXPR_TO_STATEMENT_EXPR_1(TRC_SUCCESS)
The public API of the Percepio trace recorder.
traceResult xTraceStackMonitorRemove(void *pvTask)
Removes task/thread from trace stack monitor.
Definition: trcStackMonitor.c:96
traceResult xTraceStackMonitorAdd(void *pvTask)
Adds task/thread to trace stack monitor.
Definition: trcStackMonitor.c:57
traceResult xTraceStackMonitorReport(void)
Performs trace stack monitor reporting.
Definition: trcStackMonitor.c:167
traceResult xTraceStackMonitorGetAtIndex(uint32_t uiIndex, void **ppvTask, TraceUnsignedBaseType_t *puxLowWaterMark)
Gets trace stack monitor tread/task at index.
Definition: trcStackMonitor.c:147