www.freertos.org

Dependents:   mbed_freeRTOS_send

Fork of FreeRTOS by Rohit Grover

Committer:
rgrover1
Date:
Fri Jan 24 14:56:04 2014 +0000
Revision:
0:8e57f3e9cc89
Making FreeRTOS available as a library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rgrover1 0:8e57f3e9cc89 1 /*
rgrover1 0:8e57f3e9cc89 2 FreeRTOS V7.6.0 - Copyright (C) 2013 Real Time Engineers Ltd.
rgrover1 0:8e57f3e9cc89 3 All rights reserved
rgrover1 0:8e57f3e9cc89 4
rgrover1 0:8e57f3e9cc89 5 VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
rgrover1 0:8e57f3e9cc89 6
rgrover1 0:8e57f3e9cc89 7 ***************************************************************************
rgrover1 0:8e57f3e9cc89 8 * *
rgrover1 0:8e57f3e9cc89 9 * FreeRTOS provides completely free yet professionally developed, *
rgrover1 0:8e57f3e9cc89 10 * robust, strictly quality controlled, supported, and cross *
rgrover1 0:8e57f3e9cc89 11 * platform software that has become a de facto standard. *
rgrover1 0:8e57f3e9cc89 12 * *
rgrover1 0:8e57f3e9cc89 13 * Help yourself get started quickly and support the FreeRTOS *
rgrover1 0:8e57f3e9cc89 14 * project by purchasing a FreeRTOS tutorial book, reference *
rgrover1 0:8e57f3e9cc89 15 * manual, or both from: http://www.FreeRTOS.org/Documentation *
rgrover1 0:8e57f3e9cc89 16 * *
rgrover1 0:8e57f3e9cc89 17 * Thank you! *
rgrover1 0:8e57f3e9cc89 18 * *
rgrover1 0:8e57f3e9cc89 19 ***************************************************************************
rgrover1 0:8e57f3e9cc89 20
rgrover1 0:8e57f3e9cc89 21 This file is part of the FreeRTOS distribution.
rgrover1 0:8e57f3e9cc89 22
rgrover1 0:8e57f3e9cc89 23 FreeRTOS is free software; you can redistribute it and/or modify it under
rgrover1 0:8e57f3e9cc89 24 the terms of the GNU General Public License (version 2) as published by the
rgrover1 0:8e57f3e9cc89 25 Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
rgrover1 0:8e57f3e9cc89 26
rgrover1 0:8e57f3e9cc89 27 >>! NOTE: The modification to the GPL is included to allow you to distribute
rgrover1 0:8e57f3e9cc89 28 >>! a combined work that includes FreeRTOS without being obliged to provide
rgrover1 0:8e57f3e9cc89 29 >>! the source code for proprietary components outside of the FreeRTOS
rgrover1 0:8e57f3e9cc89 30 >>! kernel.
rgrover1 0:8e57f3e9cc89 31
rgrover1 0:8e57f3e9cc89 32 FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
rgrover1 0:8e57f3e9cc89 33 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
rgrover1 0:8e57f3e9cc89 34 FOR A PARTICULAR PURPOSE. Full license text is available from the following
rgrover1 0:8e57f3e9cc89 35 link: http://www.freertos.org/a00114.html
rgrover1 0:8e57f3e9cc89 36
rgrover1 0:8e57f3e9cc89 37 1 tab == 4 spaces!
rgrover1 0:8e57f3e9cc89 38
rgrover1 0:8e57f3e9cc89 39 ***************************************************************************
rgrover1 0:8e57f3e9cc89 40 * *
rgrover1 0:8e57f3e9cc89 41 * Having a problem? Start by reading the FAQ "My application does *
rgrover1 0:8e57f3e9cc89 42 * not run, what could be wrong?" *
rgrover1 0:8e57f3e9cc89 43 * *
rgrover1 0:8e57f3e9cc89 44 * http://www.FreeRTOS.org/FAQHelp.html *
rgrover1 0:8e57f3e9cc89 45 * *
rgrover1 0:8e57f3e9cc89 46 ***************************************************************************
rgrover1 0:8e57f3e9cc89 47
rgrover1 0:8e57f3e9cc89 48 http://www.FreeRTOS.org - Documentation, books, training, latest versions,
rgrover1 0:8e57f3e9cc89 49 license and Real Time Engineers Ltd. contact details.
rgrover1 0:8e57f3e9cc89 50
rgrover1 0:8e57f3e9cc89 51 http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
rgrover1 0:8e57f3e9cc89 52 including FreeRTOS+Trace - an indispensable productivity tool, a DOS
rgrover1 0:8e57f3e9cc89 53 compatible FAT file system, and our tiny thread aware UDP/IP stack.
rgrover1 0:8e57f3e9cc89 54
rgrover1 0:8e57f3e9cc89 55 http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
rgrover1 0:8e57f3e9cc89 56 Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS
rgrover1 0:8e57f3e9cc89 57 licenses offer ticketed support, indemnification and middleware.
rgrover1 0:8e57f3e9cc89 58
rgrover1 0:8e57f3e9cc89 59 http://www.SafeRTOS.com - High Integrity Systems also provide a safety
rgrover1 0:8e57f3e9cc89 60 engineered and independently SIL3 certified version for use in safety and
rgrover1 0:8e57f3e9cc89 61 mission critical applications that require provable dependability.
rgrover1 0:8e57f3e9cc89 62
rgrover1 0:8e57f3e9cc89 63 1 tab == 4 spaces!
rgrover1 0:8e57f3e9cc89 64 */
rgrover1 0:8e57f3e9cc89 65
rgrover1 0:8e57f3e9cc89 66 #ifndef MPU_WRAPPERS_H
rgrover1 0:8e57f3e9cc89 67 #define MPU_WRAPPERS_H
rgrover1 0:8e57f3e9cc89 68
rgrover1 0:8e57f3e9cc89 69 /* This file redefines API functions to be called through a wrapper macro, but
rgrover1 0:8e57f3e9cc89 70 only for ports that are using the MPU. */
rgrover1 0:8e57f3e9cc89 71 #ifdef portUSING_MPU_WRAPPERS
rgrover1 0:8e57f3e9cc89 72
rgrover1 0:8e57f3e9cc89 73 /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE will be defined when this file is
rgrover1 0:8e57f3e9cc89 74 included from queue.c or task.c to prevent it from having an effect within
rgrover1 0:8e57f3e9cc89 75 those files. */
rgrover1 0:8e57f3e9cc89 76 #ifndef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
rgrover1 0:8e57f3e9cc89 77
rgrover1 0:8e57f3e9cc89 78 #define xTaskGenericCreate MPU_xTaskGenericCreate
rgrover1 0:8e57f3e9cc89 79 #define vTaskAllocateMPURegions MPU_vTaskAllocateMPURegions
rgrover1 0:8e57f3e9cc89 80 #define vTaskDelete MPU_vTaskDelete
rgrover1 0:8e57f3e9cc89 81 #define vTaskDelayUntil MPU_vTaskDelayUntil
rgrover1 0:8e57f3e9cc89 82 #define vTaskDelay MPU_vTaskDelay
rgrover1 0:8e57f3e9cc89 83 #define uxTaskPriorityGet MPU_uxTaskPriorityGet
rgrover1 0:8e57f3e9cc89 84 #define vTaskPrioritySet MPU_vTaskPrioritySet
rgrover1 0:8e57f3e9cc89 85 #define eTaskGetState MPU_eTaskGetState
rgrover1 0:8e57f3e9cc89 86 #define vTaskSuspend MPU_vTaskSuspend
rgrover1 0:8e57f3e9cc89 87 #define xTaskIsTaskSuspended MPU_xTaskIsTaskSuspended
rgrover1 0:8e57f3e9cc89 88 #define vTaskResume MPU_vTaskResume
rgrover1 0:8e57f3e9cc89 89 #define vTaskSuspendAll MPU_vTaskSuspendAll
rgrover1 0:8e57f3e9cc89 90 #define xTaskResumeAll MPU_xTaskResumeAll
rgrover1 0:8e57f3e9cc89 91 #define xTaskGetTickCount MPU_xTaskGetTickCount
rgrover1 0:8e57f3e9cc89 92 #define uxTaskGetNumberOfTasks MPU_uxTaskGetNumberOfTasks
rgrover1 0:8e57f3e9cc89 93 #define vTaskList MPU_vTaskList
rgrover1 0:8e57f3e9cc89 94 #define vTaskGetRunTimeStats MPU_vTaskGetRunTimeStats
rgrover1 0:8e57f3e9cc89 95 #define vTaskSetApplicationTaskTag MPU_vTaskSetApplicationTaskTag
rgrover1 0:8e57f3e9cc89 96 #define xTaskGetApplicationTaskTag MPU_xTaskGetApplicationTaskTag
rgrover1 0:8e57f3e9cc89 97 #define xTaskCallApplicationTaskHook MPU_xTaskCallApplicationTaskHook
rgrover1 0:8e57f3e9cc89 98 #define uxTaskGetStackHighWaterMark MPU_uxTaskGetStackHighWaterMark
rgrover1 0:8e57f3e9cc89 99 #define xTaskGetCurrentTaskHandle MPU_xTaskGetCurrentTaskHandle
rgrover1 0:8e57f3e9cc89 100 #define xTaskGetSchedulerState MPU_xTaskGetSchedulerState
rgrover1 0:8e57f3e9cc89 101 #define xTaskGetIdleTaskHandle MPU_xTaskGetIdleTaskHandle
rgrover1 0:8e57f3e9cc89 102 #define uxTaskGetSystemState MPU_uxTaskGetSystemState
rgrover1 0:8e57f3e9cc89 103
rgrover1 0:8e57f3e9cc89 104 #define xQueueGenericCreate MPU_xQueueGenericCreate
rgrover1 0:8e57f3e9cc89 105 #define xQueueCreateMutex MPU_xQueueCreateMutex
rgrover1 0:8e57f3e9cc89 106 #define xQueueGiveMutexRecursive MPU_xQueueGiveMutexRecursive
rgrover1 0:8e57f3e9cc89 107 #define xQueueTakeMutexRecursive MPU_xQueueTakeMutexRecursive
rgrover1 0:8e57f3e9cc89 108 #define xQueueCreateCountingSemaphore MPU_xQueueCreateCountingSemaphore
rgrover1 0:8e57f3e9cc89 109 #define xQueueGenericSend MPU_xQueueGenericSend
rgrover1 0:8e57f3e9cc89 110 #define xQueueAltGenericSend MPU_xQueueAltGenericSend
rgrover1 0:8e57f3e9cc89 111 #define xQueueAltGenericReceive MPU_xQueueAltGenericReceive
rgrover1 0:8e57f3e9cc89 112 #define xQueueGenericReceive MPU_xQueueGenericReceive
rgrover1 0:8e57f3e9cc89 113 #define uxQueueMessagesWaiting MPU_uxQueueMessagesWaiting
rgrover1 0:8e57f3e9cc89 114 #define vQueueDelete MPU_vQueueDelete
rgrover1 0:8e57f3e9cc89 115 #define xQueueGenericReset MPU_xQueueGenericReset
rgrover1 0:8e57f3e9cc89 116 #define xQueueCreateSet MPU_xQueueCreateSet
rgrover1 0:8e57f3e9cc89 117 #define xQueueSelectFromSet MPU_xQueueSelectFromSet
rgrover1 0:8e57f3e9cc89 118 #define xQueueAddToSet MPU_xQueueAddToSet
rgrover1 0:8e57f3e9cc89 119 #define xQueueRemoveFromSet MPU_xQueueRemoveFromSet
rgrover1 0:8e57f3e9cc89 120 #define xQueuePeekFromISR MPU_xQueuePeekFromISR
rgrover1 0:8e57f3e9cc89 121
rgrover1 0:8e57f3e9cc89 122 #define pvPortMalloc MPU_pvPortMalloc
rgrover1 0:8e57f3e9cc89 123 #define vPortFree MPU_vPortFree
rgrover1 0:8e57f3e9cc89 124 #define xPortGetFreeHeapSize MPU_xPortGetFreeHeapSize
rgrover1 0:8e57f3e9cc89 125 #define vPortInitialiseBlocks MPU_vPortInitialiseBlocks
rgrover1 0:8e57f3e9cc89 126
rgrover1 0:8e57f3e9cc89 127 #if configQUEUE_REGISTRY_SIZE > 0
rgrover1 0:8e57f3e9cc89 128 #define vQueueAddToRegistry MPU_vQueueAddToRegistry
rgrover1 0:8e57f3e9cc89 129 #define vQueueUnregisterQueue MPU_vQueueUnregisterQueue
rgrover1 0:8e57f3e9cc89 130 #endif
rgrover1 0:8e57f3e9cc89 131
rgrover1 0:8e57f3e9cc89 132 /* Remove the privileged function macro. */
rgrover1 0:8e57f3e9cc89 133 #define PRIVILEGED_FUNCTION
rgrover1 0:8e57f3e9cc89 134
rgrover1 0:8e57f3e9cc89 135 #else /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE */
rgrover1 0:8e57f3e9cc89 136
rgrover1 0:8e57f3e9cc89 137 /* Ensure API functions go in the privileged execution section. */
rgrover1 0:8e57f3e9cc89 138 #define PRIVILEGED_FUNCTION __attribute__((section("privileged_functions")))
rgrover1 0:8e57f3e9cc89 139 #define PRIVILEGED_DATA __attribute__((section("privileged_data")))
rgrover1 0:8e57f3e9cc89 140
rgrover1 0:8e57f3e9cc89 141 #endif /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE */
rgrover1 0:8e57f3e9cc89 142
rgrover1 0:8e57f3e9cc89 143 #else /* portUSING_MPU_WRAPPERS */
rgrover1 0:8e57f3e9cc89 144
rgrover1 0:8e57f3e9cc89 145 #define PRIVILEGED_FUNCTION
rgrover1 0:8e57f3e9cc89 146 #define PRIVILEGED_DATA
rgrover1 0:8e57f3e9cc89 147 #define portUSING_MPU_WRAPPERS 0
rgrover1 0:8e57f3e9cc89 148
rgrover1 0:8e57f3e9cc89 149 #endif /* portUSING_MPU_WRAPPERS */
rgrover1 0:8e57f3e9cc89 150
rgrover1 0:8e57f3e9cc89 151
rgrover1 0:8e57f3e9cc89 152 #endif /* MPU_WRAPPERS_H */
rgrover1 0:8e57f3e9cc89 153