15#ifndef TRC_STACK_MONITOR_H
16#define TRC_STACK_MONITOR_H
18#if (TRC_USE_TRACEALYZER_RECORDER == 1) && ((TRC_CFG_ENABLE_STACK_MONITOR) == 1) && ((TRC_CFG_SCHEDULING_ONLY) == 0)
33typedef struct TraceStackMonitorEntry
36 TraceUnsignedBaseType_t uxPreviousLowWaterMark;
37} TraceStackMonitorEntry_t;
39typedef struct TraceStackMonitorData
41 TraceStackMonitorEntry_t xEntries[TRC_CFG_STACK_MONITOR_MAX_TASKS];
43 TraceUnsignedBaseType_t uxEntryCount;
44} TraceStackMonitorData_t;
55traceResult xTraceStackMonitorInitialize(TraceStackMonitorData_t* pxBuffer);
109typedef struct TraceStackMonitorData
112} TraceStackMonitorData_t;
114#define xTraceStackMonitorInitialize(__pxBuffer) ((void)(__pxBuffer), TRC_SUCCESS)
116#define xTraceStackMonitorDiagnosticsGet(__xType, __puiValue) ((void)(__xType), (__puiValue) != 0 ? *(__puiValue) = 0 : 0, (__puiValue) != 0 ? TRC_SUCCESS : TRC_FAIL)
118#define xTraceStackMonitorDiagnosticsSet(__xType, __uiValue) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(__xType), (void)(__uiValue), TRC_SUCCESS)
120#define xTraceStackMonitorAdd(__pvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)(__pvTask), TRC_SUCCESS)
122#define xTraceStackMonitorRemove(__pvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)(__pvTask), TRC_SUCCESS)
124#define xTraceStackMonitorGetAtIndex(__uiIndex, __ppvTask, __puxLowWaterMark) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)(__uiIndex), (void)_(ppvTask), (void)(__puxLowWaterMark), TRC_SUCCESS)
126#define xTraceStackMonitorReport() TRC_COMMA_EXPR_TO_STATEMENT_EXPR_1(TRC_SUCCESS)
traceResult xTraceStackMonitorGetAtIndex(uint32_t uiIndex, void **ppvTask, TraceUnsignedBaseType_t *puxLowWaterMark)
Gets trace stack monitor tread/task at index.
Definition trcStackMonitor.c:132
traceResult xTraceStackMonitorAdd(void *pvTask)
Adds task/thread to trace stack monitor.
Definition trcStackMonitor.c:42
traceResult xTraceStackMonitorRemove(void *pvTask)
Removes task/thread from trace stack monitor.
Definition trcStackMonitor.c:81
traceResult xTraceStackMonitorReport(void)
Performs trace stack monitor reporting.
Definition trcStackMonitor.c:152
The public API of the Percepio trace recorder.