Please see my note book http://mbed.org/users/kenjiArai/notebook/freertos-on-mbed-board-with-mbed-cloud-ide--never-/

This is too old.
Below is another FreeRTOS on mbed.
http://developer.mbed.org/users/rgrover1/code/FreeRTOS/
I don't know it works well or not.
I have not evaluated it.

Committer:
kenjiArai
Date:
Sat Jan 01 11:17:45 2011 +0000
Revision:
0:d4960fcea8ff

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 0:d4960fcea8ff 1 /*
kenjiArai 0:d4960fcea8ff 2 FreeRTOS V6.0.3 - Copyright (C) 2010 Real Time Engineers Ltd.
kenjiArai 0:d4960fcea8ff 3
kenjiArai 0:d4960fcea8ff 4 ***************************************************************************
kenjiArai 0:d4960fcea8ff 5 * *
kenjiArai 0:d4960fcea8ff 6 * If you are: *
kenjiArai 0:d4960fcea8ff 7 * *
kenjiArai 0:d4960fcea8ff 8 * + New to FreeRTOS, *
kenjiArai 0:d4960fcea8ff 9 * + Wanting to learn FreeRTOS or multitasking in general quickly *
kenjiArai 0:d4960fcea8ff 10 * + Looking for basic training, *
kenjiArai 0:d4960fcea8ff 11 * + Wanting to improve your FreeRTOS skills and productivity *
kenjiArai 0:d4960fcea8ff 12 * *
kenjiArai 0:d4960fcea8ff 13 * then take a look at the FreeRTOS eBook *
kenjiArai 0:d4960fcea8ff 14 * *
kenjiArai 0:d4960fcea8ff 15 * "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
kenjiArai 0:d4960fcea8ff 16 * http://www.FreeRTOS.org/Documentation *
kenjiArai 0:d4960fcea8ff 17 * *
kenjiArai 0:d4960fcea8ff 18 * A pdf reference manual is also available. Both are usually delivered *
kenjiArai 0:d4960fcea8ff 19 * to your inbox within 20 minutes to two hours when purchased between 8am *
kenjiArai 0:d4960fcea8ff 20 * and 8pm GMT (although please allow up to 24 hours in case of *
kenjiArai 0:d4960fcea8ff 21 * exceptional circumstances). Thank you for your support! *
kenjiArai 0:d4960fcea8ff 22 * *
kenjiArai 0:d4960fcea8ff 23 ***************************************************************************
kenjiArai 0:d4960fcea8ff 24
kenjiArai 0:d4960fcea8ff 25 This file is part of the FreeRTOS distribution.
kenjiArai 0:d4960fcea8ff 26
kenjiArai 0:d4960fcea8ff 27 FreeRTOS is free software; you can redistribute it and/or modify it under
kenjiArai 0:d4960fcea8ff 28 the terms of the GNU General Public License (version 2) as published by the
kenjiArai 0:d4960fcea8ff 29 Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
kenjiArai 0:d4960fcea8ff 30 ***NOTE*** The exception to the GPL is included to allow you to distribute
kenjiArai 0:d4960fcea8ff 31 a combined work that includes FreeRTOS without being obliged to provide the
kenjiArai 0:d4960fcea8ff 32 source code for proprietary components outside of the FreeRTOS kernel.
kenjiArai 0:d4960fcea8ff 33 FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
kenjiArai 0:d4960fcea8ff 34 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
kenjiArai 0:d4960fcea8ff 35 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
kenjiArai 0:d4960fcea8ff 36 more details. You should have received a copy of the GNU General Public
kenjiArai 0:d4960fcea8ff 37 License and the FreeRTOS license exception along with FreeRTOS; if not it
kenjiArai 0:d4960fcea8ff 38 can be viewed here: http://www.freertos.org/a00114.html and also obtained
kenjiArai 0:d4960fcea8ff 39 by writing to Richard Barry, contact details for whom are available on the
kenjiArai 0:d4960fcea8ff 40 FreeRTOS WEB site.
kenjiArai 0:d4960fcea8ff 41
kenjiArai 0:d4960fcea8ff 42 1 tab == 4 spaces!
kenjiArai 0:d4960fcea8ff 43
kenjiArai 0:d4960fcea8ff 44 http://www.FreeRTOS.org - Documentation, latest information, license and
kenjiArai 0:d4960fcea8ff 45 contact details.
kenjiArai 0:d4960fcea8ff 46
kenjiArai 0:d4960fcea8ff 47 http://www.SafeRTOS.com - A version that is certified for use in safety
kenjiArai 0:d4960fcea8ff 48 critical systems.
kenjiArai 0:d4960fcea8ff 49
kenjiArai 0:d4960fcea8ff 50 http://www.OpenRTOS.com - Commercial support, development, porting,
kenjiArai 0:d4960fcea8ff 51 licensing and training services.
kenjiArai 0:d4960fcea8ff 52 */
kenjiArai 0:d4960fcea8ff 53
kenjiArai 0:d4960fcea8ff 54 #ifndef INC_FREERTOS_H
kenjiArai 0:d4960fcea8ff 55 #define INC_FREERTOS_H
kenjiArai 0:d4960fcea8ff 56
kenjiArai 0:d4960fcea8ff 57
kenjiArai 0:d4960fcea8ff 58 /*
kenjiArai 0:d4960fcea8ff 59 * Include the generic headers required for the FreeRTOS port being used.
kenjiArai 0:d4960fcea8ff 60 */
kenjiArai 0:d4960fcea8ff 61 #include <stddef.h>
kenjiArai 0:d4960fcea8ff 62
kenjiArai 0:d4960fcea8ff 63 /* Basic FreeRTOS definitions. */
kenjiArai 0:d4960fcea8ff 64 #include "projdefs.h"
kenjiArai 0:d4960fcea8ff 65
kenjiArai 0:d4960fcea8ff 66 /* Application specific configuration options. */
kenjiArai 0:d4960fcea8ff 67 #include "FreeRTOSConfig.h"
kenjiArai 0:d4960fcea8ff 68
kenjiArai 0:d4960fcea8ff 69 /* Definitions specific to the port being used. */
kenjiArai 0:d4960fcea8ff 70 #include "portable.h"
kenjiArai 0:d4960fcea8ff 71
kenjiArai 0:d4960fcea8ff 72
kenjiArai 0:d4960fcea8ff 73 /* Defines the prototype to which the application task hook function must
kenjiArai 0:d4960fcea8ff 74 conform. */
kenjiArai 0:d4960fcea8ff 75 typedef portBASE_TYPE (*pdTASK_HOOK_CODE)( void * );
kenjiArai 0:d4960fcea8ff 76
kenjiArai 0:d4960fcea8ff 77
kenjiArai 0:d4960fcea8ff 78
kenjiArai 0:d4960fcea8ff 79
kenjiArai 0:d4960fcea8ff 80
kenjiArai 0:d4960fcea8ff 81 /*
kenjiArai 0:d4960fcea8ff 82 * Check all the required application specific macros have been defined.
kenjiArai 0:d4960fcea8ff 83 * These macros are application specific and (as downloaded) are defined
kenjiArai 0:d4960fcea8ff 84 * within FreeRTOSConfig.h.
kenjiArai 0:d4960fcea8ff 85 */
kenjiArai 0:d4960fcea8ff 86
kenjiArai 0:d4960fcea8ff 87 #ifndef configUSE_PREEMPTION
kenjiArai 0:d4960fcea8ff 88 #error Missing definition: configUSE_PREEMPTION should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
kenjiArai 0:d4960fcea8ff 89 #endif
kenjiArai 0:d4960fcea8ff 90
kenjiArai 0:d4960fcea8ff 91 #ifndef configUSE_IDLE_HOOK
kenjiArai 0:d4960fcea8ff 92 #error Missing definition: configUSE_IDLE_HOOK should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
kenjiArai 0:d4960fcea8ff 93 #endif
kenjiArai 0:d4960fcea8ff 94
kenjiArai 0:d4960fcea8ff 95 #ifndef configUSE_TICK_HOOK
kenjiArai 0:d4960fcea8ff 96 #error Missing definition: configUSE_TICK_HOOK should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
kenjiArai 0:d4960fcea8ff 97 #endif
kenjiArai 0:d4960fcea8ff 98
kenjiArai 0:d4960fcea8ff 99 #ifndef configUSE_CO_ROUTINES
kenjiArai 0:d4960fcea8ff 100 #error Missing definition: configUSE_CO_ROUTINES should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
kenjiArai 0:d4960fcea8ff 101 #endif
kenjiArai 0:d4960fcea8ff 102
kenjiArai 0:d4960fcea8ff 103 #ifndef INCLUDE_vTaskPrioritySet
kenjiArai 0:d4960fcea8ff 104 #error Missing definition: INCLUDE_vTaskPrioritySet should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
kenjiArai 0:d4960fcea8ff 105 #endif
kenjiArai 0:d4960fcea8ff 106
kenjiArai 0:d4960fcea8ff 107 #ifndef INCLUDE_uxTaskPriorityGet
kenjiArai 0:d4960fcea8ff 108 #error Missing definition: INCLUDE_uxTaskPriorityGet should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
kenjiArai 0:d4960fcea8ff 109 #endif
kenjiArai 0:d4960fcea8ff 110
kenjiArai 0:d4960fcea8ff 111 #ifndef INCLUDE_vTaskDelete
kenjiArai 0:d4960fcea8ff 112 #error Missing definition: INCLUDE_vTaskDelete should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
kenjiArai 0:d4960fcea8ff 113 #endif
kenjiArai 0:d4960fcea8ff 114
kenjiArai 0:d4960fcea8ff 115 #ifndef INCLUDE_vTaskCleanUpResources
kenjiArai 0:d4960fcea8ff 116 #error Missing definition: INCLUDE_vTaskCleanUpResources should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
kenjiArai 0:d4960fcea8ff 117 #endif
kenjiArai 0:d4960fcea8ff 118
kenjiArai 0:d4960fcea8ff 119 #ifndef INCLUDE_vTaskSuspend
kenjiArai 0:d4960fcea8ff 120 #error Missing definition: INCLUDE_vTaskSuspend should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
kenjiArai 0:d4960fcea8ff 121 #endif
kenjiArai 0:d4960fcea8ff 122
kenjiArai 0:d4960fcea8ff 123 #ifndef INCLUDE_vTaskDelayUntil
kenjiArai 0:d4960fcea8ff 124 #error Missing definition: INCLUDE_vTaskDelayUntil should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
kenjiArai 0:d4960fcea8ff 125 #endif
kenjiArai 0:d4960fcea8ff 126
kenjiArai 0:d4960fcea8ff 127 #ifndef INCLUDE_vTaskDelay
kenjiArai 0:d4960fcea8ff 128 #error Missing definition: INCLUDE_vTaskDelay should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
kenjiArai 0:d4960fcea8ff 129 #endif
kenjiArai 0:d4960fcea8ff 130
kenjiArai 0:d4960fcea8ff 131 #ifndef configUSE_16_BIT_TICKS
kenjiArai 0:d4960fcea8ff 132 #error Missing definition: configUSE_16_BIT_TICKS should be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
kenjiArai 0:d4960fcea8ff 133 #endif
kenjiArai 0:d4960fcea8ff 134
kenjiArai 0:d4960fcea8ff 135 #ifndef configUSE_APPLICATION_TASK_TAG
kenjiArai 0:d4960fcea8ff 136 #define configUSE_APPLICATION_TASK_TAG 0
kenjiArai 0:d4960fcea8ff 137 #endif
kenjiArai 0:d4960fcea8ff 138
kenjiArai 0:d4960fcea8ff 139 #ifndef INCLUDE_uxTaskGetStackHighWaterMark
kenjiArai 0:d4960fcea8ff 140 #define INCLUDE_uxTaskGetStackHighWaterMark 0
kenjiArai 0:d4960fcea8ff 141 #endif
kenjiArai 0:d4960fcea8ff 142
kenjiArai 0:d4960fcea8ff 143 #ifndef configUSE_RECURSIVE_MUTEXES
kenjiArai 0:d4960fcea8ff 144 #define configUSE_RECURSIVE_MUTEXES 0
kenjiArai 0:d4960fcea8ff 145 #endif
kenjiArai 0:d4960fcea8ff 146
kenjiArai 0:d4960fcea8ff 147 #ifndef configUSE_MUTEXES
kenjiArai 0:d4960fcea8ff 148 #define configUSE_MUTEXES 0
kenjiArai 0:d4960fcea8ff 149 #endif
kenjiArai 0:d4960fcea8ff 150
kenjiArai 0:d4960fcea8ff 151 #ifndef configUSE_COUNTING_SEMAPHORES
kenjiArai 0:d4960fcea8ff 152 #define configUSE_COUNTING_SEMAPHORES 0
kenjiArai 0:d4960fcea8ff 153 #endif
kenjiArai 0:d4960fcea8ff 154
kenjiArai 0:d4960fcea8ff 155 #ifndef configUSE_ALTERNATIVE_API
kenjiArai 0:d4960fcea8ff 156 #define configUSE_ALTERNATIVE_API 0
kenjiArai 0:d4960fcea8ff 157 #endif
kenjiArai 0:d4960fcea8ff 158
kenjiArai 0:d4960fcea8ff 159 #ifndef portCRITICAL_NESTING_IN_TCB
kenjiArai 0:d4960fcea8ff 160 #define portCRITICAL_NESTING_IN_TCB 0
kenjiArai 0:d4960fcea8ff 161 #endif
kenjiArai 0:d4960fcea8ff 162
kenjiArai 0:d4960fcea8ff 163 #ifndef configMAX_TASK_NAME_LEN
kenjiArai 0:d4960fcea8ff 164 #define configMAX_TASK_NAME_LEN 16
kenjiArai 0:d4960fcea8ff 165 #endif
kenjiArai 0:d4960fcea8ff 166
kenjiArai 0:d4960fcea8ff 167 #ifndef configIDLE_SHOULD_YIELD
kenjiArai 0:d4960fcea8ff 168 #define configIDLE_SHOULD_YIELD 1
kenjiArai 0:d4960fcea8ff 169 #endif
kenjiArai 0:d4960fcea8ff 170
kenjiArai 0:d4960fcea8ff 171 #if configMAX_TASK_NAME_LEN < 1
kenjiArai 0:d4960fcea8ff 172 #undef configMAX_TASK_NAME_LEN
kenjiArai 0:d4960fcea8ff 173 #define configMAX_TASK_NAME_LEN 1
kenjiArai 0:d4960fcea8ff 174 #endif
kenjiArai 0:d4960fcea8ff 175
kenjiArai 0:d4960fcea8ff 176 #ifndef INCLUDE_xTaskResumeFromISR
kenjiArai 0:d4960fcea8ff 177 #define INCLUDE_xTaskResumeFromISR 1
kenjiArai 0:d4960fcea8ff 178 #endif
kenjiArai 0:d4960fcea8ff 179
kenjiArai 0:d4960fcea8ff 180 #ifndef INCLUDE_xTaskGetSchedulerState
kenjiArai 0:d4960fcea8ff 181 #define INCLUDE_xTaskGetSchedulerState 0
kenjiArai 0:d4960fcea8ff 182 #endif
kenjiArai 0:d4960fcea8ff 183
kenjiArai 0:d4960fcea8ff 184 #if ( configUSE_MUTEXES == 1 )
kenjiArai 0:d4960fcea8ff 185 /* xTaskGetCurrentTaskHandle is used by the priority inheritance mechanism
kenjiArai 0:d4960fcea8ff 186 within the mutex implementation so must be available if mutexes are used. */
kenjiArai 0:d4960fcea8ff 187 #undef INCLUDE_xTaskGetCurrentTaskHandle
kenjiArai 0:d4960fcea8ff 188 #define INCLUDE_xTaskGetCurrentTaskHandle 1
kenjiArai 0:d4960fcea8ff 189 #else
kenjiArai 0:d4960fcea8ff 190 #ifndef INCLUDE_xTaskGetCurrentTaskHandle
kenjiArai 0:d4960fcea8ff 191 #define INCLUDE_xTaskGetCurrentTaskHandle 0
kenjiArai 0:d4960fcea8ff 192 #endif
kenjiArai 0:d4960fcea8ff 193 #endif
kenjiArai 0:d4960fcea8ff 194
kenjiArai 0:d4960fcea8ff 195
kenjiArai 0:d4960fcea8ff 196 #ifndef portSET_INTERRUPT_MASK_FROM_ISR
kenjiArai 0:d4960fcea8ff 197 #define portSET_INTERRUPT_MASK_FROM_ISR() 0
kenjiArai 0:d4960fcea8ff 198 #endif
kenjiArai 0:d4960fcea8ff 199
kenjiArai 0:d4960fcea8ff 200 #ifndef portCLEAR_INTERRUPT_MASK_FROM_ISR
kenjiArai 0:d4960fcea8ff 201 #define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusValue ) ( void ) uxSavedStatusValue
kenjiArai 0:d4960fcea8ff 202 #endif
kenjiArai 0:d4960fcea8ff 203
kenjiArai 0:d4960fcea8ff 204
kenjiArai 0:d4960fcea8ff 205 #ifndef configQUEUE_REGISTRY_SIZE
kenjiArai 0:d4960fcea8ff 206 #define configQUEUE_REGISTRY_SIZE 0
kenjiArai 0:d4960fcea8ff 207 #endif
kenjiArai 0:d4960fcea8ff 208
kenjiArai 0:d4960fcea8ff 209 #if configQUEUE_REGISTRY_SIZE < 1
kenjiArai 0:d4960fcea8ff 210 #define configQUEUE_REGISTRY_SIZE 0
kenjiArai 0:d4960fcea8ff 211 #define vQueueAddToRegistry( xQueue, pcName )
kenjiArai 0:d4960fcea8ff 212 #define vQueueUnregisterQueue( xQueue )
kenjiArai 0:d4960fcea8ff 213 #endif
kenjiArai 0:d4960fcea8ff 214
kenjiArai 0:d4960fcea8ff 215
kenjiArai 0:d4960fcea8ff 216 /* Remove any unused trace macros. */
kenjiArai 0:d4960fcea8ff 217 #ifndef traceSTART
kenjiArai 0:d4960fcea8ff 218 /* Used to perform any necessary initialisation - for example, open a file
kenjiArai 0:d4960fcea8ff 219 into which trace is to be written. */
kenjiArai 0:d4960fcea8ff 220 #define traceSTART()
kenjiArai 0:d4960fcea8ff 221 #endif
kenjiArai 0:d4960fcea8ff 222
kenjiArai 0:d4960fcea8ff 223 #ifndef traceEND
kenjiArai 0:d4960fcea8ff 224 /* Use to close a trace, for example close a file into which trace has been
kenjiArai 0:d4960fcea8ff 225 written. */
kenjiArai 0:d4960fcea8ff 226 #define traceEND()
kenjiArai 0:d4960fcea8ff 227 #endif
kenjiArai 0:d4960fcea8ff 228
kenjiArai 0:d4960fcea8ff 229 #ifndef traceTASK_SWITCHED_IN
kenjiArai 0:d4960fcea8ff 230 /* Called after a task has been selected to run. pxCurrentTCB holds a pointer
kenjiArai 0:d4960fcea8ff 231 to the task control block of the selected task. */
kenjiArai 0:d4960fcea8ff 232 #define traceTASK_SWITCHED_IN()
kenjiArai 0:d4960fcea8ff 233 #endif
kenjiArai 0:d4960fcea8ff 234
kenjiArai 0:d4960fcea8ff 235 #ifndef traceTASK_SWITCHED_OUT
kenjiArai 0:d4960fcea8ff 236 /* Called before a task has been selected to run. pxCurrentTCB holds a pointer
kenjiArai 0:d4960fcea8ff 237 to the task control block of the task being switched out. */
kenjiArai 0:d4960fcea8ff 238 #define traceTASK_SWITCHED_OUT()
kenjiArai 0:d4960fcea8ff 239 #endif
kenjiArai 0:d4960fcea8ff 240
kenjiArai 0:d4960fcea8ff 241 #ifndef traceBLOCKING_ON_QUEUE_RECEIVE
kenjiArai 0:d4960fcea8ff 242 /* Task is about to block because it cannot read from a
kenjiArai 0:d4960fcea8ff 243 queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore
kenjiArai 0:d4960fcea8ff 244 upon which the read was attempted. pxCurrentTCB points to the TCB of the
kenjiArai 0:d4960fcea8ff 245 task that attempted the read. */
kenjiArai 0:d4960fcea8ff 246 #define traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue )
kenjiArai 0:d4960fcea8ff 247 #endif
kenjiArai 0:d4960fcea8ff 248
kenjiArai 0:d4960fcea8ff 249 #ifndef traceBLOCKING_ON_QUEUE_SEND
kenjiArai 0:d4960fcea8ff 250 /* Task is about to block because it cannot write to a
kenjiArai 0:d4960fcea8ff 251 queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore
kenjiArai 0:d4960fcea8ff 252 upon which the write was attempted. pxCurrentTCB points to the TCB of the
kenjiArai 0:d4960fcea8ff 253 task that attempted the write. */
kenjiArai 0:d4960fcea8ff 254 #define traceBLOCKING_ON_QUEUE_SEND( pxQueue )
kenjiArai 0:d4960fcea8ff 255 #endif
kenjiArai 0:d4960fcea8ff 256
kenjiArai 0:d4960fcea8ff 257 #ifndef configCHECK_FOR_STACK_OVERFLOW
kenjiArai 0:d4960fcea8ff 258 #define configCHECK_FOR_STACK_OVERFLOW 0
kenjiArai 0:d4960fcea8ff 259 #endif
kenjiArai 0:d4960fcea8ff 260
kenjiArai 0:d4960fcea8ff 261 /* The following event macros are embedded in the kernel API calls. */
kenjiArai 0:d4960fcea8ff 262
kenjiArai 0:d4960fcea8ff 263 #ifndef traceQUEUE_CREATE
kenjiArai 0:d4960fcea8ff 264 #define traceQUEUE_CREATE( pxNewQueue )
kenjiArai 0:d4960fcea8ff 265 #endif
kenjiArai 0:d4960fcea8ff 266
kenjiArai 0:d4960fcea8ff 267 #ifndef traceQUEUE_CREATE_FAILED
kenjiArai 0:d4960fcea8ff 268 #define traceQUEUE_CREATE_FAILED()
kenjiArai 0:d4960fcea8ff 269 #endif
kenjiArai 0:d4960fcea8ff 270
kenjiArai 0:d4960fcea8ff 271 #ifndef traceCREATE_MUTEX
kenjiArai 0:d4960fcea8ff 272 #define traceCREATE_MUTEX( pxNewQueue )
kenjiArai 0:d4960fcea8ff 273 #endif
kenjiArai 0:d4960fcea8ff 274
kenjiArai 0:d4960fcea8ff 275 #ifndef traceCREATE_MUTEX_FAILED
kenjiArai 0:d4960fcea8ff 276 #define traceCREATE_MUTEX_FAILED()
kenjiArai 0:d4960fcea8ff 277 #endif
kenjiArai 0:d4960fcea8ff 278
kenjiArai 0:d4960fcea8ff 279 #ifndef traceGIVE_MUTEX_RECURSIVE
kenjiArai 0:d4960fcea8ff 280 #define traceGIVE_MUTEX_RECURSIVE( pxMutex )
kenjiArai 0:d4960fcea8ff 281 #endif
kenjiArai 0:d4960fcea8ff 282
kenjiArai 0:d4960fcea8ff 283 #ifndef traceGIVE_MUTEX_RECURSIVE_FAILED
kenjiArai 0:d4960fcea8ff 284 #define traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex )
kenjiArai 0:d4960fcea8ff 285 #endif
kenjiArai 0:d4960fcea8ff 286
kenjiArai 0:d4960fcea8ff 287 #ifndef traceTAKE_MUTEX_RECURSIVE
kenjiArai 0:d4960fcea8ff 288 #define traceTAKE_MUTEX_RECURSIVE( pxMutex )
kenjiArai 0:d4960fcea8ff 289 #endif
kenjiArai 0:d4960fcea8ff 290
kenjiArai 0:d4960fcea8ff 291 #ifndef traceCREATE_COUNTING_SEMAPHORE
kenjiArai 0:d4960fcea8ff 292 #define traceCREATE_COUNTING_SEMAPHORE()
kenjiArai 0:d4960fcea8ff 293 #endif
kenjiArai 0:d4960fcea8ff 294
kenjiArai 0:d4960fcea8ff 295 #ifndef traceCREATE_COUNTING_SEMAPHORE_FAILED
kenjiArai 0:d4960fcea8ff 296 #define traceCREATE_COUNTING_SEMAPHORE_FAILED()
kenjiArai 0:d4960fcea8ff 297 #endif
kenjiArai 0:d4960fcea8ff 298
kenjiArai 0:d4960fcea8ff 299 #ifndef traceQUEUE_SEND
kenjiArai 0:d4960fcea8ff 300 #define traceQUEUE_SEND( pxQueue )
kenjiArai 0:d4960fcea8ff 301 #endif
kenjiArai 0:d4960fcea8ff 302
kenjiArai 0:d4960fcea8ff 303 #ifndef traceQUEUE_SEND_FAILED
kenjiArai 0:d4960fcea8ff 304 #define traceQUEUE_SEND_FAILED( pxQueue )
kenjiArai 0:d4960fcea8ff 305 #endif
kenjiArai 0:d4960fcea8ff 306
kenjiArai 0:d4960fcea8ff 307 #ifndef traceQUEUE_RECEIVE
kenjiArai 0:d4960fcea8ff 308 #define traceQUEUE_RECEIVE( pxQueue )
kenjiArai 0:d4960fcea8ff 309 #endif
kenjiArai 0:d4960fcea8ff 310
kenjiArai 0:d4960fcea8ff 311 #ifndef traceQUEUE_PEEK
kenjiArai 0:d4960fcea8ff 312 #define traceQUEUE_PEEK( pxQueue )
kenjiArai 0:d4960fcea8ff 313 #endif
kenjiArai 0:d4960fcea8ff 314
kenjiArai 0:d4960fcea8ff 315 #ifndef traceQUEUE_RECEIVE_FAILED
kenjiArai 0:d4960fcea8ff 316 #define traceQUEUE_RECEIVE_FAILED( pxQueue )
kenjiArai 0:d4960fcea8ff 317 #endif
kenjiArai 0:d4960fcea8ff 318
kenjiArai 0:d4960fcea8ff 319 #ifndef traceQUEUE_SEND_FROM_ISR
kenjiArai 0:d4960fcea8ff 320 #define traceQUEUE_SEND_FROM_ISR( pxQueue )
kenjiArai 0:d4960fcea8ff 321 #endif
kenjiArai 0:d4960fcea8ff 322
kenjiArai 0:d4960fcea8ff 323 #ifndef traceQUEUE_SEND_FROM_ISR_FAILED
kenjiArai 0:d4960fcea8ff 324 #define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue )
kenjiArai 0:d4960fcea8ff 325 #endif
kenjiArai 0:d4960fcea8ff 326
kenjiArai 0:d4960fcea8ff 327 #ifndef traceQUEUE_RECEIVE_FROM_ISR
kenjiArai 0:d4960fcea8ff 328 #define traceQUEUE_RECEIVE_FROM_ISR( pxQueue )
kenjiArai 0:d4960fcea8ff 329 #endif
kenjiArai 0:d4960fcea8ff 330
kenjiArai 0:d4960fcea8ff 331 #ifndef traceQUEUE_RECEIVE_FROM_ISR_FAILED
kenjiArai 0:d4960fcea8ff 332 #define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue )
kenjiArai 0:d4960fcea8ff 333 #endif
kenjiArai 0:d4960fcea8ff 334
kenjiArai 0:d4960fcea8ff 335 #ifndef traceQUEUE_DELETE
kenjiArai 0:d4960fcea8ff 336 #define traceQUEUE_DELETE( pxQueue )
kenjiArai 0:d4960fcea8ff 337 #endif
kenjiArai 0:d4960fcea8ff 338
kenjiArai 0:d4960fcea8ff 339 #ifndef traceTASK_CREATE
kenjiArai 0:d4960fcea8ff 340 #define traceTASK_CREATE( pxNewTCB )
kenjiArai 0:d4960fcea8ff 341 #endif
kenjiArai 0:d4960fcea8ff 342
kenjiArai 0:d4960fcea8ff 343 #ifndef traceTASK_CREATE_FAILED
kenjiArai 0:d4960fcea8ff 344 #define traceTASK_CREATE_FAILED( pxNewTCB )
kenjiArai 0:d4960fcea8ff 345 #endif
kenjiArai 0:d4960fcea8ff 346
kenjiArai 0:d4960fcea8ff 347 #ifndef traceTASK_DELETE
kenjiArai 0:d4960fcea8ff 348 #define traceTASK_DELETE( pxTaskToDelete )
kenjiArai 0:d4960fcea8ff 349 #endif
kenjiArai 0:d4960fcea8ff 350
kenjiArai 0:d4960fcea8ff 351 #ifndef traceTASK_DELAY_UNTIL
kenjiArai 0:d4960fcea8ff 352 #define traceTASK_DELAY_UNTIL()
kenjiArai 0:d4960fcea8ff 353 #endif
kenjiArai 0:d4960fcea8ff 354
kenjiArai 0:d4960fcea8ff 355 #ifndef traceTASK_DELAY
kenjiArai 0:d4960fcea8ff 356 #define traceTASK_DELAY()
kenjiArai 0:d4960fcea8ff 357 #endif
kenjiArai 0:d4960fcea8ff 358
kenjiArai 0:d4960fcea8ff 359 #ifndef traceTASK_PRIORITY_SET
kenjiArai 0:d4960fcea8ff 360 #define traceTASK_PRIORITY_SET( pxTask, uxNewPriority )
kenjiArai 0:d4960fcea8ff 361 #endif
kenjiArai 0:d4960fcea8ff 362
kenjiArai 0:d4960fcea8ff 363 #ifndef traceTASK_SUSPEND
kenjiArai 0:d4960fcea8ff 364 #define traceTASK_SUSPEND( pxTaskToSuspend )
kenjiArai 0:d4960fcea8ff 365 #endif
kenjiArai 0:d4960fcea8ff 366
kenjiArai 0:d4960fcea8ff 367 #ifndef traceTASK_RESUME
kenjiArai 0:d4960fcea8ff 368 #define traceTASK_RESUME( pxTaskToResume )
kenjiArai 0:d4960fcea8ff 369 #endif
kenjiArai 0:d4960fcea8ff 370
kenjiArai 0:d4960fcea8ff 371 #ifndef traceTASK_RESUME_FROM_ISR
kenjiArai 0:d4960fcea8ff 372 #define traceTASK_RESUME_FROM_ISR( pxTaskToResume )
kenjiArai 0:d4960fcea8ff 373 #endif
kenjiArai 0:d4960fcea8ff 374
kenjiArai 0:d4960fcea8ff 375 #ifndef traceTASK_INCREMENT_TICK
kenjiArai 0:d4960fcea8ff 376 #define traceTASK_INCREMENT_TICK( xTickCount )
kenjiArai 0:d4960fcea8ff 377 #endif
kenjiArai 0:d4960fcea8ff 378
kenjiArai 0:d4960fcea8ff 379 #ifndef configGENERATE_RUN_TIME_STATS
kenjiArai 0:d4960fcea8ff 380 #define configGENERATE_RUN_TIME_STATS 0
kenjiArai 0:d4960fcea8ff 381 #endif
kenjiArai 0:d4960fcea8ff 382
kenjiArai 0:d4960fcea8ff 383 #if ( configGENERATE_RUN_TIME_STATS == 1 )
kenjiArai 0:d4960fcea8ff 384
kenjiArai 0:d4960fcea8ff 385 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS
kenjiArai 0:d4960fcea8ff 386 #error If configGENERATE_RUN_TIME_STATS is defined then portCONFIGURE_TIMER_FOR_RUN_TIME_STATS must also be defined. portCONFIGURE_TIMER_FOR_RUN_TIME_STATS should call a port layer function to setup a peripheral timer/counter that can then be used as the run time counter time base.
kenjiArai 0:d4960fcea8ff 387 #endif /* portCONFIGURE_TIMER_FOR_RUN_TIME_STATS */
kenjiArai 0:d4960fcea8ff 388
kenjiArai 0:d4960fcea8ff 389 #ifndef portGET_RUN_TIME_COUNTER_VALUE
kenjiArai 0:d4960fcea8ff 390 #error If configGENERATE_RUN_TIME_STATS is defined then portGET_RUN_TIME_COUNTER_VALUE must also be defined. portGET_RUN_TIME_COUNTER_VALUE should evaluate to the counter value of the timer/counter peripheral used as the run time counter time base.
kenjiArai 0:d4960fcea8ff 391 #endif /* portGET_RUN_TIME_COUNTER_VALUE */
kenjiArai 0:d4960fcea8ff 392
kenjiArai 0:d4960fcea8ff 393 #endif /* configGENERATE_RUN_TIME_STATS */
kenjiArai 0:d4960fcea8ff 394
kenjiArai 0:d4960fcea8ff 395 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS
kenjiArai 0:d4960fcea8ff 396 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()
kenjiArai 0:d4960fcea8ff 397 #endif
kenjiArai 0:d4960fcea8ff 398
kenjiArai 0:d4960fcea8ff 399 #ifndef configUSE_MALLOC_FAILED_HOOK
kenjiArai 0:d4960fcea8ff 400 #define configUSE_MALLOC_FAILED_HOOK 0
kenjiArai 0:d4960fcea8ff 401 #endif
kenjiArai 0:d4960fcea8ff 402
kenjiArai 0:d4960fcea8ff 403 #ifndef portPRIVILEGE_BIT
kenjiArai 0:d4960fcea8ff 404 #define portPRIVILEGE_BIT ( ( unsigned portBASE_TYPE ) 0x00 )
kenjiArai 0:d4960fcea8ff 405 #endif
kenjiArai 0:d4960fcea8ff 406
kenjiArai 0:d4960fcea8ff 407 #ifndef portYIELD_WITHIN_API
kenjiArai 0:d4960fcea8ff 408 #define portYIELD_WITHIN_API portYIELD
kenjiArai 0:d4960fcea8ff 409 #endif
kenjiArai 0:d4960fcea8ff 410
kenjiArai 0:d4960fcea8ff 411 #ifndef pvPortMallocAligned
kenjiArai 0:d4960fcea8ff 412 #define pvPortMallocAligned( x, puxStackBuffer ) ( ( puxStackBuffer == NULL ) ? ( pvPortMalloc( x ) ) : ( puxStackBuffer ) )
kenjiArai 0:d4960fcea8ff 413 #endif
kenjiArai 0:d4960fcea8ff 414
kenjiArai 0:d4960fcea8ff 415 #ifndef vPortFreeAligned
kenjiArai 0:d4960fcea8ff 416 #define vPortFreeAligned( pvBlockToFree ) vPortFree( pvBlockToFree )
kenjiArai 0:d4960fcea8ff 417 #endif
kenjiArai 0:d4960fcea8ff 418
kenjiArai 0:d4960fcea8ff 419 #endif /* INC_FREERTOS_H */
kenjiArai 0:d4960fcea8ff 420