1 /*******************************************************************************
\r
2 * Tracealyzer v3.0.2 Recorder Library
\r
3 * Percepio AB, www.percepio.com
\r
7 * Functions used by trcKernelHooks.h.
\r
10 * This software is copyright Percepio AB. The recorder library is free for
\r
11 * use together with Percepio products. You may distribute the recorder library
\r
12 * in its original form, including modifications in trcHardwarePort.c/.h
\r
13 * given that these modification are clearly marked as your own modifications
\r
14 * and documented in the initial comment section of these source files.
\r
15 * This software is the intellectual property of Percepio AB and may not be
\r
16 * sold or in other ways commercially redistributed without explicit written
\r
17 * permission by Percepio AB.
\r
20 * The trace tool and recorder library is being delivered to you AS IS and
\r
21 * Percepio AB makes no warranty as to its use or performance. Percepio AB does
\r
22 * not and cannot warrant the performance or results you may obtain by using the
\r
23 * software or documentation. Percepio AB make no warranties, express or
\r
24 * implied, as to noninfringement of third party rights, merchantability, or
\r
25 * fitness for any particular purpose. In no event will Percepio AB, its
\r
26 * technology partners, or distributors be liable to you for any consequential,
\r
27 * incidental or special damages, including any lost profits or lost savings,
\r
28 * even if a representative of Percepio AB has been advised of the possibility
\r
29 * of such damages, or for any claim by any third party. Some jurisdictions do
\r
30 * not allow the exclusion or limitation of incidental, consequential or special
\r
31 * damages, or the exclusion of implied warranties or limitations on how long an
\r
32 * implied warranty may last, so the above limitations may not apply to you.
\r
34 * Copyright Percepio AB, 2013.
\r
36 ******************************************************************************/
\r
41 #include "trcKernelPort.h"
\r
43 #if (USE_TRACEALYZER_RECORDER == 1)
\r
45 /* Internal functions */
\r
47 #if !defined INCLUDE_READY_EVENTS || INCLUDE_READY_EVENTS == 1
\r
48 void vTraceSetReadyEventsEnabled(int status);
\r
49 void vTraceStoreTaskReady(objectHandleType handle);
\r
51 #define vTraceSetReadyEventsEnabled(status)
\r
54 void vTraceStoreLowPower(uint32_t flag);
\r
56 void vTraceStoreTaskswitch(objectHandleType task_handle);
\r
58 void vTraceStoreKernelCall(uint32_t eventcode, traceObjectClass objectClass, uint32_t byteParam);
\r
60 void vTraceStoreKernelCallWithNumericParamOnly(uint32_t evtcode,
\r
63 void vTraceStoreKernelCallWithParam(uint32_t evtcode, traceObjectClass objectClass,
\r
64 uint32_t objectNumber, uint32_t param);
\r
66 void vTraceSetTaskInstanceFinished(objectHandleType handle);
\r
68 void vTraceSetPriorityProperty(uint8_t objectclass, objectHandleType id, uint8_t value);
\r
70 uint8_t uiTraceGetPriorityProperty(uint8_t objectclass, objectHandleType id);
\r
72 void vTraceSetObjectState(uint8_t objectclass, objectHandleType id, uint8_t value);
\r
74 uint8_t uiTraceGetObjectState(uint8_t objectclass, objectHandleType id);
\r
76 #if (INCLUDE_OBJECT_DELETE == 1)
\r
78 void vTraceStoreObjectNameOnCloseEvent(objectHandleType handle,
\r
79 traceObjectClass objectclass);
\r
81 void vTraceStoreObjectPropertiesOnCloseEvent(objectHandleType handle,
\r
82 traceObjectClass objectclass);
\r
85 /* Internal constants for task state */
\r
86 #define TASK_STATE_INSTANCE_NOT_ACTIVE 0
\r
87 #define TASK_STATE_INSTANCE_ACTIVE 1
\r