Percepio Trace Recorder v4.8.0.hotfix1
Loading...
Searching...
No Matches
Trace Task APIs

Macros

#define xTraceTaskRegister(pvTask, szName, uxPriority, pxTaskHandle)   ((((pvTask) != 0) && (xTraceObjectRegister(PSF_EVENT_TASK_CREATE, pvTask, szName, uxPriority, (TraceObjectHandle_t*)(pxTaskHandle)) == TRC_SUCCESS)) ? (xTraceStackMonitorAdd(pvTask), TRC_SUCCESS) : TRC_FAIL)
 Register trace task in the trace.
 
#define xTraceTaskSetName   xTraceObjectSetName
 Sets trace task name.
 
#define xTraceTaskRegisterWithoutHandle(pvTask, szName, uxPriority)   ((((pvTask) != 0) && (xTraceObjectRegisterWithoutHandle(PSF_EVENT_TASK_CREATE, pvTask, szName, uxPriority) == TRC_SUCCESS)) ? (xTraceStackMonitorAdd(pvTask), TRC_SUCCESS) : TRC_FAIL)
 Registers trace task without trace task handle.
 
#define xTraceTaskUnregisterWithoutHandle(pvTask, uxPriority)   TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(xTraceStackMonitorRemove(pvTask), xTraceObjectUnregisterWithoutHandle(PSF_EVENT_TASK_DELETE, pvTask, uxPriority))
 Unregisters trace task without trace task handle.
 
#define xTraceTaskSetNameWithoutHandle   xTraceObjectSetNameWithoutHandle
 Sets trace task name without trace task handle.
 
#define xTraceTaskSetCurrent(pvTask)   TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceTaskData->coreTasks[TRC_CFG_GET_CURRENT_CORE()] = (pvTask), TRC_SUCCESS)
 Sets current trace task on current core.
 
#define xTraceTaskSetCurrentOnCore(coreId, pvTask)   TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceTaskData->coreTasks[coreId] = (pvTask), TRC_SUCCESS)
 Sets current trace task on specific core.
 
#define xTraceTaskGetCurrent(ppvTask)   TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(ppvTask) = pxTraceTaskData->coreTasks[TRC_CFG_GET_CURRENT_CORE()], TRC_SUCCESS)
 Gets current trace task on current core.
 
#define xTraceTaskGetCurrentOnCore(coreId, ppvTask)   TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(ppvTask) = pxTraceTaskData->coreTasks[coreId], TRC_SUCCESS)
 Gets current trace task on specific core.
 
#define xTraceTaskGetCurrentReturn()   (pxTraceTaskData->coreTasks[TRC_CFG_GET_CURRENT_CORE()])
 Returns current trace task.
 
#define xTraceTaskInstanceFinishedNow()   xTraceEventCreate0(PSF_EVENT_IFE_DIRECT)
 Registers trace task instance finished event.
 
#define xTraceTaskInstanceFinishedNext()   xTraceEventCreate0(PSF_EVENT_IFE_NEXT)
 Marks the current trace task instance as finished on the next kernel call.
 

Functions

traceResult xTraceTaskUnregister (TraceTaskHandle_t xTaskHandle, TraceUnsignedBaseType_t uxPriority)
 Unregister trace task from trace.
 
traceResult xTraceTaskSetPriority (TraceTaskHandle_t xTaskHandle, TraceUnsignedBaseType_t uxPriority)
 Sets trace task priority.
 
traceResult xTraceTaskSetPriorityWithoutHandle (void *pvTask, TraceUnsignedBaseType_t uxPriority)
 Sets trace task priority without trace task handle.
 
traceResult xTraceTaskSwitch (void *pvTask, TraceUnsignedBaseType_t uxPriority)
 Registers trace task switch event.
 

Detailed Description

Macro Definition Documentation

◆ xTraceTaskGetCurrent

#define xTraceTaskGetCurrent (   ppvTask)    TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(ppvTask) = pxTraceTaskData->coreTasks[TRC_CFG_GET_CURRENT_CORE()], TRC_SUCCESS)

Gets current trace task on current core.

Parameters
[out]ppvTaskTask.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskGetCurrentOnCore

#define xTraceTaskGetCurrentOnCore (   coreId,
  ppvTask 
)    TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(ppvTask) = pxTraceTaskData->coreTasks[coreId], TRC_SUCCESS)

Gets current trace task on specific core.

Parameters
[in]coreIdCore id.
[out]ppvTaskTask.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskGetCurrentReturn

#define xTraceTaskGetCurrentReturn ( )    (pxTraceTaskData->coreTasks[TRC_CFG_GET_CURRENT_CORE()])

Returns current trace task.

Returns
Current trace task.

