]> git.sur5r.net Git - freertos/blob - FreeRTOS-Plus/Source/FreeRTOS-Plus-Trace/Include/trcKernel.h
4c8bdd509c8760ce74a90efbf14b2ecd77b0a84d
[freertos] / FreeRTOS-Plus / Source / FreeRTOS-Plus-Trace / Include / trcKernel.h
1 /*******************************************************************************\r
2  * Tracealyzer v2.5.0 Recorder Library\r
3  * Percepio AB, www.percepio.com\r
4  *\r
5  * trcKernel.h\r
6  *\r
7  * Functions used by trcKernelHooks.h.\r
8  *\r
9  * Terms of Use\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
18  *\r
19  * Disclaimer\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
33  *\r
34  * Copyright Percepio AB, 2013.\r
35  * www.percepio.com\r
36  ******************************************************************************/\r
37 \r
38 #ifndef TRCKERNEL_H\r
39 #define TRCKERNEL_H\r
40 \r
41 #include "trcKernelPort.h"\r
42 \r
43 #if (USE_TRACEALYZER_RECORDER == 1)\r
44 \r
45 /* Internal functions */\r
46 \r
47 #if !defined INCLUDE_READY_EVENTS || INCLUDE_READY_EVENTS == 1\r
48 void vTraceStoreTaskReady(objectHandleType handle);\r
49 #endif\r
50 \r
51 void vTraceStoreLowPower(uint32_t flag);\r
52 \r
53 void vTraceStoreTaskswitch(objectHandleType task_handle);\r
54 \r
55 void vTraceStoreKernelCall(uint32_t eventcode, traceObjectClass objectClass, uint32_t byteParam);\r
56 \r
57 void vTraceStoreKernelCallWithNumericParamOnly(uint32_t evtcode,\r
58                                                uint32_t param);\r
59 \r
60 void vTraceStoreKernelCallWithParam(uint32_t evtcode, traceObjectClass objectClass,\r
61                                     uint32_t objectNumber, uint8_t param);\r
62 \r
63 void vTraceSetTaskInstanceFinished(objectHandleType handle);\r
64 \r
65 void vTraceSetPriorityProperty(uint8_t objectclass, uint8_t id, uint8_t value);\r
66 \r
67 uint8_t uiTraceGetPriorityProperty(uint8_t objectclass, uint8_t id);\r
68 \r
69 void vTraceSetObjectState(uint8_t objectclass, uint8_t id, uint8_t value);\r
70 \r
71 uint8_t uiTraceGetObjectState(uint8_t objectclass, uint8_t id);\r
72 \r
73 #if (INCLUDE_OBJECT_DELETE == 1)\r
74 \r
75 void vTraceStoreObjectNameOnCloseEvent(objectHandleType handle,\r
76                                        traceObjectClass objectclass);\r
77 \r
78 void vTraceStoreObjectPropertiesOnCloseEvent(objectHandleType handle,\r
79                                              traceObjectClass objectclass);\r
80 #endif\r
81 \r
82 /* Internal constants for task state */\r
83 #define TASK_STATE_INSTANCE_NOT_ACTIVE 0\r
84 #define TASK_STATE_INSTANCE_ACTIVE 1\r
85 #define TASK_STATE_INSTANCE_MARKED_FINISHED 2\r
86 \r
87 \r
88 #endif\r
89 \r
90 #endif