]> rtime.felk.cvut.cz Git - pes-rpp/rpp-test-sw.git/blob - rpp/lib/os/7.0.2_tms570/include/os/mpu_wrappers.h
4bf53baea3f5afe123d31313e72d67d4f28d597a
[pes-rpp/rpp-test-sw.git] / rpp / lib / os / 7.0.2_tms570 / include / os / mpu_wrappers.h
1 /*
2     FreeRTOS V7.0.2 - Copyright (C) 2011 Real Time Engineers Ltd.
3
4
5     ***************************************************************************
6      *                                                                       *
7      *    FreeRTOS tutorial books are available in pdf and paperback.        *
8      *    Complete, revised, and edited pdf reference manuals are also       *
9      *    available.                                                         *
10      *                                                                       *
11      *    Purchasing FreeRTOS documentation will not only help you, by       *
12      *    ensuring you get running as quickly as possible and with an        *
13      *    in-depth knowledge of how to use FreeRTOS, it will also help       *
14      *    the FreeRTOS project to continue with its mission of providing     *
15      *    professional grade, cross platform, de facto standard solutions    *
16      *    for microcontrollers - completely free of charge!                  *
17      *                                                                       *
18      *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *
19      *                                                                       *
20      *    Thank you for using FreeRTOS, and thank you for your support!      *
21      *                                                                       *
22     ***************************************************************************
23
24
25     This file is part of the FreeRTOS distribution.
26
27     FreeRTOS is free software; you can redistribute it and/or modify it under
28     the terms of the GNU General Public License (version 2) as published by the
29     Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
30     >>>NOTE<<< The modification to the GPL is included to allow you to
31     distribute a combined work that includes FreeRTOS without being obliged to
32     provide the source code for proprietary components outside of the FreeRTOS
33     kernel.  FreeRTOS is distributed in the hope that it will be useful, but
34     WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
35     or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
36     more details. You should have received a copy of the GNU General Public
37     License and the FreeRTOS license exception along with FreeRTOS; if not it
38     can be viewed here: http://www.freertos.org/a00114.html and also obtained
39     by writing to Richard Barry, contact details for whom are available on the
40     FreeRTOS WEB site.
41
42     1 tab == 4 spaces!
43
44     http://www.FreeRTOS.org - Documentation, latest information, license and
45     contact details.
46
47     http://www.SafeRTOS.com - A version that is certified for use in safety
48     critical systems.
49
50     http://www.OpenRTOS.com - Commercial support, development, porting,
51     licensing and training services.
52 */
53
54 #ifndef MPU_WRAPPERS_H
55 #define MPU_WRAPPERS_H
56
57 /* This file redefines API functions to be called through a wrapper macro, but
58 only for ports that are using the MPU. */
59 #ifdef portUSING_MPU_WRAPPERS
60
61     /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE will be defined when this file is
62     included from queue.c or task.c to prevent it from having an effect within
63     those files. */
64     #ifndef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
65
66         #define xTaskGenericCreate              MPU_xTaskGenericCreate
67         #define vTaskAllocateMPURegions         MPU_vTaskAllocateMPURegions
68         #define vTaskDelete                     MPU_vTaskDelete
69         #define vTaskDelayUntil                 MPU_vTaskDelayUntil
70         #define vTaskDelay                      MPU_vTaskDelay
71         #define uxTaskPriorityGet               MPU_uxTaskPriorityGet
72         #define vTaskPrioritySet                MPU_vTaskPrioritySet
73         #define vTaskSuspend                    MPU_vTaskSuspend
74         #define xTaskIsTaskSuspended            MPU_xTaskIsTaskSuspended
75         #define vTaskResume                     MPU_vTaskResume
76         #define vTaskSuspendAll                 MPU_vTaskSuspendAll
77         #define xTaskResumeAll                  MPU_xTaskResumeAll
78         #define xTaskGetTickCount               MPU_xTaskGetTickCount
79         #define uxTaskGetNumberOfTasks          MPU_uxTaskGetNumberOfTasks
80         #define vTaskList                       MPU_vTaskList
81         #define vTaskGetRunTimeStats            MPU_vTaskGetRunTimeStats
82         #define vTaskStartTrace                 MPU_vTaskStartTrace
83         #define ulTaskEndTrace                  MPU_ulTaskEndTrace
84         #define vTaskSetApplicationTaskTag      MPU_vTaskSetApplicationTaskTag
85         #define xTaskGetApplicationTaskTag      MPU_xTaskGetApplicationTaskTag
86         #define xTaskCallApplicationTaskHook    MPU_xTaskCallApplicationTaskHook
87         #define uxTaskGetStackHighWaterMark     MPU_uxTaskGetStackHighWaterMark
88         #define xTaskGetCurrentTaskHandle       MPU_xTaskGetCurrentTaskHandle
89         #define xTaskGetSchedulerState          MPU_xTaskGetSchedulerState
90
91         #define xQueueCreate                    MPU_xQueueCreate
92         #define xQueueCreateMutex               MPU_xQueueCreateMutex
93         #define xQueueGiveMutexRecursive        MPU_xQueueGiveMutexRecursive
94         #define xQueueTakeMutexRecursive        MPU_xQueueTakeMutexRecursive
95         #define xQueueCreateCountingSemaphore   MPU_xQueueCreateCountingSemaphore
96         #define xQueueGenericSend               MPU_xQueueGenericSend
97         #define xQueueAltGenericSend            MPU_xQueueAltGenericSend
98         #define xQueueAltGenericReceive         MPU_xQueueAltGenericReceive
99         #define xQueueGenericReceive            MPU_xQueueGenericReceive
100         #define uxQueueMessagesWaiting          MPU_uxQueueMessagesWaiting
101         #define vQueueDelete                    MPU_vQueueDelete
102
103         #define pvPortMalloc                    MPU_pvPortMalloc
104         #define vPortFree                       MPU_vPortFree
105         #define xPortGetFreeHeapSize            MPU_xPortGetFreeHeapSize
106         #define vPortInitialiseBlocks           MPU_vPortInitialiseBlocks
107
108         #if configQUEUE_REGISTRY_SIZE > 0
109             #define vQueueAddToRegistry             MPU_vQueueAddToRegistry
110             #define vQueueUnregisterQueue           MPU_vQueueUnregisterQueue
111         #endif
112
113         /* Remove the privileged function macro. */
114         #define PRIVILEGED_FUNCTION
115
116     #else /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE */
117
118         /* Ensure API functions go in the privileged execution section. */
119         #define PRIVILEGED_FUNCTION __attribute__((section("privileged_functions")))
120         #define PRIVILEGED_DATA __attribute__((section("privileged_data")))
121         //#define PRIVILEGED_DATA
122
123     #endif /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE */
124
125 #else /* portUSING_MPU_WRAPPERS */
126
127     #define PRIVILEGED_FUNCTION
128     #define PRIVILEGED_DATA
129     #define portUSING_MPU_WRAPPERS 0
130
131 #endif /* portUSING_MPU_WRAPPERS */
132
133
134 #endif /* MPU_WRAPPERS_H */
135