17#ifndef TRC_STREAM_PORT_H
18#define TRC_STREAM_PORT_H
20#if (TRC_USE_TRACEALYZER_RECORDER == 1)
26#include <trcDefines.h>
28#include <trcStreamPortConfig.h>
30#include <SEGGER_RTT_Conf.h>
31#include <SEGGER_RTT.h>
38#define TRC_STREAM_PORT_RTT_UP_BUFFER_SIZE ((((TRC_CFG_STREAM_PORT_RTT_UP_BUFFER_SIZE) + sizeof(TraceUnsignedBaseType_t) - 1) / sizeof(TraceUnsignedBaseType_t)) * sizeof(TraceUnsignedBaseType_t))
41#define TRC_STREAM_PORT_RTT_DOWN_BUFFER_SIZE ((((TRC_CFG_STREAM_PORT_RTT_DOWN_BUFFER_SIZE) + sizeof(TraceUnsignedBaseType_t) - 1) / sizeof(TraceUnsignedBaseType_t)) * sizeof(TraceUnsignedBaseType_t))
43#if (defined(TRC_CFG_STREAM_PORT_RTT_NO_LOCK_WRITE) && TRC_CFG_STREAM_PORT_RTT_NO_LOCK_WRITE == 1)
44#define TRC_STREAM_PORT_SEGGER_RTT_WRITE SEGGER_RTT_WriteNoLock
46#define TRC_STREAM_PORT_SEGGER_RTT_WRITE SEGGER_RTT_Write
49#ifndef TRC_STREAM_PORT_MULTISTREAM_SUPPORT
51#define TRC_STREAM_PORT_MULTISTREAM_GET_CHANNEL(uiChannel) 0
53#define TRC_STREAM_PORT_MULTISTREAM_GET_CHANNEL(uiChannel) uiChannel
61 uint8_t bufferUp[TRC_CFG_CORE_COUNT][TRC_STREAM_PORT_RTT_UP_BUFFER_SIZE];
62 uint8_t bufferDown[TRC_STREAM_PORT_RTT_DOWN_BUFFER_SIZE];
63} TraceStreamPortBuffer_t;
75traceResult xTraceStreamPortInitialize(TraceStreamPortBuffer_t* pxBuffer);
88#define xTraceStreamPortWriteData(pvData, uiSize, uiChannel, piBytesWritten) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(piBytesWritten) = (int32_t)TRC_STREAM_PORT_SEGGER_RTT_WRITE((TRC_CFG_STREAM_PORT_RTT_UP_BUFFER_INDEX) + TRC_STREAM_PORT_MULTISTREAM_GET_CHANNEL(uiChannel), (const char*)pvData, uiSize), TRC_SUCCESS)
100#define xTraceStreamPortReadData(pvData, uiSize, piBytesRead) ((SEGGER_RTT_HASDATA(TRC_CFG_STREAM_PORT_RTT_DOWN_BUFFER_INDEX)) ? (*(piBytesRead) = (int32_t)SEGGER_RTT_Read((TRC_CFG_STREAM_PORT_RTT_DOWN_BUFFER_INDEX), (char*)(pvData), uiSize), TRC_SUCCESS) : TRC_SUCCESS)
102traceResult xTraceStreamPortOnEnable(uint32_t uiStartOption);
104#define xTraceStreamPortOnDisable() (void)(TRC_SUCCESS)
106#define xTraceStreamPortOnTraceBegin() (void)(TRC_SUCCESS)
108#define xTraceStreamPortOnTraceEnd() (void)(TRC_SUCCESS)
A structure representing the trace stream port buffer.
Definition trcStreamPort.h:71