FreeRTOS Real Time Operating System, Modified from Kenji Arai's initial port. See freertos.org for full documentation.

Fork of FreeRTOS_on_mbed_v1 by Kenji Arai

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers mpu_wrappers.h Source File

mpu_wrappers.h

00001 /*
00002     FreeRTOS V6.0.3 - Copyright (C) 2010 Real Time Engineers Ltd.
00003 
00004     ***************************************************************************
00005     *                                                                         *
00006     * If you are:                                                             *
00007     *                                                                         *
00008     *    + New to FreeRTOS,                                                   *
00009     *    + Wanting to learn FreeRTOS or multitasking in general quickly       *
00010     *    + Looking for basic training,                                        *
00011     *    + Wanting to improve your FreeRTOS skills and productivity           *
00012     *                                                                         *
00013     * then take a look at the FreeRTOS eBook                                  *
00014     *                                                                         *
00015     *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *
00016     *                  http://www.FreeRTOS.org/Documentation                  *
00017     *                                                                         *
00018     * A pdf reference manual is also available.  Both are usually delivered   *
00019     * to your inbox within 20 minutes to two hours when purchased between 8am *
00020     * and 8pm GMT (although please allow up to 24 hours in case of            *
00021     * exceptional circumstances).  Thank you for your support!                *
00022     *                                                                         *
00023     ***************************************************************************
00024 
00025     This file is part of the FreeRTOS distribution.
00026 
00027     FreeRTOS is free software; you can redistribute it and/or modify it under
00028     the terms of the GNU General Public License (version 2) as published by the
00029     Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
00030     ***NOTE*** The exception to the GPL is included to allow you to distribute
00031     a combined work that includes FreeRTOS without being obliged to provide the
00032     source code for proprietary components outside of the FreeRTOS kernel.
00033     FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
00034     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00035     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
00036     more details. You should have received a copy of the GNU General Public 
00037     License and the FreeRTOS license exception along with FreeRTOS; if not it 
00038     can be viewed here: http://www.freertos.org/a00114.html and also obtained 
00039     by writing to Richard Barry, contact details for whom are available on the
00040     FreeRTOS WEB site.
00041 
00042     1 tab == 4 spaces!
00043 
00044     http://www.FreeRTOS.org - Documentation, latest information, license and
00045     contact details.
00046 
00047     http://www.SafeRTOS.com - A version that is certified for use in safety
00048     critical systems.
00049 
00050     http://www.OpenRTOS.com - Commercial support, development, porting,
00051     licensing and training services.
00052 */
00053 
00054 #ifndef MPU_WRAPPERS_H
00055 #define MPU_WRAPPERS_H
00056 
00057 // Modified by  Kenji Arai / JH1PJL, November 3rd,2010
00058 #if 0
00059 /* This file redefines API functions to be called through a wrapper macro, but
00060 only for ports that are using the MPU. */
00061 #ifdef portUSING_MPU_WRAPPERS
00062 
00063     /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE will be defined when this file is
00064     included from queue.c or task.c to prevent it from having an effect within
00065     those files. */
00066     #ifndef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
00067 
00068         #define xTaskGenericCreate                MPU_xTaskGenericCreate
00069         #define vTaskAllocateMPURegions            MPU_vTaskAllocateMPURegions
00070         #define vTaskDelete                        MPU_vTaskDelete
00071         #define vTaskDelayUntil                    MPU_vTaskDelayUntil
00072         #define vTaskDelay                        MPU_vTaskDelay
00073         #define uxTaskPriorityGet                MPU_uxTaskPriorityGet
00074         #define vTaskPrioritySet                MPU_vTaskPrioritySet
00075         #define vTaskSuspend                    MPU_vTaskSuspend
00076         #define xTaskIsTaskSuspended            MPU_xTaskIsTaskSuspended
00077         #define vTaskResume                        MPU_vTaskResume
00078         #define vTaskSuspendAll                    MPU_vTaskSuspendAll
00079         #define xTaskResumeAll                    MPU_xTaskResumeAll
00080         #define xTaskGetTickCount                MPU_xTaskGetTickCount
00081         #define uxTaskGetNumberOfTasks            MPU_uxTaskGetNumberOfTasks
00082         #define vTaskList                        MPU_vTaskList
00083         #define vTaskGetRunTimeStats            MPU_vTaskGetRunTimeStats
00084         #define vTaskStartTrace                    MPU_vTaskStartTrace
00085         #define ulTaskEndTrace                    MPU_ulTaskEndTrace
00086         #define vTaskSetApplicationTaskTag        MPU_vTaskSetApplicationTaskTag
00087         #define xTaskGetApplicationTaskTag        MPU_xTaskGetApplicationTaskTag
00088         #define xTaskCallApplicationTaskHook    MPU_xTaskCallApplicationTaskHook
00089         #define uxTaskGetStackHighWaterMark        MPU_uxTaskGetStackHighWaterMark
00090         #define xTaskGetCurrentTaskHandle        MPU_xTaskGetCurrentTaskHandle
00091         #define xTaskGetSchedulerState            MPU_xTaskGetSchedulerState
00092 
00093         #define xQueueCreate                    MPU_xQueueCreate
00094         #define xQueueCreateMutex                MPU_xQueueCreateMutex
00095         #define xQueueGiveMutexRecursive        MPU_xQueueGiveMutexRecursive
00096         #define xQueueTakeMutexRecursive        MPU_xQueueTakeMutexRecursive
00097         #define xQueueCreateCountingSemaphore    MPU_xQueueCreateCountingSemaphore
00098         #define xQueueGenericSend                MPU_xQueueGenericSend
00099         #define xQueueAltGenericSend            MPU_xQueueAltGenericSend
00100         #define xQueueAltGenericReceive            MPU_xQueueAltGenericReceive
00101         #define xQueueGenericReceive            MPU_xQueueGenericReceive
00102         #define uxQueueMessagesWaiting            MPU_uxQueueMessagesWaiting
00103         #define vQueueDelete                    MPU_vQueueDelete
00104 
00105         #define pvPortMalloc                    MPU_pvPortMalloc
00106         #define vPortFree                        MPU_vPortFree
00107         #define xPortGetFreeHeapSize            MPU_xPortGetFreeHeapSize
00108         #define vPortInitialiseBlocks            MPU_vPortInitialiseBlocks
00109 
00110         #if configQUEUE_REGISTRY_SIZE > 0
00111             #define vQueueAddToRegistry                MPU_vQueueAddToRegistry
00112             #define vQueueUnregisterQueue            MPU_vQueueUnregisterQueue
00113         #endif
00114 
00115         /* Remove the privileged function macro. */
00116         #define PRIVILEGED_FUNCTION
00117 
00118     #else /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE */
00119 
00120         /* Ensure API functions go in the privileged execution section. */
00121         #define PRIVILEGED_FUNCTION __attribute__((section("privileged_functions")))
00122         #define PRIVILEGED_DATA __attribute__((section("privileged_data")))
00123         //#define PRIVILEGED_DATA
00124 
00125     #endif /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE */
00126 
00127 #else /* portUSING_MPU_WRAPPERS */
00128 
00129     #define PRIVILEGED_FUNCTION
00130     #define PRIVILEGED_DATA
00131     #define portUSING_MPU_WRAPPERS 0
00132 
00133 #endif /* portUSING_MPU_WRAPPERS */
00134 #endif
00135 
00136 // Modified by  Kenji Arai / JH1PJL, November 3rd,2010
00137     #define PRIVILEGED_FUNCTION
00138     #define PRIVILEGED_DATA
00139     #define portUSING_MPU_WRAPPERS 0
00140 
00141 
00142 #endif /* MPU_WRAPPERS_H */
00143