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 ((((TRC_CFG_STREAM_PORT_BUFFER_SIZE) + sizeof(uint32_t) - 1) / sizeof(uint32_t)) * sizeof(uint32_t))
54 typedef struct TraceMultiCoreBuffer
57 uint8_t uiBuffer[TRC_STREAM_PORT_BUFFER_SIZE];
58 } TraceMultiCoreBuffer_t;
63 typedef struct TraceRingBuffer
65 volatile uint8_t START_MARKERS[12];
66 TraceHeaderBuffer_t xHeaderBuffer;
67 TraceTimestampBuffer_t xTimestampInfo;
69 TraceMultiCoreBuffer_t xEventBuffer;
70 volatile uint8_t END_MARKERS[12];
76 typedef struct TraceStreamPortData
79 TraceRingBuffer_t xRingBuffer;
80 } TraceStreamPortData_t;
82 extern TraceStreamPortData_t* pxStreamPortData;
88 #define TRC_STREAM_PORT_DATA_BUFFER_SIZE (sizeof(TraceStreamPortData_t))
95 uint8_t buffer[(TRC_STREAM_PORT_DATA_BUFFER_SIZE)];
119 #define xTraceStreamPortAllocate(uiSize, ppvData) ((void)uiSize, xTraceStaticBufferGet(ppvData))
133 traceResult xTraceStreamPortCommit(
void* pvData, uint32_t uiSize, int32_t* piBytesCommitted);
145 #define xTraceStreamPortWriteData(pvData, uiSize, piBytesWritten) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)(pvData), (void)(uiSize), (void)(piBytesWritten), TRC_SUCCESS)
157 #define xTraceStreamPortReadData(pvData, uiSize, piBytesRead) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)(pvData), (void)(uiSize), (void)(piBytesRead), TRC_SUCCESS)
167 #define xTraceStreamPortOnEnable(uiStartOption) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)(uiStartOption), TRC_SUCCESS)
175 #define xTraceStreamPortOnDisable() TRC_COMMA_EXPR_TO_STATEMENT_EXPR_1(TRC_SUCCESS)
183 traceResult xTraceStreamPortOnTraceBegin(
void);
191 #define xTraceStreamPortOnTraceEnd() TRC_COMMA_EXPR_TO_STATEMENT_EXPR_1(TRC_SUCCESS)