12#ifndef TRC_STREAM_PORT_H
13#define TRC_STREAM_PORT_H
15#if (TRC_USE_TRACEALYZER_RECORDER == 1)
17#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)
20#include <trcStreamPortConfig.h>
32#define TRC_EXTERNAL_BUFFERS 1
39#define TRC_SEND_NAME_ONLY_ON_DELETE 1
47#define TRC_USE_INTERNAL_BUFFER 0
49#define TRC_STREAM_PORT_BUFFER_SIZE (((uint32_t)(TRC_CFG_STREAM_PORT_BUFFER_SIZE) / sizeof(TraceUnsignedBaseType_t)) * sizeof(TraceUnsignedBaseType_t))
54typedef struct TraceMultiCoreBuffer
56 TraceUnsignedBaseType_t uxSize;
57 uint8_t uiBuffer[TRC_STREAM_PORT_BUFFER_SIZE];
58} TraceMultiCoreBuffer_t;
63typedef struct TraceRingBuffer
66 volatile uint8_t START_MARKERS[12];
67 TraceHeaderBuffer_t xHeaderBuffer;
69 TraceEntryTable_t xEntryTable;
70 TraceMultiCoreBuffer_t xEventBuffer;
71 volatile uint8_t END_MARKERS[12];
78typedef struct TraceStreamPortData
81 TraceRingBuffer_t xRingBuffer;
82} TraceStreamPortData_t;
84extern TraceStreamPortData_t* pxStreamPortData;
90#define TRC_STREAM_PORT_DATA_BUFFER_SIZE (sizeof(TraceStreamPortData_t))
97 uint8_t buffer[(TRC_STREAM_PORT_DATA_BUFFER_SIZE)];
121#define xTraceStreamPortAllocate(_uiSize, _ppvData) xTraceMultiCoreEventBufferAlloc(&pxStreamPortData->xMultiCoreEventBuffer, _uiSize, _ppvData)
135#define xTraceStreamPortCommit(_pvData, _uiSize, _piBytesCommitted) xTraceMultiCoreEventBufferAllocCommit(&pxStreamPortData->xMultiCoreEventBuffer, _pvData, _uiSize, _piBytesCommitted)
147#define xTraceStreamPortWriteData(_pvData, _uiSize, _piBytesWritten) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)(_pvData), (void)(_uiSize), (void)(_piBytesWritten), TRC_SUCCESS)
159#define xTraceStreamPortReadData(pvData, uiSize, piBytesRead) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)(pvData), (void)(uiSize), (void)(piBytesRead), TRC_SUCCESS)
169#define xTraceStreamPortOnEnable(uiStartOption) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)(uiStartOption), TRC_SUCCESS)
177#define xTraceStreamPortOnDisable() TRC_COMMA_EXPR_TO_STATEMENT_EXPR_1(TRC_SUCCESS)
185traceResult xTraceStreamPortOnTraceBegin(
void);
193#define xTraceStreamPortOnTraceEnd() TRC_COMMA_EXPR_TO_STATEMENT_EXPR_1(TRC_SUCCESS)
Trace Multi-Core Event Buffer Structure.
Definition: trcMultiCoreEventBuffer.h:38
A structure representing the trace stream port buffer.
Definition: trcStreamPort.h:93
Trace Timestamp Structure.
Definition: trcTimestamp.h:38
The public API of the Percepio trace recorder.