11#ifndef TRC_KERNEL_PORT_H
12#define TRC_KERNEL_PORT_H
14#include <trcDefines.h>
20#define TRC_USE_TRACEALYZER_RECORDER (TRC_CFG_USE_TRACEALYZER_RECORDER)
22#if (TRC_USE_TRACEALYZER_RECORDER == 1)
24#undef TRC_CFG_ENABLE_STACK_MONITOR
25#define TRC_CFG_ENABLE_STACK_MONITOR 0
29#define TRACE_KERNEL_VERSION 0x1FF1
32#define TRC_TICK_RATE_HZ 1
38#define TRACE_CPU_CLOCK_HZ TRC_CFG_CPU_CLOCK_HZ
40#if (TRC_CFG_RECORDER_BUFFER_ALLOCATION == TRC_RECORDER_BUFFER_ALLOCATION_DYNAMIC)
46#define TRC_KERNEL_PORT_HEAP_INIT(size)
51#define TRC_KERNEL_PORT_HEAP_MALLOC(size) malloc(size)
54#define TRC_PLATFORM_CFG "nokernel"
55#define TRC_PLATFORM_CFG_MAJOR 1
56#define TRC_PLATFORM_CFG_MINOR 0
57#define TRC_PLATFORM_CFG_PATCH 0
59#ifndef TRACE_ENTER_CRITICAL_SECTION
60 #error "This hardware port has no definition for critical sections! See http://percepio.com/2014/10/27/how-to-define-critical-sections-for-the-recorder/"
63#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)
64#define TRC_KERNEL_PORT_BUFFER_SIZE (sizeof(TraceTaskHandle_t) * (TRC_CFG_CORE_COUNT))
66#define TRC_KERNEL_PORT_BUFFER_SIZE (sizeof(TraceUnsignedBaseType_t) * (TRC_CFG_CORE_COUNT))
74 uint8_t buffer[TRC_KERNEL_PORT_BUFFER_SIZE];
93traceResult xTraceKernelPortEnable(
void);
103#define xTraceKernelPortDelay(uiTicks) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)uiTicks, TRC_SUCCESS)
111#define xTraceKernelPortIsSchedulerSuspended() (0U)
116#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_SNAPSHOT)
123#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)
134#define PSF_EVENT_NULL_EVENT 0x00UL
136#define PSF_EVENT_TRACE_START 0x01UL
137#define PSF_EVENT_TS_CONFIG 0x02UL
138#define PSF_EVENT_OBJ_NAME 0x03UL
139#define PSF_EVENT_TASK_PRIORITY 0x04UL
140#define PSF_EVENT_DEFINE_ISR 0x05UL
142#define PSF_EVENT_IFE_NEXT 0x08UL
143#define PSF_EVENT_IFE_DIRECT 0x09UL
145#define PSF_EVENT_TASK_CREATE 0x10UL
146#define PSF_EVENT_TASK_DELETE 0x11UL
148#define PSF_EVENT_TASK_READY 0x20UL
149#define PSF_EVENT_ISR_BEGIN 0x21UL
150#define PSF_EVENT_ISR_RESUME 0x22UL
151#define PSF_EVENT_TS_BEGIN 0x23UL
152#define PSF_EVENT_TS_RESUME 0x24UL
153#define PSF_EVENT_TASK_ACTIVATE 0x25UL
155#define PSF_EVENT_MALLOC 0x30UL
156#define PSF_EVENT_FREE 0x31UL
157#define PSF_EVENT_MALLOC_FAILED 0x32UL
158#define PSF_EVENT_FREE_FAILED 0x33UL
160#define PSF_EVENT_LOWPOWER_BEGIN 0x38UL
161#define PSF_EVENT_LOWPOWER_END 0x39UL
163#define PSF_EVENT_STATEMACHINE_STATE_CREATE 0x40UL
164#define PSF_EVENT_STATEMACHINE_CREATE 0x41UL
165#define PSF_EVENT_STATEMACHINE_STATECHANGE 0x42UL
167#define PSF_EVENT_INTERVAL_CHANNEL_CREATE 0x43UL
168#define PSF_EVENT_INTERVAL_START 0x44UL
169#define PSF_EVENT_INTERVAL_STOP 0x45UL
170#define PSF_EVENT_INTERVAL_CHANNEL_SET_CREATE 0x46UL
172#define PSF_EVENT_EXTENSION_CREATE 0x47UL
174#define PSF_EVENT_HEAP_CREATE 0x48UL
176#define PSF_EVENT_COUNTER_CREATE 0x49UL
177#define PSF_EVENT_COUNTER_CHANGE 0x4AUL
178#define PSF_EVENT_COUNTER_LIMIT_EXCEEDED 0x4BUL
180#define PSF_EVENT_DEPENDENCY_REGISTER 0x4CUL
182#define PSF_EVENT_RUNNABLE_REGISTER 0x4DUL
183#define PSF_EVENT_RUNNABLE_START 0x4EUL
184#define PSF_EVENT_RUNNABLE_STOP 0x4FUL
186#define PSF_EVENT_USER_EVENT 0x50UL
188#define PSF_EVENT_USER_EVENT_FIXED 0x58UL
190#define TRC_EVENT_LAST_ID (PSF_EVENT_DEPENDENCY_REGISTER)
A structure representing the kernel port buffer.
Definition: trcKernelPort.h:73