29#define TRC_ACKNOWLEDGED (0xABC99123)
31#include <trcDefines.h>
34#ifndef TRC_CFG_ENTRY_SLOTS
35#error TRC_CFG_ENTRY_SLOTS not defined. Please ensure you are using updated config files.
38#include <trcKernelPortConfig.h>
42#ifndef TRC_CFG_TEST_MODE
43#define TRC_CFG_TEST_MODE 0
47#ifndef TRC_CFG_CORE_COUNT
48#define TRC_CFG_CORE_COUNT 1
52#ifndef TRC_CFG_GET_CURRENT_CORE
53#define TRC_CFG_GET_CURRENT_CORE() 0
58#ifndef TRC_CFG_USE_GCC_STATEMENT_EXPR
59#define TRC_CFG_USE_GCC_STATEMENT_EXPR 0
64#define traceHandle TraceISRHandle_t
67#define TRC_MAX_BLOB_SIZE (16UL * sizeof(TraceUnsignedBaseType_t))
70#define TRC_PLATFORM_CFG_LENGTH 8UL
73#define TRC_HEADER_BUFFER_SIZE (sizeof(uint32_t) + sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t) + sizeof(uint32_t) + sizeof(uint32_t) + sizeof(uint16_t) + sizeof(uint8_t) + sizeof(uint8_t) + (sizeof(char) * (TRC_PLATFORM_CFG_LENGTH)))
75typedef struct TraceHeaderBuffer
77 uint8_t buffer[TRC_HEADER_BUFFER_SIZE];
80#include <trcHardwarePort.h>
81#include <trcKernelPort.h>
90#include <trcStreamPort.h>
97#include <trcUtility.h>
111#if (TRC_USE_TRACEALYZER_RECORDER == 1)
200traceResult xTraceEnable(uint32_t uiStartOption);
210#ifndef TRC_EXTERNAL_BUFFERS
211#define TRC_EXTERNAL_BUFFERS 0
214typedef struct TraceRecorderData
216 uint32_t uiSessionCounter;
217 uint32_t uiRecorderEnabled;
218 TraceUnsignedBaseType_t uxTraceSystemStates[TRC_CFG_CORE_COUNT];
221 TraceAssertData_t xAssertBuffer;
222 TraceEntryIndexTable_t xEntryIndexTableBuffer;
223#if (TRC_EXTERNAL_BUFFERS == 0)
224 TraceHeaderBuffer_t xHeaderBuffer;
225 TraceEntryTable_t xEntryTable;
228#if (TRC_USE_INTERNAL_BUFFER == 1)
231 TraceStreamPortBuffer_t xStreamPortBuffer;
232 TraceStaticBufferTable_t xStaticBufferBuffer;
233 TraceEventDataTable_t xEventDataBuffer;
234 TracePrintData_t xPrintBuffer;
235 TraceErrorData_t xErrorBuffer;
236 TraceISRData_t xISRBuffer;
237 TraceKernelPortDataBuffer_t xKernelPortBuffer;
238 TraceTaskData_t xTaskInfoBuffer;
239 TraceStackMonitorData_t xStackMonitorBuffer;
240 TraceDiagnosticsData_t xDiagnosticsBuffer;
241 TraceExtensionData_t xExtensionBuffer;
242 TraceCounterData_t xCounterBuffer;
243 TraceTaskMonitorData_t xTaskMonitorBuffer;
244} TraceRecorderData_t;
246extern TraceRecorderData_t* pxTraceRecorderData;
247extern uint32_t RecorderInitialized;
265#define xTraceIsRecorderEnabled() (xTraceIsRecorderInitialized() && pxTraceRecorderData->uiRecorderEnabled)
273#define xTraceIsRecorderInitialized() xTraceIsComponentInitialized(TRC_RECORDER_COMPONENT_CORE)
283#define xTraceSetComponentInitialized(uiComponentBit) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(RecorderInitialized |= (uiComponentBit), TRC_SUCCESS)
293#define xTraceIsComponentInitialized(uiComponentBit) (RecorderInitialized & (uiComponentBit))
303#define xTraceStateSet(uxState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceRecorderData->uxTraceSystemStates[TRC_CFG_GET_CURRENT_CORE()] = (uxState), TRC_SUCCESS)
313#define xTraceStateGet(puxState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(puxState) = pxTraceRecorderData->uxTraceSystemStates[TRC_CFG_GET_CURRENT_CORE()], TRC_SUCCESS)
327#if (TRC_CFG_RECORDER_BUFFER_ALLOCATION == TRC_RECORDER_BUFFER_ALLOCATION_CUSTOM)
336traceResult xTraceSetBuffer(TraceRecorderData_t *pxBuffer);
338#define xTraceSetBuffer(p) (TRC_SUCCESS)
354#define xTraceInitialize() (TRC_SUCCESS)
355#define xTraceEnable(x) ((void)(x), TRC_SUCCESS)
356#define xTraceDisable() (TRC_SUCCESS)
358#define prvTraceSetReadyEventsEnabled(status) (void)(status)
360#define vTraceExcludeTask(handle) (void)(handle)
362#define vTraceConsoleChannelPrintF(fmt, ...) (void)(fmt)
364#ifndef TRC_ALLOC_CUSTOM_BUFFER
365#define TRC_ALLOC_CUSTOM_BUFFER(bufname)
368#define xTraceIsRecorderEnabled() (0)
369#define xTraceIsRecorderInitialized() (0)
371#define xTraceSetBuffer(p) (TRC_SUCCESS)
372#define xTraceGetEventBuffer(p) (TRC_FAIL)
374#define vTraceSetStopHook(x) (void)(x)
376#define TraceRecorderData_t uint32_t
383#define vTraceInitialize (void)xTraceInitialize
388#define vTraceEnable (void)xTraceEnable
393#define vTraceStop (void)xTraceDisable
398#define vTraceInstanceFinishedNow (void)xTraceTaskInstanceFinishedNow
403#define vTraceInstanceFinishedNext (void)xTraceTaskInstanceFinishedNext
408#define vTracePrintF (void)xTracePrintF
413#define vTraceVPrintF (void)xTraceVPrintF
418#define vTracePrint (void)xTracePrint
423#define vTraceSetRecorderDataBuffer(pxBuffer) xTraceSetBuffer((TraceRecorderData_t*)(pxBuffer))
struct TraceTimestampData TraceTimestampData_t
Trace Timestamp Structure.
Public trace assert APIs.
Public trace counter APIs.
Public trace dependency APIs.
Public trace diagnostic APIs.
Public trace entry table APIs.
Public trace event buffer APIs.
Public trace extension APIs.
Public internal event buffer APIs.
struct TraceInternalEventBufferData TraceInternalEventBufferData_t
A structure representing the trace stream port buffer.
Public trace interval APIs.
Public trace object APIs.
Public trace process APIs.
traceResult xTraceTzCtrl(void)
Call this function periodically.
Definition trcStreamingRecorder.c:457
traceResult xTraceHeaderInitialize(TraceHeaderBuffer_t *pxBuffer)
Initializes the header data.
Definition trcStreamingRecorder.c:286
traceResult xTraceInitialize(void)
Initializes the recorder data. xTraceInitialize() or xTraceEnable(...) must be called before any atte...
Definition trcStreamingRecorder.c:141
traceResult xTraceDisable(void)
Disables tracing.
Definition trcStreamingRecorder.c:420
traceResult xTraceGetEventBuffer(void **ppvBuffer, TraceUnsignedBaseType_t *puiSize)
Retrieve the event buffer and event buffer size.
Definition trcStreamingRecorder.c:443
Public trace runnable APIs.
Public trace stack monitor APIs.
Public trace state machine APIs.
Public trace static buffer APIs.
Public trace string APIs.
Public trace task monitor APIs.
Public trace thread APIs.
Public trace timestamp APIs.