freertos: release the generic version source code
freertos runs on the second core (small one) of the CPU
This commit is contained in:
615
freertos/Tracealyzer/include/trcEvent.h
Executable file
615
freertos/Tracealyzer/include/trcEvent.h
Executable file
@ -0,0 +1,615 @@
|
||||
/*
|
||||
* Percepio Trace Recorder for Tracealyzer v4.6.4
|
||||
* Copyright 2021 Percepio AB
|
||||
* www.percepio.com
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* @brief Public trace event APIs.
|
||||
*/
|
||||
|
||||
#ifndef TRC_EVENT_H
|
||||
#define TRC_EVENT_H
|
||||
|
||||
#if (TRC_USE_TRACEALYZER_RECORDER == 1)
|
||||
|
||||
#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)
|
||||
|
||||
#include <trcTypes.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup trace_event_apis Trace Event APIs
|
||||
* @ingroup trace_recorder_apis
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @internal Macro helper for setting trace event parameter count.
|
||||
*/
|
||||
#define TRC_EVENT_SET_PARAM_COUNT(id, n) (((uint16_t)(id)) | ((((uint16_t)(n)) & 0xF) << 12))
|
||||
|
||||
/**
|
||||
* @internal Macro helper for getting trace event parameter count.
|
||||
*/
|
||||
#define TRC_EVENT_GET_PARAM_COUNT(id) (((id) >> 12) & 0xF)
|
||||
|
||||
#if (TRC_CFG_CORE_COUNT > 1)
|
||||
#define TRC_EVENT_SET_EVENT_COUNT(c) (((TRC_CFG_GET_CURRENT_CORE() & 0xF) << 12) | ((uint16_t)(c) & 0xFFF))
|
||||
#else
|
||||
#define TRC_EVENT_SET_EVENT_COUNT(c) (uint16_t)(c)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @internal Macro helpder for setting base event data.
|
||||
*/
|
||||
#define SET_BASE_EVENT_DATA(pxEvent, eventId, paramCount, eventCount) \
|
||||
( \
|
||||
(pxEvent)->EventID = TRC_EVENT_SET_PARAM_COUNT(eventId, paramCount), \
|
||||
(pxEvent)->EventCount = TRC_EVENT_SET_EVENT_COUNT(eventCount), \
|
||||
xTraceTimestampGet(&(pxEvent)->TS) \
|
||||
)
|
||||
|
||||
/**
|
||||
* @internal Macro helper for resetting trace event data.
|
||||
*/
|
||||
#define RESET_EVENT_DATA(p) \
|
||||
( \
|
||||
(p)->pvBlob = 0, \
|
||||
(p)->size = 0, \
|
||||
(p)->offset = 0 \
|
||||
)
|
||||
|
||||
/**
|
||||
* @internal Macro optimization for getting trace event size.
|
||||
*/
|
||||
#define TRC_EVENT_GET_SIZE(pvAddress, puiSize) (*(uint32_t*)(puiSize) = sizeof(TraceBaseEvent_t) + (TRC_EVENT_GET_PARAM_COUNT(((TraceBaseEvent_t*)(pvAddress))->EventID)) * sizeof(uint32_t), TRC_SUCCESS)
|
||||
|
||||
/**
|
||||
* @internal Macro optimization for getting trace event data pointer with an offset.
|
||||
*/
|
||||
#define TRC_EVENT_GET_RAW_DATA(xEventHandle, uiOffset, uiSize, ppvData) ((void)(uiSize), *(void**)(ppvData) = (void*)&((uint8_t*)((TraceEventData_t*)(xEventHandle))->pvBlob)[uiOffset], TRC_SUCCESS)
|
||||
|
||||
/**
|
||||
* @internal Macro optimization for getting trace event payload pointer with an offset.
|
||||
*/
|
||||
#define TRC_EVENT_GET_PAYLOAD(xEventHandle, uiOffset, uiSize, ppvData) ((void)(uiSize), *(void**)(ppvData) = (void*)&((uint8_t*)((TraceEventData_t*)(xEventHandle))->pvBlob)[sizeof(TraceBaseEvent_t) + (uiOffset)], TRC_SUCCESS)
|
||||
|
||||
/**
|
||||
* @internal Macro optimization for getting trace event remaining payload size.
|
||||
*/
|
||||
#define TRC_EVENT_PAYLOAD_REMAINING(xEventHandle, puiValue) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(uint32_t*)(puiValue) = ((TraceEventData_t*)(xEventHandle))->size - ((TraceEventData_t*)(xEventHandle))->offset, TRC_SUCCESS)
|
||||
|
||||
/**
|
||||
* @internal Macro optimization for getting trace event used payload size.
|
||||
*/
|
||||
#define TRC_EVENT_PAYLOAD_USED(xEventHandle, puiValue) (*(uint32_t*)(puiValue) = ((TraceEventData_t*)(xEventHandle))->offset - sizeof(TraceBaseEvent_t), TRC_SUCCESS)
|
||||
|
||||
/**
|
||||
* @internal Macro optimization getting trace event payload size.
|
||||
*/
|
||||
#define TRC_EVENT_PAYLOAD_SIZE(xEventHandle, puiValue) (*(uint32_t*)(puiValue) = ((TraceEventData_t*)(xEventHandle))->size - sizeof(TraceBaseEvent_t), TRC_SUCCESS)
|
||||
|
||||
/**
|
||||
* @internal Macro optimization for adding a pointer address to trace event.
|
||||
*/
|
||||
#define TRC_EVENT_ADD_POINTER(xEventHandle, value) \
|
||||
TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3( \
|
||||
((void**)((TraceEventData_t*)(xEventHandle))->pvBlob)[((TraceEventData_t*)(xEventHandle))->offset / sizeof(void*)] = (value), \
|
||||
((TraceEventData_t*)(xEventHandle))->offset += sizeof(void*), \
|
||||
TRC_SUCCESS \
|
||||
)
|
||||
|
||||
/**
|
||||
* @internal Macro optimization for adding a unsigned base type to trace event.
|
||||
*/
|
||||
#define TRC_EVENT_ADD_UNSIGNED_BASE_TYPE(xEventHandle, value) \
|
||||
TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3( \
|
||||
((TraceUnsignedBaseType_t*)((TraceEventData_t*)(xEventHandle))->pvBlob)[((TraceEventData_t*)(xEventHandle))->offset / sizeof(TraceUnsignedBaseType_t)] = (value), \
|
||||
((TraceEventData_t*)(xEventHandle))->offset += sizeof(TraceUnsignedBaseType_t), \
|
||||
TRC_SUCCESS \
|
||||
)
|
||||
|
||||
/**
|
||||
* @internal Macro optimization for adding a 32-bit value to trace event.
|
||||
*/
|
||||
#define TRC_EVENT_ADD_32(xEventHandle, value) \
|
||||
TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3( \
|
||||
((uint32_t*)((TraceEventData_t*)(xEventHandle))->pvBlob)[((TraceEventData_t*)(xEventHandle))->offset / sizeof(uint32_t)] = (value), \
|
||||
((TraceEventData_t*)(xEventHandle))->offset += sizeof(uint32_t), \
|
||||
TRC_SUCCESS \
|
||||
)
|
||||
|
||||
/**
|
||||
* @internal Macro optimization for adding a 16-bit value to trace event.
|
||||
*/
|
||||
#define TRC_EVENT_ADD_16(xEventHandle, value) \
|
||||
TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3( \
|
||||
((uint16_t*)((TraceEventData_t*)(xEventHandle))->pvBlob)[((TraceEventData_t*)(xEventHandle))->offset / sizeof(uint16_t)] = (value), \
|
||||
((TraceEventData_t*)(xEventHandle))->offset += sizeof(uint16_t), \
|
||||
TRC_SUCCESS \
|
||||
)
|
||||
|
||||
/**
|
||||
* @internal Macro optimization for adding a 8-bit value to trace event.
|
||||
*/
|
||||
#define TRC_EVENT_ADD_8(xEventHandle, value) \
|
||||
TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3( \
|
||||
((uint8_t*)((TraceEventData_t*)(xEventHandle))->pvBlob)[((TraceEventData_t*)(xEventHandle))->offset / sizeof(uint8_t)] = (value), \
|
||||
((TraceEventData_t*)(xEventHandle))->offset += sizeof(uint8_t), \
|
||||
TRC_SUCCESS \
|
||||
)
|
||||
|
||||
/**
|
||||
* @internal Macro optimization for beginning an offline trace event.
|
||||
*/
|
||||
#define TRC_EVENT_BEGIN_OFFLINE(uiEventCode, uiPayloadSize, pxEventHandle) \
|
||||
( \
|
||||
(xTraceEventBeginRawOffline(sizeof(TraceBaseEvent_t) + (uiPayloadSize), pxEventHandle)) == TRC_SUCCESS ? \
|
||||
( \
|
||||
pxTraceEventDataTable->coreEventData[TRC_CFG_GET_CURRENT_CORE()].eventCounter++, \
|
||||
SET_BASE_EVENT_DATA((TraceBaseEvent_t*)(((TraceEventData_t*)*(pxEventHandle))->pvBlob), \
|
||||
uiEventCode, \
|
||||
(((TraceEventData_t*)*(pxEventHandle))->size - sizeof(TraceBaseEvent_t)) / sizeof(uint32_t), \
|
||||
pxTraceEventDataTable->coreEventData[TRC_CFG_GET_CURRENT_CORE()].eventCounter), \
|
||||
((TraceEventData_t*)*(pxEventHandle))->offset += sizeof(TraceBaseEvent_t), \
|
||||
TRC_SUCCESS \
|
||||
) : TRC_FAIL \
|
||||
)
|
||||
|
||||
/**
|
||||
* @internal Macro optimization for ending an offline trace event.
|
||||
*/
|
||||
#define TRC_EVENT_END_OFFLINE(xEventHandle) \
|
||||
TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4( \
|
||||
xTraceStreamPortCommit(((TraceEventData_t*)(xEventHandle))->pvBlob, \
|
||||
((TraceEventData_t*)(xEventHandle))->size, &DUMMY_iTraceBytesCommitted), \
|
||||
RESET_EVENT_DATA((TraceEventData_t*)(xEventHandle)), \
|
||||
TRC_SUCCESS \
|
||||
)
|
||||
|
||||
/**
|
||||
* @internal Trace Base Event Structure
|
||||
*/
|
||||
typedef struct {
|
||||
uint16_t EventID; /**< */
|
||||
uint16_t EventCount; /**< */
|
||||
uint32_t TS; /**< */
|
||||
} TraceBaseEvent_t;
|
||||
|
||||
/**
|
||||
* @internal Trace Event Data Structure
|
||||
*/
|
||||
typedef struct TraceEventData
|
||||
{
|
||||
void* pvBlob; /**< */
|
||||
uint32_t size; /**< */
|
||||
uint32_t offset; /**< */
|
||||
} TraceEventData_t;
|
||||
|
||||
/**
|
||||
* @internal Trace Core Event Data Structure
|
||||
*/
|
||||
typedef struct TraceCoreEventData
|
||||
{
|
||||
TraceEventData_t eventData[(TRC_CFG_MAX_ISR_NESTING)+1]; /**< */
|
||||
uint32_t eventCounter; /**< */
|
||||
} TraceCoreEventData_t;
|
||||
|
||||
/**
|
||||
* @internal Trace Event Data Table Structure.
|
||||
*/
|
||||
typedef struct TraceEventDataTable
|
||||
{
|
||||
TraceCoreEventData_t coreEventData[TRC_CFG_CORE_COUNT]; /**< Holds data about current event for each core/isr depth */
|
||||
} TraceEventDataTable_t;
|
||||
|
||||
#define TRC_EVENT_DATA_BUFFER_SIZE (sizeof(TraceEventDataTable_t))
|
||||
|
||||
/**
|
||||
* @internal Trace Event Data Buffer Structure.
|
||||
*/
|
||||
typedef struct TraceEventDataBuffer
|
||||
{
|
||||
uint8_t buffer[TRC_EVENT_DATA_BUFFER_SIZE]; /**< */
|
||||
} TraceEventDataBuffer_t;
|
||||
|
||||
extern TraceEventDataTable_t* pxTraceEventDataTable;
|
||||
|
||||
/**
|
||||
* @internal Initialize event trace system.
|
||||
*
|
||||
* @param[in] pxBuffer Pointer to memory that will be used by the event
|
||||
* trace system.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventInitialize(TraceEventDataBuffer_t* pxBuffer);
|
||||
|
||||
/**
|
||||
* @brief Gets trace event size.
|
||||
*
|
||||
* @param[in] pvAddress Pointer to initialized trace event.
|
||||
* @param[out] puiSize Size.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventGetSize(void* pvAddress, uint32_t* puiSize);
|
||||
|
||||
/**
|
||||
* @internal Begins a raw trace event offline.
|
||||
*
|
||||
* This routine begins a trace event with specified size. Must call xTraceEventEnd()
|
||||
* to finalize event creation. Does not care about RecorderEnabled.
|
||||
*
|
||||
* @param[in] uiSize Size.
|
||||
* @param[in] pxEventHandle Pointer to initialized trace event.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventBeginRawOffline(uint32_t uiSize, TraceEventHandle_t* pxEventHandle);
|
||||
|
||||
/**
|
||||
* @internal Begins a blocking trace event offline.
|
||||
*
|
||||
* This routine begins a trace event with specified size. Must call xTraceEventEnd()
|
||||
* to finalize event creation. Does not care about RecorderEnabled.
|
||||
*
|
||||
* @param[in] uiSize Size.
|
||||
* @param[in] pxEventHandle Pointer to initialized trace event.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventBeginRawOfflineBlocking(uint32_t uiSize, TraceEventHandle_t* pxEventHandle);
|
||||
|
||||
/**
|
||||
* @internal Begins a trace event offline.
|
||||
*
|
||||
* This routine begins a trace event with specified size. Must call xTraceEventEnd()
|
||||
* to finalize event creation. Does not care about RecorderEnabled.
|
||||
*
|
||||
* @param[in] uiSize Size.
|
||||
* @param[in] pxEventHandle Pointer to initialized trace event.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
#define xTraceEventBeginOffline TRC_EVENT_BEGIN_OFFLINE
|
||||
|
||||
/**
|
||||
* @brief Begins a trace event.
|
||||
*
|
||||
* This routine begins a trace event with specified size. Must call xTraceEventEnd()
|
||||
* to finalize event creation. Does not care about RecorderEnabled.
|
||||
*
|
||||
* @param[in] uiSize Size.
|
||||
* @param[in] pxEventHandle Pointer to initialized trace event.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
#define xTraceEventBegin(uiEventCode, uiTotalPayloadSize, pxEventHandle) \
|
||||
(xTraceIsRecorderEnabled() ? xTraceEventBeginOffline(uiEventCode, uiTotalPayloadSize, pxEventHandle) : TRC_FAIL)
|
||||
|
||||
/**
|
||||
* @internal Ends a trace event offline.
|
||||
*
|
||||
* This routine ends the event that was begun by calling on xTraceEventBegin().
|
||||
* Does not care about uiRecorderEnabled.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventEndOffline(TraceEventHandle_t xEventHandle);
|
||||
|
||||
/**
|
||||
* @internal Ends a blocking event offline.
|
||||
*
|
||||
* Ends the event that was begun by calling on xTraceEventBegin()
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventEndOfflineBlocking(TraceEventHandle_t xEventHandle);
|
||||
|
||||
/**
|
||||
* @brief Ends a trace event.
|
||||
*
|
||||
* This routine ends the event that was begun by calling on xTraceEventBegin().
|
||||
* Does not care about uiRecorderEnabled.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
#define xTraceEventEnd(xEventHandle) \
|
||||
(xTraceIsRecorderEnabled() == 0 ? TRC_FAIL : xTraceEventEndOffline(xEventHandle))
|
||||
|
||||
/**
|
||||
* @brief Adds data to event payload.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[in] pvData Pointer to data.
|
||||
* @param[in] uiSize Size.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventAddData(TraceEventHandle_t xEventHandle, void* pvData, uint32_t uiSize);
|
||||
|
||||
#if ((TRC_CFG_USE_TRACE_ASSERT) == 1)
|
||||
|
||||
/**
|
||||
* @brief Gets trace event data pointer with an offset.
|
||||
*
|
||||
* This routine gets a trace event data pointer with an offset. It also verfies
|
||||
* that the size so it won't go outside its buffer.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[in] uiOffset Offset.
|
||||
* @param[in] uiSize Size.
|
||||
* @param[out] ppvData Data.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventGetRawData(TraceEventHandle_t xEventHandle, uint32_t uiOffset, uint32_t uiSize, void** ppvData);
|
||||
|
||||
/**
|
||||
* @brief Gets trace event payload pointer with an offset.
|
||||
*
|
||||
* This routine gets a trace event payload pointer with an offset. It also verifies
|
||||
* that the size so it won't go outside its payload buffer.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[in] uiOffset Offset.
|
||||
* @param[in] uiSize Size.
|
||||
* @param[out] ppvData Data.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventGetPayload(TraceEventHandle_t xEventHandle, uint32_t uiOffset, uint32_t uiSize, void** ppvData);
|
||||
|
||||
/**
|
||||
* @brief Gets the amount of remaining trace event payload.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[out] puiValue Value.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventPayloadRemaining(TraceEventHandle_t xEventHandle, uint32_t* puiValue);
|
||||
|
||||
/**
|
||||
* @brief Gets the amount of used trace event payload.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[out] puiValue Value
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventPayloadUsed(TraceEventHandle_t xEventHandle, uint32_t* puiValue);
|
||||
|
||||
/**
|
||||
* @brief Gets trace event payload size.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[out] puiValue Value
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventPayloadSize(TraceEventHandle_t xEventHandle, uint32_t* puiValue);
|
||||
|
||||
/**
|
||||
* @brief Adds an unsigned base type value as trace event payload
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[in] uxValue Value.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventAddUnsignedBaseType(TraceEventHandle_t xEventHandle, TraceUnsignedBaseType_t uxValue);
|
||||
|
||||
/**
|
||||
* @brief Adds a pointer address as trace event payload
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[in] pvAddress Address.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventAddPointer(TraceEventHandle_t xEventHandle, void *pvAddress);
|
||||
|
||||
/**
|
||||
* @brief Adds an uint32_t as trace event payload
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[in] value Value.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventAdd32(TraceEventHandle_t xEventHandle, uint32_t value);
|
||||
|
||||
/**
|
||||
* @brief Adds an uint16_t as trace event payload
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[in] value Value.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventAdd16(TraceEventHandle_t xEventHandle, uint16_t value);
|
||||
|
||||
/**
|
||||
* @brief Adds an uint8_t as trace event payload.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[in] value Value.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
traceResult xTraceEventAdd8(TraceEventHandle_t xEventHandle, uint8_t value);
|
||||
|
||||
#else /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */
|
||||
|
||||
/**
|
||||
* @brief Gets trace event size.
|
||||
*
|
||||
* @param[in] pvAddress Pointer to initialized trace event.
|
||||
* @param[out] puiSize Size.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
#define xTraceEventGetSize(pvAddress, puiSize) (*(uint32_t*)(puiSize) = sizeof(TraceBaseEvent_t) + (TRC_EVENT_GET_PARAM_COUNT(((TraceBaseEvent_t*)(pvAddress))->EventID)) * sizeof(uint32_t), TRC_SUCCESS)
|
||||
|
||||
/**
|
||||
* @brief Gets trace event data pointer with an offset.
|
||||
*
|
||||
* This routine gets a trace event data pointer with an offset. It also verfies
|
||||
* that the size so it won't go outside its buffer.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[in] uiOffset Offset.
|
||||
* @param[in] uiSize Size.
|
||||
* @param[out] ppvData Data.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
#define xTraceEventGetRawData TRC_EVENT_GET_RAW_DATA
|
||||
|
||||
/**
|
||||
* @brief Gets trace event payload pointer with an offset.
|
||||
*
|
||||
* This routine gets a trace event payload pointer with an offset. It also verifies
|
||||
* that the size so it won't go outside its payload buffer.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[in] uiOffset Offset.
|
||||
* @param[in] uiSize Size.
|
||||
* @param[out] ppvData Data.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
#define xTraceEventGetPayload TRC_EVENT_GET_PAYLOAD
|
||||
|
||||
/**
|
||||
* @brief Gets the amount of remaining trace event payload.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[out] puiValue Value.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
#define xTraceEventPayloadRemaining TRC_EVENT_PAYLOAD_REMAINING
|
||||
|
||||
/**
|
||||
* @brief Gets the amount of used trace event payload.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[out] puiValue Value
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
#define xTraceEventPayloadUsed TRC_EVENT_PAYLOAD_USED
|
||||
|
||||
/**
|
||||
* @brief Gets trace event payload size.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[out] puiValue Value
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
#define xTraceEventPayloadSize TRC_EVENT_PAYLOAD_SIZE
|
||||
|
||||
/* Adds a pointer as event payload with no errors checks */
|
||||
#define xTraceEventAddPointer TRC_EVENT_ADD_POINTER
|
||||
|
||||
/**
|
||||
* @brief Adds an unsigned base type value as trace event payload
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[in] uxValue Value.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
#define xTraceEventAddUnsignedBaseType TRC_EVENT_ADD_UNSIGNED_BASE_TYPE
|
||||
|
||||
/**
|
||||
* @brief Adds an uint32_t as trace event payload
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[in] value Value.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
#define xTraceEventAdd32 TRC_EVENT_ADD_32
|
||||
|
||||
/**
|
||||
* @brief Adds an uint16_t as trace event payload
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[in] value Value.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
#define xTraceEventAdd16 TRC_EVENT_ADD_16
|
||||
|
||||
/**
|
||||
* @brief Adds an uint8_t as trace event payload.
|
||||
*
|
||||
* @param[in] xEventHandle Pointer to initialized trace event.
|
||||
* @param[in] value Value.
|
||||
*
|
||||
* @retval TRC_FAIL Failure
|
||||
* @retval TRC_SUCCESS Success
|
||||
*/
|
||||
#define xTraceEventAdd8 TRC_EVENT_ADD_8
|
||||
|
||||
#endif /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */
|
||||
|
||||
/** @} */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */
|
||||
|
||||
#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */
|
||||
|
||||
#endif /* TRC_EVENT_H */
|
||||
Reference in New Issue
Block a user