◆ xTraceTaskInstanceFinishedNext

#define xTraceTaskInstanceFinishedNext (   void)    xTraceEventCreate0(PSF_EVENT_IFE_NEXT)

Marks the current trace task instance as finished on the next kernel call.

If that kernel call is blocking, the instance ends after the blocking event and the corresponding return event is then the start of the next instance. If the kernel call is not blocking, the viewer instead splits the current fragment right before the kernel call, which makes this call the first event of the next instance.

Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskInstanceFinishedNow

#define xTraceTaskInstanceFinishedNow (   void)    xTraceEventCreate0(PSF_EVENT_IFE_DIRECT)

Registers trace task instance finished event.

This routine creates a trace event that ends the current task instance at this very instant. This makes the viewer split the current fragment at this point and begin a new actor instance, even if no task-switch has occurred

Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskRegister

#define xTraceTaskRegister (   pvTask,
  szName,
  uxPriority,
  pxTaskHandle 
)    ((((pvTask) != 0) && (xTraceObjectRegister(PSF_EVENT_TASK_CREATE, pvTask, szName, uxPriority, (TraceObjectHandle_t*)(pxTaskHandle)) == TRC_SUCCESS)) ? (xTraceStackMonitorAdd(pvTask), TRC_SUCCESS) : TRC_FAIL)

Register trace task in the trace.

Parameters
[in]pvTaskTask.
[in]szNameName.
[in]uxPriorityPriority.
[out]pxTaskHandlePointer to uninitialized trace task.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskRegisterWithoutHandle

#define xTraceTaskRegisterWithoutHandle (   pvTask,
  szName,
  uxPriority 
)    ((((pvTask) != 0) && (xTraceObjectRegisterWithoutHandle(PSF_EVENT_TASK_CREATE, pvTask, szName, uxPriority) == TRC_SUCCESS)) ? (xTraceStackMonitorAdd(pvTask), TRC_SUCCESS) : TRC_FAIL)

Registers trace task without trace task handle.

Parameters
[in]pvTaskTask.
[in]szNameName.
[in]uxPriorityPriority.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskSetCurrent

#define xTraceTaskSetCurrent (   pvTask)    TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceTaskData->coreTasks[TRC_CFG_GET_CURRENT_CORE()] = (pvTask), TRC_SUCCESS)

Sets current trace task on current core.

Parameters
[in]pvTaskTask.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskSetCurrentOnCore

#define xTraceTaskSetCurrentOnCore (   coreId,
  pvTask 
)    TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceTaskData->coreTasks[coreId] = (pvTask), TRC_SUCCESS)

Sets current trace task on specific core.

Parameters
[in]coreIdCore id.
[in]pvTaskTask.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskSetName

#define xTraceTaskSetName   xTraceObjectSetName

Sets trace task name.

Parameters
[in]pvTaskTask.
[in]szNameName.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskSetNameWithoutHandle

#define xTraceTaskSetNameWithoutHandle   xTraceObjectSetNameWithoutHandle

Sets trace task name without trace task handle.

Parameters
[in]pvTaskTask.
[in]szNameName.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskUnregisterWithoutHandle

#define xTraceTaskUnregisterWithoutHandle (   pvTask,
  uxPriority 
)    TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(xTraceStackMonitorRemove(pvTask), xTraceObjectUnregisterWithoutHandle(PSF_EVENT_TASK_DELETE, pvTask, uxPriority))

Unregisters trace task without trace task handle.

Parameters
[in]pvTaskTask.
[in]uxPriorityPriority.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

Function Documentation

◆ xTraceTaskSetPriority()

traceResult xTraceTaskSetPriority ( TraceTaskHandle_t  xTaskHandle,
TraceUnsignedBaseType_t  uxPriority 
)

Sets trace task priority.

Parameters
[in]xTaskHandlePointer to initialized trace task.
[in]uxPriorityPriority.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskSetPriorityWithoutHandle()

traceResult xTraceTaskSetPriorityWithoutHandle ( void *  pvTask,
TraceUnsignedBaseType_t  uxPriority 
)

Sets trace task priority without trace task handle.

Parameters
[in]pvTaskTask.
[in]uxPriorityPriority.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskSwitch()

traceResult xTraceTaskSwitch ( void *  pvTask,
TraceUnsignedBaseType_t  uxPriority 
)

Registers trace task switch event.

Parameters
[in]pvTaskTask.
[in]uxPriorityPriority.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskUnregister()

traceResult xTraceTaskUnregister ( TraceTaskHandle_t  xTaskHandle,
TraceUnsignedBaseType_t  uxPriority 
)

Unregister trace task from trace.

Parameters
[in]xTaskHandlePointer to initialized trace task.
[in]uxPriorityPriority.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess