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