Percepio Trace Recorder v4.11.0
Loading...
Searching...
No Matches
trcKernelPort.h
1/*
2 * Trace Recorder for Tracealyzer v4.11.0
3 * Copyright 2025 Percepio AB
4 * www.percepio.com
5 *
6 * SPDX-License-Identifier: Apache-2.0
7 *
8 * The ThreadX specific parts needed by the trace recorder
9 */
10
11#ifndef TRC_KERNEL_PORT_H
12#define TRC_KERNEL_PORT_H
13
14#include <trcRecorder.h>
15#include <tx_api.h>
16#include <tx_trace.h>
17#include "trcKernelPortHooks.h"
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
27#define TRC_USE_TRACEALYZER_RECORDER 1
28
33#define TRACE_KERNEL_VERSION 0xEAAE
34
41#define TRC_PLATFORM_CFG "ThreadX"
42
49#define TRC_PLATFORM_CFG_MAJOR 1
50
57#define TRC_PLATFORM_CFG_MINOR 1
58
65#define TRC_PLATFORM_CFG_PATCH 0
66
71#define TRACE_CPU_CLOCK_HZ TRC_CFG_CPU_CLOCK_HZ
72
77#define TRC_TICK_RATE_HZ TX_TIMER_TICKS_PER_SECOND
78
83#define TraceKernelPortTaskHandle_t TX_THREAD
84
85extern TraceHeapHandle_t xSystemHeapHandle;
86
87#if (TRC_CFG_RECORDER_BUFFER_ALLOCATION == TRC_RECORDER_BUFFER_ALLOCATION_DYNAMIC)
88#error "Dynamic allocation mode isn't supported for ThreadX, there is no system heap to allocate from. Use custom allocation mode to map trace buffer to your own heap."
89
93#define TRC_KERNEL_PORT_HEAP_INIT(size)
94
98#define TRC_KERNEL_PORT_HEAP_MALLOC(size) TX_NULL
99#endif /* (TRC_CFG_RECORDER_BUFFER_ALLOCATION == TRC_RECORDER_BUFFER_ALLOCATION_DYNAMIC) */
100
104typedef struct TraceKernelPortDataBuffer /* Aligned */
105{
106 uint8_t buffer[sizeof(TraceHeapHandle_t) + sizeof(TraceKernelPortTaskHandle_t)];
107} TraceKernelPortDataBuffer_t;
108
118traceResult xTraceKernelPortInitialize(TraceKernelPortDataBuffer_t* pxBuffer);
119
128traceResult xTraceKernelPortEnable(void);
129
138traceResult xTraceKernelPortGetUnusedStack(void* pvThread, TraceUnsignedBaseType_t* puxUnusedStack);
139
145TraceHeapHandle_t xTraceKernelPortGetSystemHeapHandle(void);
146
153unsigned char xTraceKernelPortIsSchedulerSuspended(void);
154
155
156/* Event codes - should match the offline config file. */
157#define PSF_EVENT_NULL_EVENT 0
158
159#define PSF_EVENT_TRACE_START 1
160#define PSF_EVENT_TS_CONFIG 2
161#define PSF_EVENT_OBJ_NAME 3
162#define PSF_EVENT_DEFINE_ISR 7
163
164#define PSF_EVENT_STATEMACHINE_STATE_CREATE 0
165#define PSF_EVENT_STATEMACHINE_CREATE 0
166#define PSF_EVENT_STATEMACHINE_STATECHANGE 0
167#define PSF_EVENT_MALLOC 0
168#define PSF_EVENT_MALLOC_FAILED 0
169#define PSF_EVENT_FREE 0
170#define PSF_EVENT_FREE_FAILED 0
171#define PSF_EVENT_INTERVAL_CHANNEL_CREATE 0
172#define PSF_EVENT_INTERVAL_CHANNEL_SET_CREATE 0
173#define PSF_EVENT_INTERVAL_CREATE 0
174#define PSF_EVENT_INTERVAL_STATECHANGE 0
175#define PSF_EVENT_INTERVAL_CHANNEL_CREATE 0
176#define PSF_EVENT_INTERVAL_CHANNEL_SET_CREATE 0
177#define PSF_EVENT_INTERVAL_START 0
178#define PSF_EVENT_INTERVAL_STOP 0
179#define PSF_EVENT_TASK_DELETE PSF_EVENT_THREAD_DELETE_SUCCESS
180#define PSF_EVENT_COUNTER_CREATE 0
181#define PSF_EVENT_COUNTER_CHANGE 0
182#define PSF_EVENT_COUNTER_LIMIT_EXCEEDED 0
183#define PSF_EVENT_EXTENSION_CREATE 0
184#define PSF_EVENT_HEAP_CREATE 0
185
186#define PSF_EVENT_IFE_NEXT 0
187#define PSF_EVENT_IFE_DIRECT 0
188
196#define PSF_EVENT_S1_OFFSET 1000
197#define PSF_EVENT_S2_OFFSET 2000
198#define PSF_EVENT_S3_OFFSET 3000
199
200#define PSF_EVENT_BLOCK_ALLOCATE_SUCCESS TX_TRACE_BLOCK_ALLOCATE + PSF_EVENT_S2_OFFSET
201#define PSF_EVENT_BLOCK_ALLOCATE_FAILED TX_TRACE_BLOCK_ALLOCATE + PSF_EVENT_S3_OFFSET
202#define PSF_EVENT_BLOCK_ALLOCATE_BLOCKED TX_TRACE_BLOCK_ALLOCATE
203#define PSF_EVENT_BLOCK_ALLOCATE_TIMEOUT TX_TRACE_BLOCK_ALLOCATE + PSF_EVENT_S1_OFFSET
204#define PSF_EVENT_BLOCK_POOL_CREATE_SUCCESS TX_TRACE_BLOCK_POOL_CREATE
205#define PSF_EVENT_BLOCK_POOL_CREATE_FAILED TX_TRACE_BLOCK_POOL_CREATE + PSF_EVENT_S1_OFFSET
206#define PSF_EVENT_BLOCK_POOL_DELETE_SUCCESS TX_TRACE_BLOCK_POOL_DELETE
207#define PSF_EVENT_BLOCK_POOL_DELETE_FAILED TX_TRACE_BLOCK_POOL_DELETE + PSF_EVENT_S1_OFFSET
208#define PSF_EVENT_BLOCK_POOL_INFO_GET_SUCCESS TX_TRACE_BLOCK_POOL_INFO_GET
209#define PSF_EVENT_BLOCK_POOL_INFO_GET_FAILED TX_TRACE_BLOCK_POOL_INFO_GET + PSF_EVENT_S1_OFFSET
210#define PSF_EVENT_BLOCK_POOL_PERFORMANCE_INFO_GET_SUCCESS TX_TRACE_BLOCK_POOL_PERFORMANCE_INFO_GET
211#define PSF_EVENT_BLOCK_POOL_PERFORMANCE_INFO_GET_FAILED TX_TRACE_BLOCK_POOL_PERFORMANCE_INFO_GET + PSF_EVENT_S1_OFFSET
212#define PSF_EVENT_BLOCK_POOL__PERFORMANCE_SYSTEM_INFO_GET_SUCCESS TX_TRACE_BLOCK_POOL__PERFORMANCE_SYSTEM_INFO_GET
213#define PSF_EVENT_BLOCK_POOL__PERFORMANCE_SYSTEM_INFO_GET_FAILED TX_TRACE_BLOCK_POOL__PERFORMANCE_SYSTEM_INFO_GET + PSF_EVENT_S1_OFFSET
214#define PSF_EVENT_BLOCK_POOL_PRIORITIZE_SUCCESS TX_TRACE_BLOCK_POOL_PRIORITIZE
215#define PSF_EVENT_BLOCK_POOL_PRIORITIZE_FAILED TX_TRACE_BLOCK_POOL_PRIORITIZE + PSF_EVENT_S1_OFFSET
216#define PSF_EVENT_BLOCK_POOL_RELEASE_SUCCESS TX_TRACE_BLOCK_RELEASE
217#define PSF_EVENT_BLOCK_POOL_RELEASE_FAILED TX_TRACE_BLOCK_RELEASE + PSF_EVENT_S1_OFFSET
218
219#define PSF_EVENT_BYTE_ALLOCATE_SUCCESS TX_TRACE_BYTE_ALLOCATE + PSF_EVENT_S2_OFFSET
220#define PSF_EVENT_BYTE_ALLOCATE_FAILED TX_TRACE_BYTE_ALLOCATE + PSF_EVENT_S3_OFFSET
221#define PSF_EVENT_BYTE_ALLOCATE_BLOCKED TX_TRACE_BYTE_ALLOCATE
222#define PSF_EVENT_BYTE_ALLOCATE_TIMEOUT TX_TRACE_BYTE_ALLOCATE + PSF_EVENT_S1_OFFSET
223#define PSF_EVENT_BYTE_POOL_CREATE_SUCCESS TX_TRACE_BYTE_POOL_CREATE
224#define PSF_EVENT_BYTE_POOL_CREATE_FAILED TX_TRACE_BYTE_POOL_CREATE + PSF_EVENT_S1_OFFSET
225#define PSF_EVENT_BYTE_POOL_DELETE_SUCCESS TX_TRACE_BYTE_POOL_DELETE
226#define PSF_EVENT_BYTE_POOL_DELETE_FAILED TX_TRACE_BYTE_POOL_DELETE + PSF_EVENT_S1_OFFSET
227#define PSF_EVENT_BYTE_POOL_INFO_GET_SUCCESS TX_TRACE_BYTE_POOL_INFO_GET
228#define PSF_EVENT_BYTE_POOL_INFO_GET_FAILED TX_TRACE_BYTE_POOL_INFO_GET + PSF_EVENT_S1_OFFSET
229#define PSF_EVENT_BYTE_POOL_PERFORMANCE_INFO_GET_SUCCESS TX_TRACE_BYTE_POOL_PERFORMANCE_INFO_GET
230#define PSF_EVENT_BYTE_POOL_PERFORMANCE_INFO_GET_FAILED TX_TRACE_BYTE_POOL_PERFORMANCE_INFO_GET + PSF_EVENT_S1_OFFSET
231#define PSF_EVENT_BYTE_POOL__PERFORMANCE_SYSTEM_INFO_GET_SUCCESS TX_TRACE_BYTE_POOL__PERFORMANCE_SYSTEM_INFO_GET
232#define PSF_EVENT_BYTE_POOL__PERFORMANCE_SYSTEM_INFO_GET_FAILED TX_TRACE_BYTE_POOL__PERFORMANCE_SYSTEM_INFO_GET + PSF_EVENT_S1_OFFSET
233#define PSF_EVENT_BYTE_POOL_PRIORITIZE_SUCCESS TX_TRACE_BYTE_POOL_PRIORITIZE
234#define PSF_EVENT_BYTE_POOL_PRIORITIZE_FAILED TX_TRACE_BYTE_POOL_PRIORITIZE + PSF_EVENT_S1_OFFSET
235#define PSF_EVENT_BYTE_POOL_RELEASE_SUCCESS TX_TRACE_BYTE_RELEASE
236#define PSF_EVENT_BYTE_POOL_RELEASE_FAILED TX_TRACE_BYTE_RELEASE + PSF_EVENT_S1_OFFSET
237
238#define PSF_EVENT_FLAGS_CREATE_SUCCESS TX_TRACE_EVENT_FLAGS_CREATE
239#define PSF_EVENT_FLAGS_CREATE_FAILED TX_TRACE_EVENT_FLAGS_CREATE + PSF_EVENT_S1_OFFSET
240#define PSF_EVENT_FLAGS_DELETE_SUCCESS TX_TRACE_EVENT_FLAGS_DELETE
241#define PSF_EVENT_FLAGS_DELETE_FAILED TX_TRACE_EVENT_FLAGS_DELETE + PSF_EVENT_S1_OFFSET
242#define PSF_EVENT_FLAGS_GET_SUCCESS TX_TRACE_EVENT_FLAGS_GET + PSF_EVENT_S2_OFFSET
243#define PSF_EVENT_FLAGS_GET_FAILED TX_TRACE_EVENT_FLAGS_GET + PSF_EVENT_S3_OFFSET
244#define PSF_EVENT_FLAGS_GET_BLOCKED TX_TRACE_EVENT_FLAGS_GET
245#define PSF_EVENT_FLAGS_GET_TIMEOUT TX_TRACE_EVENT_FLAGS_GET + PSF_EVENT_S1_OFFSET
246#define PSF_EVENT_FLAGS_INFO_GET_SUCCESS TX_TRACE_EVENT_FLAGS_INFO_GET
247#define PSF_EVENT_FLAGS_INFO_GET_FAILED TX_TRACE_EVENT_FLAGS_INFO_GET + PSF_EVENT_S1_OFFSET
248#define PSF_EVENT_FLAGS_PERFORMANCE_INFO_GET_SUCCESS TX_TRACE_EVENT_FLAGS_PERFORMANCE_INFO_GET
249#define PSF_EVENT_FLAGS_PERFORMANCE_INFO_GET_FAILED TX_TRACE_EVENT_FLAGS_PERFORMANCE_INFO_GET + PSF_EVENT_S1_OFFSET
250#define PSF_EVENT_FLAGS__PERFORMANCE_SYSTEM_INFO_GET_SUCCESS TX_TRACE_EVENT_FLAGS__PERFORMANCE_SYSTEM_INFO_GET
251#define PSF_EVENT_FLAGS__PERFORMANCE_SYSTEM_INFO_GET_FAILED TX_TRACE_EVENT_FLAGS__PERFORMANCE_SYSTEM_INFO_GET + PSF_EVENT_S1_OFFSET
252#define PSF_EVENT_FLAGS_SET_SUCCESS TX_TRACE_EVENT_FLAGS_SET
253#define PSF_EVENT_FLAGS_SET_FAILED TX_TRACE_EVENT_FLAGS_SET + PSF_EVENT_S1_OFFSET
254#define PSF_EVENT_FLAGS_SET_NOTIFY_SUCCESS TX_TRACE_EVENT_FLAGS_SET_NOTIFY
255#define PSF_EVENT_FLAGS_SET_NOTIFY_FAILED TX_TRACE_EVENT_FLAGS_SET_NOTIFY + PSF_EVENT_S1_OFFSET
256
257#define PSF_EVENT_MUTEX_CREATE_SUCCESS TX_TRACE_MUTEX_CREATE
258#define PSF_EVENT_MUTEX_CREATE_FAILED TX_TRACE_MUTEX_CREATE + PSF_EVENT_S1_OFFSET
259#define PSF_EVENT_MUTEX_DELETE_SUCCESS TX_TRACE_MUTEX_DELETE
260#define PSF_EVENT_MUTEX_DELETE_FAILED TX_TRACE_MUTEX_DELETE + PSF_EVENT_S1_OFFSET
261#define PSF_EVENT_MUTEX_GET_SUCCESS TX_TRACE_MUTEX_GET + PSF_EVENT_S2_OFFSET
262#define PSF_EVENT_MUTEX_GET_FAILED TX_TRACE_MUTEX_GET + PSF_EVENT_S3_OFFSET
263#define PSF_EVENT_MUTEX_GET_BLOCKED TX_TRACE_MUTEX_GET
264#define PSF_EVENT_MUTEX_GET_TIMEOUT 1052
265#define PSF_EVENT_MUTEX_INFO_GET_SUCCESS TX_TRACE_MUTEX_INFO_GET
266#define PSF_EVENT_MUTEX_INFO_GET_FAILED TX_TRACE_MUTEX_INFO_GET + PSF_EVENT_S1_OFFSET
267#define PSF_EVENT_MUTEX_PERFORMANCE_INFO_GET_SUCCESS TX_TRACE_MUTEX_PERFORMANCE_INFO_GET
268#define PSF_EVENT_MUTEX_PERFORMANCE_INFO_GET_FAILED TX_TRACE_MUTEX_PERFORMANCE_INFO_GET + PSF_EVENT_S1_OFFSET
269#define PSF_EVENT_MUTEX_PERFORMANCE_SYSTEM_INFO_GET_SUCCESS TX_TRACE_MUTEX_PERFORMANCE_SYSTEM_INFO_GET
270#define PSF_EVENT_MUTEX_PERFORMANCE_SYSTEM_INFO_GET_FAILED TX_TRACE_MUTEX_PERFORMANCE_SYSTEM_INFO_GET + PSF_EVENT_S1_OFFSET
271#define PSF_EVENT_MUTEX_PRIORITIZE_SUCCESS TX_TRACE_MUTEX_PRIORITIZE
272#define PSF_EVENT_MUTEX_PRIORITIZE_FAILED TX_TRACE_MUTEX_PRIORITIZE + PSF_EVENT_S1_OFFSET
273#define PSF_EVENT_MUTEX_PUT_SUCCESS TX_TRACE_MUTEX_PUT
274#define PSF_EVENT_MUTEX_PUT_FAILED TX_TRACE_MUTEX_PUT + PSF_EVENT_S1_OFFSET
275
276#define PSF_EVENT_QUEUE_CREATE_SUCCESS TX_TRACE_QUEUE_CREATE
277#define PSF_EVENT_QUEUE_CREATE_FAILED TX_TRACE_QUEUE_CREATE + PSF_EVENT_S1_OFFSET
278#define PSF_EVENT_QUEUE_DELETE_SUCCESS TX_TRACE_QUEUE_DELETE
279#define PSF_EVENT_QUEUE_DELETE_FAILED TX_TRACE_QUEUE_DELETE + PSF_EVENT_S1_OFFSET
280#define PSF_EVENT_QUEUE_FLUSH_SUCCESS TX_TRACE_QUEUE_FLUSH
281#define PSF_EVENT_QUEUE_FLUSH_FAILED TX_TRACE_QUEUE_FLUSH + PSF_EVENT_S1_OFFSET
282#define PSF_EVENT_QUEUE_FRONT_SEND_SUCCESS TX_TRACE_QUEUE_FRONT_SEND + PSF_EVENT_S2_OFFSET
283#define PSF_EVENT_QUEUE_FRONT_SEND_FAILED TX_TRACE_QUEUE_FRONT_SEND + PSF_EVENT_S3_OFFSET
284#define PSF_EVENT_QUEUE_FRONT_SEND_BLOCKED TX_TRACE_QUEUE_FRONT_SEND
285#define PSF_EVENT_QUEUE_FRONT_SEND_TIMEOUT 1063
286#define PSF_EVENT_QUEUE_INFO_GET_SUCCESS TX_TRACE_QUEUE_INFO_GET
287#define PSF_EVENT_QUEUE_INFO_GET_FAILED TX_TRACE_QUEUE_INFO_GET + PSF_EVENT_S1_OFFSET
288#define PSF_EVENT_QUEUE_PERFORMANCE_INFO_GET_SUCCESS TX_TRACE_QUEUE_PERFORMANCE_INFO_GET
289#define PSF_EVENT_QUEUE_PERFORMANCE_INFO_GET_FAILED TX_TRACE_QUEUE_PERFORMANCE_INFO_GET + PSF_EVENT_S1_OFFSET
290#define PSF_EVENT_QUEUE_PERFORMANCE_SYSTEM_INFO_GET_SUCCESS TX_TRACE_QUEUE_PERFORMANCE_SYSTEM_INFO_GET
291#define PSF_EVENT_QUEUE_PERFORMANCE_SYSTEM_INFO_GET_FAILED TX_TRACE_QUEUE_PERFORMANCE_SYSTEM_INFO_GET + PSF_EVENT_S1_OFFSET
292#define PSF_EVENT_QUEUE_PRIORITIZE_SUCCESS TX_TRACE_QUEUE_PRIORITIZE
293#define PSF_EVENT_QUEUE_PRIORITIZE_FAILED TX_TRACE_QUEUE_PRIORITIZE + PSF_EVENT_S1_OFFSET
294#define PSF_EVENT_QUEUE_RECEIVE_SUCCESS TX_TRACE_QUEUE_RECEIVE + PSF_EVENT_S2_OFFSET
295#define PSF_EVENT_QUEUE_RECEIVE_FAILED TX_TRACE_QUEUE_RECEIVE + PSF_EVENT_S3_OFFSET
296#define PSF_EVENT_QUEUE_RECEIVE_BLOCKED TX_TRACE_QUEUE_RECEIVE
297#define PSF_EVENT_QUEUE_RECEIVE_TIMEOUT 1068
298#define PSF_EVENT_QUEUE_SEND_NOTIFY_SUCCESS TX_TRACE_QUEUE_SEND_NOTIFY
299#define PSF_EVENT_QUEUE_SEND_NOTIFY_FAILED TX_TRACE_QUEUE_SEND_NOTIFY + PSF_EVENT_S1_OFFSET
300#define PSF_EVENT_QUEUE_SEND_SUCCESS TX_TRACE_QUEUE_SEND + PSF_EVENT_S2_OFFSET
301#define PSF_EVENT_QUEUE_SEND_FAILED 3069
302#define PSF_EVENT_QUEUE_SEND_BLOCKED TX_TRACE_QUEUE_SEND
303#define PSF_EVENT_QUEUE_SEND_TIMEOUT 1069
304
305#define PSF_EVENT_SEMAPHORE_CREATE_SUCCESS TX_TRACE_SEMAPHORE_CREATE
306#define PSF_EVENT_SEMAPHORE_CREATE_FAILED TX_TRACE_SEMAPHORE_CREATE + PSF_EVENT_S1_OFFSET
307#define PSF_EVENT_SEMAPHORE_CEILING_PUT_SUCCESS TX_TRACE_SEMAPHORE_CEILING_PUT + PSF_EVENT_S1_OFFSET
308#define PSF_EVENT_SEMAPHORE_CEILING_PUT_FAILED TX_TRACE_SEMAPHORE_CEILING_PUT + PSF_EVENT_S2_OFFSET
309#define PSF_EVENT_SEMAPHORE_CEILING_PUT_BLOCKED TX_TRACE_SEMAPHORE_CEILING_PUT
310#define PSF_EVENT_SEMAPHORE_DELETE_SUCCESS TX_TRACE_SEMAPHORE_DELETE
311#define PSF_EVENT_SEMAPHORE_DELETE_FAILED TX_TRACE_SEMAPHORE_DELETE + PSF_EVENT_S1_OFFSET
312#define PSF_EVENT_SEMAPHORE_GET_SUCCESS TX_TRACE_SEMAPHORE_GET + PSF_EVENT_S2_OFFSET
313#define PSF_EVENT_SEMAPHORE_GET_FAILED TX_TRACE_SEMAPHORE_GET + PSF_EVENT_S3_OFFSET
314#define PSF_EVENT_SEMAPHORE_GET_BLOCKED TX_TRACE_SEMAPHORE_GET
315#define PSF_EVENT_SEMAPHORE_GET_TIMEOUT 1083
316#define PSF_EVENT_SEMAPHORE_INFO_GET_SUCCESS TX_TRACE_SEMAPHORE_INFO_GET
317#define PSF_EVENT_SEMAPHORE_INFO_GET_FAILED TX_TRACE_SEMAPHORE_INFO_GET + PSF_EVENT_S1_OFFSET
318#define PSF_EVENT_SEMAPHORE_PERFORMANCE_INFO_GET_SUCCESS TX_TRACE_SEMAPHORE_PERFORMANCE_INFO_GET
319#define PSF_EVENT_SEMAPHORE_PERFORMANCE_INFO_GET_FAILED TX_TRACE_SEMAPHORE_PERFORMANCE_INFO_GET + PSF_EVENT_S1_OFFSET
320#define PSF_EVENT_SEMAPHORE__PERFORMANCE_SYSTEM_INFO_GET_SUCCESS TX_TRACE_SEMAPHORE__PERFORMANCE_SYSTEM_INFO_GET
321#define PSF_EVENT_SEMAPHORE__PERFORMANCE_SYSTEM_INFO_GET_FAILED TX_TRACE_SEMAPHORE__PERFORMANCE_SYSTEM_INFO_GET + PSF_EVENT_S1_OFFSET
322#define PSF_EVENT_SEMAPHORE_PRIORITIZE_SUCCESS TX_TRACE_SEMAPHORE_PRIORITIZE
323#define PSF_EVENT_SEMAPHORE_PRIORITIZE_FAILED TX_TRACE_SEMAPHORE_PRIORITIZE + PSF_EVENT_S1_OFFSET
324#define PSF_EVENT_SEMAPHORE_PUT_NOTIFY_SUCCESS TX_TRACE_SEMAPHORE_PUT_NOTIFY
325#define PSF_EVENT_SEMAPHORE_PUT_NOTIFY_FAILED TX_TRACE_SEMAPHORE_PUT_NOTIFY + PSF_EVENT_S1_OFFSET
326#define PSF_EVENT_SEMAPHORE_PUT_SUCCESS TX_TRACE_SEMAPHORE_PUT
327#define PSF_EVENT_SEMAPHORE_PUT_FAILED TX_TRACE_SEMAPHORE_PUT + PSF_EVENT_S1_OFFSET
328
329#define PSF_EVENT_THREAD_SYSTEM_RESUME_SUCCESS 1001
330#define PSF_EVENT_THREAD_SYSTEM_SUSPEND_SUCCESS 1002
331#define PSF_EVENT_THREAD_CREATE_SUCCESS TX_TRACE_THREAD_CREATE
332#define PSF_EVENT_THREAD_CREATE_FAILED TX_TRACE_THREAD_DELETE + PSF_EVENT_S1_OFFSET
333#define PSF_EVENT_THREAD_DELETE_SUCCESS TX_TRACE_THREAD_DELETE
334#define PSF_EVENT_THREAD_DELETE_FAILED TX_TRACE_THREAD_DELETE + PSF_EVENT_S1_OFFSET
335#define PSF_EVENT_THREAD_ENTRY_EXIT_NOTIFY_SUCCESS TX_TRACE_THREAD_ENTRY_EXIT_NOTIFY
336#define PSF_EVENT_THREAD_ENTRY_EXIT_NOTIFY_FAILED TX_TRACE_THREAD_ENTRY_EXIT_NOTIFY + PSF_EVENT_S1_OFFSET
337#define PSF_EVENT_THREAD_IDENTIFY TX_TRACE_THREAD_IDENTIFY
338#define PSF_EVENT_THREAD_INFO_GET_SUCCESS TX_TRACE_THREAD_INFO_GET
339#define PSF_EVENT_THREAD_INFO_GET_FAILED TX_TRACE_THREAD_INFO_GET + PSF_EVENT_S1_OFFSET
340#define PSF_EVENT_THREAD_PERFORMANCE_INFO_GET_SUCCESS TX_TRACE_THREAD_PERFORMANCE_INFO_GET
341#define PSF_EVENT_THREAD_PERFORMANCE_INFO_GET_FAILED TX_TRACE_THREAD_PERFORMANCE_INFO_GET + PSF_EVENT_S1_OFFSET
342#define PSF_EVENT_THREAD_PERFORMANCE_SYSTEM_INFO_GET_SUCCESS TX_TRACE_THREAD_PERFORMANCE_SYSTEM_INFO_GET
343#define PSF_EVENT_THREAD_PERFORMANCE_SYSTEM_INFO_GET_FAILED TX_TRACE_THREAD_PERFORMANCE_SYSTEM_INFO_GET + PSF_EVENT_S1_OFFSET
344#define PSF_EVENT_THREAD_PREEMPTION_CHANGE_SUCCESS TX_TRACE_THREAD_PREEMPTION_CHANGE
345#define PSF_EVENT_THREAD_PREEMPTION_CHANGE_FAILED TX_TRACE_THREAD_PREEMPTION_CHANGE + PSF_EVENT_S1_OFFSET
346#define PSF_EVENT_THREAD_PRIORITY_CHANGE_SUCCESS TX_TRACE_THREAD_PRIORITY_CHANGE
347#define PSF_EVENT_THREAD_PRIORITY_CHANGE_FAILED TX_TRACE_THREAD_PRIORITY_CHANGE + PSF_EVENT_S1_OFFSET
348#define PSF_EVENT_THREAD_RELINQUISH TX_TRACE_THREAD_RELINQUISH
349#define PSF_EVENT_THREAD_RESET_SUCCESS TX_TRACE_THREAD_RESET
350#define PSF_EVENT_THREAD_RESET_FAILED TX_TRACE_THREAD_RESET + PSF_EVENT_S1_OFFSET
351#define PSF_EVENT_THREAD_RESUME_SUCCESS TX_TRACE_THREAD_RESUME_API
352#define PSF_EVENT_THREAD_RESUME_FAILED TX_TRACE_THREAD_RESUME_API + PSF_EVENT_S1_OFFSET
353#define PSF_EVENT_THREAD_SLEEP_SUCCESS TX_TRACE_THREAD_SLEEP
354#define PSF_EVENT_THREAD_SLEEP_FAILED TX_TRACE_THREAD_SLEEP + PSF_EVENT_S1_OFFSET
355#define PSF_EVENT_THREAD_SLEEP_BLOCKED TX_TRACE_THREAD_SLEEP + PSF_EVENT_S2_OFFSET
356#define PSF_EVENT_THREAD_STACK_ERROR_NOTIFY TX_TRACE_THREAD_STACK_ERROR_NOTIFY
357#define PSF_EVENT_THREAD_SUSPEND_SUCCESS TX_TRACE_THREAD_SUSPEND_API
358#define PSF_EVENT_THREAD_SUSPEND_FAILED TX_TRACE_THREAD_SUSPEND_API + PSF_EVENT_S1_OFFSET
359#define PSF_EVENT_THREAD_TERMINATE_SUCCESS TX_TRACE_THREAD_TERMINATE
360#define PSF_EVENT_THREAD_TERMINATE_FAILED TX_TRACE_THREAD_TERMINATE + PSF_EVENT_S1_OFFSET
361#define PSF_EVENT_THREAD_TIME_SLICE TX_TRACE_TIME_SLICE
362#define PSF_EVENT_THREAD_TIME_SLICE_CHANGE_SUCCESS TX_TRACE_THREAD_TIME_SLICE_CHANGE
363#define PSF_EVENT_THREAD_TIME_SLICE_CHANGE_FAILED TX_TRACE_THREAD_TIME_SLICE_CHANGE + PSF_EVENT_S1_OFFSET
364#define PSF_EVENT_THREAD_WAIT_ABORT_SUCCESS TX_TRACE_THREAD_WAIT_ABORT
365#define PSF_EVENT_THREAD_WAIT_ABORT_FAILED TX_TRACE_THREAD_WAIT_ABORT + PSF_EVENT_S1_OFFSET
366
367#define PSF_EVENT_TIME_GET_SUCCESS TX_TRACE_TIME_GET
368#define PSF_EVENT_TIME_SET_SUCCESS TX_TRACE_TIME_SET
369#define PSF_EVENT_TIMER_CREATE_SUCCESS TX_TRACE_TIMER_CREATE
370#define PSF_EVENT_TIMER_CREATE_FAILED TX_TRACE_TIMER_CREATE + PSF_EVENT_S1_OFFSET
371#define PSF_EVENT_TIMER_DELETE_SUCCESS TX_TRACE_TIMER_DELETE
372#define PSF_EVENT_TIMER_DELETE_FAILED TX_TRACE_TIMER_DELETE + PSF_EVENT_S1_OFFSET
373#define PSF_EVENT_TIMER_DEACTIVATE_SUCCESS TX_TRACE_TIMER_DEACTIVATE
374#define PSF_EVENT_TIMER_DEACTIVATE_FAILED TX_TRACE_TIMER_DEACTIVATE + PSF_EVENT_S1_OFFSET
375#define PSF_EVENT_TIMER_INFO_GET_SUCCESS TX_TRACE_TIMER_INFO_GET
376#define PSF_EVENT_TIMER_INFO_GET_FAILED TX_TRACE_TIMER_INFO_GET + PSF_EVENT_S1_OFFSET
377#define PSF_EVENT_TIMER_PERFORMANCE_INFO_GET_SUCCESS TX_TRACE_TIMER_PERFORMANCE_INFO_GET
378#define PSF_EVENT_TIMER_PERFORMANCE_INFO_GET_FAILED TX_TRACE_TIMER_PERFORMANCE_INFO_GET + PSF_EVENT_S1_OFFSET
379#define PSF_EVENT_TIMER_PERFORMANCE_SYSTEM_INFO_GET_SUCCESS TX_TRACE_TIMER_PERFORMANCE_SYSTEM_INFO_GET
380#define PSF_EVENT_TIMER_PERFORMANCE_SYSTEM_INFO_GET_FAILED TX_TRACE_TIMER_PERFORMANCE_SYSTEM_INFO_GET + PSF_EVENT_S1_OFFSET
381#define PSF_EVENT_TIMER_CHANGE_SUCCESS TX_TRACE_TIMER_CHANGE
382#define PSF_EVENT_TIMER_CHANGE_FAILED TX_TRACE_TIMER_CHANGE + PSF_EVENT_S1_OFFSET
383#define PSF_EVENT_TIMER_ACTIVATE_SUCCESS TX_TRACE_TIMER_ACTIVATE
384#define PSF_EVENT_TIMER_ACTIVATE_FAILED TX_TRACE_TIMER_ACTIVATE + PSF_EVENT_S1_OFFSET
385
386#define PSF_EVENT_ISR_BEGIN 4010
387#define PSF_EVENT_ISR_RESUME 4011
388#define PSF_EVENT_TASK_ACTIVATE 4016
389#define PSF_EVENT_TASK_POTENTIAL_SWITCH 4016
390#define PSF_EVENT_TASK_POTENTIAL_SWITCH_RESULT 4017
391#define PSF_EVENT_UNUSED_STACK 4020
392#define PSF_EVENT_USER_EVENT 4030
393#define PSF_EVENT_USER_EVENT_FIXED 4038
394
395#define PSF_EVENT_RUNNABLE_REGISTER 4040
396#define PSF_EVENT_RUNNABLE_START 4041
397#define PSF_EVENT_RUNNABLE_STOP 4042
398
399#define PSF_EVENT_DEPENDENCY_REGISTER 4043
400
401#define TRC_EVENT_LAST_ID 4096
402
403/* Assign recorder defaults to match ThreadX mappings. */
404#define PSF_EVENT_TASK_READY PSF_EVENT_THREAD_SYSTEM_RESUME_SUCCESS
405#define PSF_EVENT_TASK_CREATE PSF_EVENT_THREAD_CREATE_SUCCESS
406#define PSF_EVENT_TASK_PRIORITY PSF_EVENT_THREAD_PRIORITY_CHANGE_SUCCESS
407
408#ifdef __cplusplus
409}
410#endif /* C++ */
411
412#endif /* TRC_KERNEL_PORT_H */
A structure representing the kernel port buffer.
Definition trcKernelPort.h:97
The public API of the Percepio trace recorder.