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
215#ifndef TRC_CFG_PRINTF
216#define TRC_CFG_PRINTF(...)
219typedef struct TraceRecorderData
221 uint32_t uiSessionCounter;
222 uint32_t uiRecorderEnabled;
223 TraceUnsignedBaseType_t uxTraceSystemStates[TRC_CFG_CORE_COUNT];
226 TraceAssertData_t xAssertBuffer;
227 TraceEntryIndexTable_t xEntryIndexTableBuffer;
228#if (TRC_EXTERNAL_BUFFERS == 0)
229 TraceHeaderBuffer_t xHeaderBuffer;
230 TraceEntryTable_t xEntryTable;
233#if (TRC_USE_INTERNAL_BUFFER == 1)
236 TraceStreamPortBuffer_t xStreamPortBuffer;
237 TraceStaticBufferTable_t xStaticBufferBuffer;
238 TraceEventDataTable_t xEventDataBuffer;
239 TracePrintData_t xPrintBuffer;
240 TraceErrorData_t xErrorBuffer;
241 TraceISRData_t xISRBuffer;
242 TraceKernelPortDataBuffer_t xKernelPortBuffer;
243 TraceTaskData_t xTaskInfoBuffer;
244 TraceStackMonitorData_t xStackMonitorBuffer;
245 TraceDiagnosticsData_t xDiagnosticsBuffer;
246 TraceExtensionData_t xExtensionBuffer;
247 TraceCounterData_t xCounterBuffer;
248 TraceTaskMonitorData_t xTaskMonitorBuffer;
249} TraceRecorderData_t;
251extern TraceRecorderData_t* pxTraceRecorderData;
252extern uint32_t RecorderInitialized;
270#define xTraceIsRecorderEnabled() (xTraceIsRecorderInitialized() && pxTraceRecorderData->uiRecorderEnabled)
278#define xTraceIsRecorderInitialized() xTraceIsComponentInitialized(TRC_RECORDER_COMPONENT_CORE)
288#define xTraceSetComponentInitialized(uiComponentBit) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(RecorderInitialized |= (uiComponentBit), TRC_SUCCESS)
298#define xTraceIsComponentInitialized(uiComponentBit) (RecorderInitialized & (uiComponentBit))
308#define xTraceStateSet(uxState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceRecorderData->uxTraceSystemStates[TRC_CFG_GET_CURRENT_CORE()] = (uxState), TRC_SUCCESS)
318#define xTraceStateGet(puxState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(puxState) = pxTraceRecorderData->uxTraceSystemStates[TRC_CFG_GET_CURRENT_CORE()], TRC_SUCCESS)
332#if (TRC_CFG_RECORDER_BUFFER_ALLOCATION == TRC_RECORDER_BUFFER_ALLOCATION_CUSTOM)
341traceResult xTraceSetBuffer(TraceRecorderData_t *pxBuffer);
343#define xTraceSetBuffer(p) (TRC_SUCCESS)
359#define xTraceInitialize() (TRC_SUCCESS)
360#define xTraceEnable(x) ((void)(x), TRC_SUCCESS)
361#define xTraceDisable() (TRC_SUCCESS)
363#define prvTraceSetReadyEventsEnabled(status) (void)(status)
365#define vTraceExcludeTask(handle) (void)(handle)
367#define vTraceConsoleChannelPrintF(fmt, ...) (void)(fmt)
369#ifndef TRC_ALLOC_CUSTOM_BUFFER
370#define TRC_ALLOC_CUSTOM_BUFFER(bufname)
373#define xTraceIsRecorderEnabled() (0)
374#define xTraceIsRecorderInitialized() (0)
376#define xTraceSetBuffer(p) (TRC_SUCCESS)
377#define xTraceGetEventBuffer(p) (TRC_FAIL)
379#define vTraceSetStopHook(x) (void)(x)
381#define TraceRecorderData_t uint32_t
388#define vTraceInitialize (void)xTraceInitialize
393#define vTraceEnable (void)xTraceEnable
398#define vTraceStop (void)xTraceDisable
403#define vTraceInstanceFinishedNow (void)xTraceTaskInstanceFinishedNow
408#define vTraceInstanceFinishedNext (void)xTraceTaskInstanceFinishedNext
413#define vTracePrintF (void)xTracePrintF
418#define vTraceVPrintF (void)xTraceVPrintF
423#define vTracePrint (void)xTracePrint
428#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:452
traceResult xTraceHeaderInitialize(TraceHeaderBuffer_t *pxBuffer)
Initializes the header data.
Definition trcStreamingRecorder.c:281
traceResult xTraceInitialize(void)
Initializes the recorder data. xTraceInitialize() or xTraceEnable(...) must be called before any atte...
Definition trcStreamingRecorder.c:136
traceResult xTraceDisable(void)
Disables tracing.
Definition trcStreamingRecorder.c:415
traceResult xTraceGetEventBuffer(void **ppvBuffer, TraceUnsignedBaseType_t *puiSize)
Retrieve the event buffer and event buffer size.
Definition trcStreamingRecorder.c:438
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.