12#ifndef TRC_STREAM_PORT_H
13#define TRC_STREAM_PORT_H
15#if (TRC_USE_TRACEALYZER_RECORDER == 1)
18#include <trcStreamPortConfig.h>
30#define TRC_EXTERNAL_BUFFERS 1
37#define TRC_SEND_NAME_ONLY_ON_DELETE 1
45#define TRC_CFG_STREAM_PORT_USE_INTERNAL_BUFFER 0
48#define TRC_USE_CUSTOM_STREAMPORT_ALLOCATION
50#define TRC_STREAM_PORT_BUFFER_SIZE (((uint32_t)(TRC_CFG_STREAM_PORT_BUFFER_SIZE) / sizeof(TraceUnsignedBaseType_t)) * sizeof(TraceUnsignedBaseType_t))
55typedef struct TraceMultiCoreBuffer
57 TraceUnsignedBaseType_t uxSize;
58 uint8_t uiBuffer[TRC_STREAM_PORT_BUFFER_SIZE];
59} TraceMultiCoreBuffer_t;
64typedef struct TraceRingBuffer
67 volatile uint8_t START_MARKERS[12];
68 TraceHeaderBuffer_t xHeaderBuffer;
70 TraceEntryTable_t xEntryTable;
71 TraceMultiCoreBuffer_t xEventBuffer;
72 volatile uint8_t END_MARKERS[12];
82 TraceRingBuffer_t xRingBuffer;
83} TraceStreamPortBuffer_t;
85extern TraceStreamPortBuffer_t* pxStreamPortData;
97traceResult xTraceStreamPortInitialize(TraceStreamPortBuffer_t* pxBuffer);
108#define xTraceStreamPortAllocate(_uiSize, _ppvData) xTraceMultiCoreEventBufferAlloc(&pxStreamPortData->xMultiCoreEventBuffer, _uiSize, _ppvData)
122#define xTraceStreamPortCommit(_pvData, _uiSize, _piBytesCommitted) xTraceMultiCoreEventBufferAllocCommit(&pxStreamPortData->xMultiCoreEventBuffer, _pvData, _uiSize, _piBytesCommitted)
134#define xTraceStreamPortWriteData(_pvData, _uiSize, _uiChannel, _piBytesWritten) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_5((void)(_pvData), (void)(_uiSize), (void)(_uiChannel), (void)(_piBytesWritten), TRC_SUCCESS)
146#define xTraceStreamPortReadData(pvData, uiSize, piBytesRead) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)(pvData), (void)(uiSize), (void)(piBytesRead), TRC_SUCCESS)
156#define xTraceStreamPortOnEnable(uiStartOption) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)(uiStartOption), TRC_SUCCESS)
164#define xTraceStreamPortOnDisable() TRC_COMMA_EXPR_TO_STATEMENT_EXPR_1(TRC_SUCCESS)
172traceResult xTraceStreamPortOnTraceBegin(
void);
180#define xTraceStreamPortOnTraceEnd() TRC_COMMA_EXPR_TO_STATEMENT_EXPR_1(TRC_SUCCESS)
struct TraceMultiCoreEventBuffer TraceMultiCoreEventBuffer_t
Trace Multi-Core Event Buffer Structure.
struct TraceTimestampData TraceTimestampData_t
Trace Timestamp Structure.
A structure representing the trace stream port buffer.
Definition trcStreamPort.h:71
The public API of the Percepio trace recorder.