Percepio Trace Recorder  v4.6.6
Trace Multi-Core Event Buffer APIs

Data Structures

struct  TraceMultiCoreEventBuffer
 Trace Multi-Core Event Buffer Structure. More...
 

Macros

#define xTraceMultiCoreEventBufferPush(pxTraceMultiCoreEventBuffer, pvData, uiSize, piBytesWritten)   xTraceEventBufferPush((pxTraceMultiCoreEventBuffer)->xEventBuffer[TRC_CFG_GET_CURRENT_CORE()], pvData, uiSize, piBytesWritten)
 Pushes data into multi-core trace event buffer. More...
 

Typedefs

typedef struct TraceMultiCoreEventBuffer TraceMultiCoreEventBuffer_t
 Trace Multi-Core Event Buffer Structure.
 

Functions

traceResult xTraceMultiCoreEventBufferTransfer (TraceMultiCoreEventBuffer_t *pxTraceMultiCoreEventBuffer, int32_t *piBytesWritten)
 Transfer multi-core trace event buffer data through streamport. More...
 
traceResult xTraceMultiCoreEventBufferClear (TraceMultiCoreEventBuffer_t *pxTraceMultiCoreEventBuffer)
 Clears all data from event buffer. More...
 

Detailed Description

Macro Definition Documentation

◆ xTraceMultiCoreEventBufferPush

#define xTraceMultiCoreEventBufferPush (   pxTraceMultiCoreEventBuffer,
  pvData,
  uiSize,
  piBytesWritten 
)    xTraceEventBufferPush((pxTraceMultiCoreEventBuffer)->xEventBuffer[TRC_CFG_GET_CURRENT_CORE()], pvData, uiSize, piBytesWritten)

Pushes data into multi-core trace event buffer.

This routine attempts to push data into the multi-core trace event buffer. Selection of which core the data is pushed for is managed automatically through the TRC_CFG_GET_CURRENT_CORE macro which is defined on an RTOS basis.

Parameters
[in]pxTraceMultiCoreEventBufferPointer to initialized multi-core event buffer.
[in]pvDataPointer to data should be pushed into multi-core event buffer.
[in]uiSizeSize of data that should be pushed into multi-core trace event buffer.
[out]piBytesWrittenPointer to variable which the routine will write the number of bytes that was pushed into the multi-core trace event buffer.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

Function Documentation

◆ xTraceMultiCoreEventBufferClear()

traceResult xTraceMultiCoreEventBufferClear ( TraceMultiCoreEventBuffer_t pxTraceMultiCoreEventBuffer)

Clears all data from event buffer.

Parameters
[in]pxTraceMultiCoreEventBufferPointer to initialized multi-core trace event buffer.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceMultiCoreEventBufferTransfer()

traceResult xTraceMultiCoreEventBufferTransfer ( TraceMultiCoreEventBuffer_t pxTraceMultiCoreEventBuffer,
int32_t *  piBytesWritten 
)

Transfer multi-core trace event buffer data through streamport.

This routine will attempt to transfer all existing data in the multi-core trace event buffer through the streamport. New data pushed to the trace event buffer during the execution of this routine will not be transfered to

Parameters
[in]pxTraceMultiCoreEventBufferPointer to initialized multi-core event buffer.
[out]piBytesWrittenPointer to variable which the routine will write the number of bytes that was pushed into the multi-core trace event buffer.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess