2 FreeRTOS V7.0.2 - Copyright (C) 2011 Real Time Engineers Ltd.
5 ***************************************************************************
7 * FreeRTOS tutorial books are available in pdf and paperback. *
8 * Complete, revised, and edited pdf reference manuals are also *
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! *
18 * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
20 * Thank you for using FreeRTOS, and thank you for your support! *
22 ***************************************************************************
25 This file is part of the FreeRTOS distribution.
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
44 http://www.FreeRTOS.org - Documentation, latest information, license and
47 http://www.SafeRTOS.com - A version that is certified for use in safety
50 http://www.OpenRTOS.com - Commercial support, development, porting,
51 licensing and training services.
54 #ifndef MPU_WRAPPERS_H
55 #define MPU_WRAPPERS_H
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
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
64 #ifndef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
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
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
103 #define pvPortMalloc MPU_pvPortMalloc
104 #define vPortFree MPU_vPortFree
105 #define xPortGetFreeHeapSize MPU_xPortGetFreeHeapSize
106 #define vPortInitialiseBlocks MPU_vPortInitialiseBlocks
108 #if configQUEUE_REGISTRY_SIZE > 0
109 #define vQueueAddToRegistry MPU_vQueueAddToRegistry
110 #define vQueueUnregisterQueue MPU_vQueueUnregisterQueue
113 /* Remove the privileged function macro. */
114 #define PRIVILEGED_FUNCTION
116 #else /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE */
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
123 #endif /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE */
125 #else /* portUSING_MPU_WRAPPERS */
127 #define PRIVILEGED_FUNCTION
128 #define PRIVILEGED_DATA
129 #define portUSING_MPU_WRAPPERS 0
131 #endif /* portUSING_MPU_WRAPPERS */
134 #endif /* MPU_WRAPPERS_H */