Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: Nucleo freertos_test FreeRTOS_test freertos_bluetooth ... more
FreeRTOS.h
00001 /* 00002 FreeRTOS V7.6.0 - Copyright (C) 2013 Real Time Engineers Ltd. 00003 All rights reserved 00004 00005 VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. 00006 00007 *************************************************************************** 00008 * * 00009 * FreeRTOS provides completely free yet professionally developed, * 00010 * robust, strictly quality controlled, supported, and cross * 00011 * platform software that has become a de facto standard. * 00012 * * 00013 * Help yourself get started quickly and support the FreeRTOS * 00014 * project by purchasing a FreeRTOS tutorial book, reference * 00015 * manual, or both from: http://www.FreeRTOS.org/Documentation * 00016 * * 00017 * Thank you! * 00018 * * 00019 *************************************************************************** 00020 00021 This file is part of the FreeRTOS distribution. 00022 00023 FreeRTOS is free software; you can redistribute it and/or modify it under 00024 the terms of the GNU General Public License (version 2) as published by the 00025 Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception. 00026 00027 >>! NOTE: The modification to the GPL is included to allow you to distribute 00028 >>! a combined work that includes FreeRTOS without being obliged to provide 00029 >>! the source code for proprietary components outside of the FreeRTOS 00030 >>! kernel. 00031 00032 FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY 00033 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00034 FOR A PARTICULAR PURPOSE. Full license text is available from the following 00035 link: http://www.freertos.org/a00114.html 00036 00037 1 tab == 4 spaces! 00038 00039 *************************************************************************** 00040 * * 00041 * Having a problem? Start by reading the FAQ "My application does * 00042 * not run, what could be wrong?" * 00043 * * 00044 * http://www.FreeRTOS.org/FAQHelp.html * 00045 * * 00046 *************************************************************************** 00047 00048 http://www.FreeRTOS.org - Documentation, books, training, latest versions, 00049 license and Real Time Engineers Ltd. contact details. 00050 00051 http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, 00052 including FreeRTOS+Trace - an indispensable productivity tool, a DOS 00053 compatible FAT file system, and our tiny thread aware UDP/IP stack. 00054 00055 http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High 00056 Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS 00057 licenses offer ticketed support, indemnification and middleware. 00058 00059 http://www.SafeRTOS.com - High Integrity Systems also provide a safety 00060 engineered and independently SIL3 certified version for use in safety and 00061 mission critical applications that require provable dependability. 00062 00063 1 tab == 4 spaces! 00064 */ 00065 00066 #ifndef INC_FREERTOS_H 00067 #define INC_FREERTOS_H 00068 00069 00070 /* 00071 * Include the generic headers required for the FreeRTOS port being used. 00072 */ 00073 #include <stddef.h> 00074 00075 /* Basic FreeRTOS definitions. */ 00076 #include "projdefs.h" 00077 00078 /* Application specific configuration options. */ 00079 #include "FreeRTOSConfig.h" 00080 00081 /* configUSE_PORT_OPTIMISED_TASK_SELECTION must be defined before portable.h 00082 is included as it is used by the port layer. */ 00083 #ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION 00084 #define configUSE_PORT_OPTIMISED_TASK_SELECTION 0 00085 #endif 00086 00087 /* Definitions specific to the port being used. */ 00088 #include "portable.h" 00089 00090 00091 /* Defines the prototype to which the application task hook function must 00092 conform. */ 00093 typedef portBASE_TYPE (*pdTASK_HOOK_CODE)( void * ); 00094 00095 00096 00097 00098 00099 /* 00100 * Check all the required application specific macros have been defined. 00101 * These macros are application specific and (as downloaded) are defined 00102 * within FreeRTOSConfig.h. 00103 */ 00104 00105 #ifndef configUSE_PREEMPTION 00106 #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. 00107 #endif 00108 00109 #ifndef configUSE_IDLE_HOOK 00110 #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. 00111 #endif 00112 00113 #ifndef configUSE_TICK_HOOK 00114 #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. 00115 #endif 00116 00117 #ifndef configUSE_CO_ROUTINES 00118 #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. 00119 #endif 00120 00121 #ifndef INCLUDE_vTaskPrioritySet 00122 #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. 00123 #endif 00124 00125 #ifndef INCLUDE_uxTaskPriorityGet 00126 #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. 00127 #endif 00128 00129 #ifndef INCLUDE_vTaskDelete 00130 #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. 00131 #endif 00132 00133 #ifndef INCLUDE_vTaskSuspend 00134 #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. 00135 #endif 00136 00137 #ifndef INCLUDE_vTaskDelayUntil 00138 #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. 00139 #endif 00140 00141 #ifndef INCLUDE_vTaskDelay 00142 #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. 00143 #endif 00144 00145 #ifndef configUSE_16_BIT_TICKS 00146 #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. 00147 #endif 00148 00149 #ifndef INCLUDE_xTaskGetIdleTaskHandle 00150 #define INCLUDE_xTaskGetIdleTaskHandle 0 00151 #endif 00152 00153 #ifndef INCLUDE_xTimerGetTimerDaemonTaskHandle 00154 #define INCLUDE_xTimerGetTimerDaemonTaskHandle 0 00155 #endif 00156 00157 #ifndef INCLUDE_xQueueGetMutexHolder 00158 #define INCLUDE_xQueueGetMutexHolder 0 00159 #endif 00160 00161 #ifndef INCLUDE_xSemaphoreGetMutexHolder 00162 #define INCLUDE_xSemaphoreGetMutexHolder INCLUDE_xQueueGetMutexHolder 00163 #endif 00164 00165 #ifndef INCLUDE_pcTaskGetTaskName 00166 #define INCLUDE_pcTaskGetTaskName 0 00167 #endif 00168 00169 #ifndef configUSE_APPLICATION_TASK_TAG 00170 #define configUSE_APPLICATION_TASK_TAG 0 00171 #endif 00172 00173 #ifndef INCLUDE_uxTaskGetStackHighWaterMark 00174 #define INCLUDE_uxTaskGetStackHighWaterMark 0 00175 #endif 00176 00177 #ifndef INCLUDE_eTaskGetState 00178 #define INCLUDE_eTaskGetState 0 00179 #endif 00180 00181 #ifndef configUSE_RECURSIVE_MUTEXES 00182 #define configUSE_RECURSIVE_MUTEXES 0 00183 #endif 00184 00185 #ifndef configUSE_MUTEXES 00186 #define configUSE_MUTEXES 0 00187 #endif 00188 00189 #ifndef configUSE_TIMERS 00190 #define configUSE_TIMERS 0 00191 #endif 00192 00193 #ifndef configUSE_COUNTING_SEMAPHORES 00194 #define configUSE_COUNTING_SEMAPHORES 0 00195 #endif 00196 00197 #ifndef configUSE_ALTERNATIVE_API 00198 #define configUSE_ALTERNATIVE_API 0 00199 #endif 00200 00201 #ifndef portCRITICAL_NESTING_IN_TCB 00202 #define portCRITICAL_NESTING_IN_TCB 0 00203 #endif 00204 00205 #ifndef configMAX_TASK_NAME_LEN 00206 #define configMAX_TASK_NAME_LEN 16 00207 #endif 00208 00209 #ifndef configIDLE_SHOULD_YIELD 00210 #define configIDLE_SHOULD_YIELD 1 00211 #endif 00212 00213 #if configMAX_TASK_NAME_LEN < 1 00214 #error configMAX_TASK_NAME_LEN must be set to a minimum of 1 in FreeRTOSConfig.h 00215 #endif 00216 00217 #ifndef INCLUDE_xTaskResumeFromISR 00218 #define INCLUDE_xTaskResumeFromISR 1 00219 #endif 00220 00221 #ifndef configASSERT 00222 #define configASSERT( x ) 00223 #define configASSERT_DEFINED 0 00224 #else 00225 #define configASSERT_DEFINED 1 00226 #endif 00227 00228 /* The timers module relies on xTaskGetSchedulerState(). */ 00229 #if configUSE_TIMERS == 1 00230 00231 #ifndef configTIMER_TASK_PRIORITY 00232 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_PRIORITY must also be defined. 00233 #endif /* configTIMER_TASK_PRIORITY */ 00234 00235 #ifndef configTIMER_QUEUE_LENGTH 00236 #error If configUSE_TIMERS is set to 1 then configTIMER_QUEUE_LENGTH must also be defined. 00237 #endif /* configTIMER_QUEUE_LENGTH */ 00238 00239 #ifndef configTIMER_TASK_STACK_DEPTH 00240 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_STACK_DEPTH must also be defined. 00241 #endif /* configTIMER_TASK_STACK_DEPTH */ 00242 00243 #endif /* configUSE_TIMERS */ 00244 00245 #ifndef INCLUDE_xTaskGetSchedulerState 00246 #define INCLUDE_xTaskGetSchedulerState 0 00247 #endif 00248 00249 #ifndef INCLUDE_xTaskGetCurrentTaskHandle 00250 #define INCLUDE_xTaskGetCurrentTaskHandle 0 00251 #endif 00252 00253 00254 #ifndef portSET_INTERRUPT_MASK_FROM_ISR 00255 #define portSET_INTERRUPT_MASK_FROM_ISR() 0 00256 #endif 00257 00258 #ifndef portCLEAR_INTERRUPT_MASK_FROM_ISR 00259 #define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusValue ) ( void ) uxSavedStatusValue 00260 #endif 00261 00262 #ifndef portCLEAN_UP_TCB 00263 #define portCLEAN_UP_TCB( pxTCB ) ( void ) pxTCB 00264 #endif 00265 00266 #ifndef portSETUP_TCB 00267 #define portSETUP_TCB( pxTCB ) ( void ) pxTCB 00268 #endif 00269 00270 #ifndef configQUEUE_REGISTRY_SIZE 00271 #define configQUEUE_REGISTRY_SIZE 0U 00272 #endif 00273 00274 #if ( configQUEUE_REGISTRY_SIZE < 1 ) 00275 #define vQueueAddToRegistry( xQueue, pcName ) 00276 #define vQueueUnregisterQueue( xQueue ) 00277 #endif 00278 00279 #ifndef portPOINTER_SIZE_TYPE 00280 #define portPOINTER_SIZE_TYPE unsigned long 00281 #endif 00282 00283 /* Remove any unused trace macros. */ 00284 #ifndef traceSTART 00285 /* Used to perform any necessary initialisation - for example, open a file 00286 into which trace is to be written. */ 00287 #define traceSTART() 00288 #endif 00289 00290 #ifndef traceEND 00291 /* Use to close a trace, for example close a file into which trace has been 00292 written. */ 00293 #define traceEND() 00294 #endif 00295 00296 #ifndef traceTASK_SWITCHED_IN 00297 /* Called after a task has been selected to run. pxCurrentTCB holds a pointer 00298 to the task control block of the selected task. */ 00299 #define traceTASK_SWITCHED_IN() 00300 #endif 00301 00302 #ifndef traceINCREASE_TICK_COUNT 00303 /* Called before stepping the tick count after waking from tickless idle 00304 sleep. */ 00305 #define traceINCREASE_TICK_COUNT( x ) 00306 #endif 00307 00308 #ifndef traceLOW_POWER_IDLE_BEGIN 00309 /* Called immediately before entering tickless idle. */ 00310 #define traceLOW_POWER_IDLE_BEGIN() 00311 #endif 00312 00313 #ifndef traceLOW_POWER_IDLE_END 00314 /* Called when returning to the Idle task after a tickless idle. */ 00315 #define traceLOW_POWER_IDLE_END() 00316 #endif 00317 00318 #ifndef traceTASK_SWITCHED_OUT 00319 /* Called before a task has been selected to run. pxCurrentTCB holds a pointer 00320 to the task control block of the task being switched out. */ 00321 #define traceTASK_SWITCHED_OUT() 00322 #endif 00323 00324 #ifndef traceTASK_PRIORITY_INHERIT 00325 /* Called when a task attempts to take a mutex that is already held by a 00326 lower priority task. pxTCBOfMutexHolder is a pointer to the TCB of the task 00327 that holds the mutex. uxInheritedPriority is the priority the mutex holder 00328 will inherit (the priority of the task that is attempting to obtain the 00329 muted. */ 00330 #define traceTASK_PRIORITY_INHERIT( pxTCBOfMutexHolder, uxInheritedPriority ) 00331 #endif 00332 00333 #ifndef traceTASK_PRIORITY_DISINHERIT 00334 /* Called when a task releases a mutex, the holding of which had resulted in 00335 the task inheriting the priority of a higher priority task. 00336 pxTCBOfMutexHolder is a pointer to the TCB of the task that is releasing the 00337 mutex. uxOriginalPriority is the task's configured (base) priority. */ 00338 #define traceTASK_PRIORITY_DISINHERIT( pxTCBOfMutexHolder, uxOriginalPriority ) 00339 #endif 00340 00341 #ifndef traceBLOCKING_ON_QUEUE_RECEIVE 00342 /* Task is about to block because it cannot read from a 00343 queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore 00344 upon which the read was attempted. pxCurrentTCB points to the TCB of the 00345 task that attempted the read. */ 00346 #define traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue ) 00347 #endif 00348 00349 #ifndef traceBLOCKING_ON_QUEUE_SEND 00350 /* Task is about to block because it cannot write to a 00351 queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore 00352 upon which the write was attempted. pxCurrentTCB points to the TCB of the 00353 task that attempted the write. */ 00354 #define traceBLOCKING_ON_QUEUE_SEND( pxQueue ) 00355 #endif 00356 00357 #ifndef configCHECK_FOR_STACK_OVERFLOW 00358 #define configCHECK_FOR_STACK_OVERFLOW 0 00359 #endif 00360 00361 /* The following event macros are embedded in the kernel API calls. */ 00362 00363 #ifndef traceMOVED_TASK_TO_READY_STATE 00364 #define traceMOVED_TASK_TO_READY_STATE( pxTCB ) 00365 #endif 00366 00367 #ifndef traceQUEUE_CREATE 00368 #define traceQUEUE_CREATE( pxNewQueue ) 00369 #endif 00370 00371 #ifndef traceQUEUE_CREATE_FAILED 00372 #define traceQUEUE_CREATE_FAILED( ucQueueType ) 00373 #endif 00374 00375 #ifndef traceCREATE_MUTEX 00376 #define traceCREATE_MUTEX( pxNewQueue ) 00377 #endif 00378 00379 #ifndef traceCREATE_MUTEX_FAILED 00380 #define traceCREATE_MUTEX_FAILED() 00381 #endif 00382 00383 #ifndef traceGIVE_MUTEX_RECURSIVE 00384 #define traceGIVE_MUTEX_RECURSIVE( pxMutex ) 00385 #endif 00386 00387 #ifndef traceGIVE_MUTEX_RECURSIVE_FAILED 00388 #define traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex ) 00389 #endif 00390 00391 #ifndef traceTAKE_MUTEX_RECURSIVE 00392 #define traceTAKE_MUTEX_RECURSIVE( pxMutex ) 00393 #endif 00394 00395 #ifndef traceTAKE_MUTEX_RECURSIVE_FAILED 00396 #define traceTAKE_MUTEX_RECURSIVE_FAILED( pxMutex ) 00397 #endif 00398 00399 #ifndef traceCREATE_COUNTING_SEMAPHORE 00400 #define traceCREATE_COUNTING_SEMAPHORE() 00401 #endif 00402 00403 #ifndef traceCREATE_COUNTING_SEMAPHORE_FAILED 00404 #define traceCREATE_COUNTING_SEMAPHORE_FAILED() 00405 #endif 00406 00407 #ifndef traceQUEUE_SEND 00408 #define traceQUEUE_SEND( pxQueue ) 00409 #endif 00410 00411 #ifndef traceQUEUE_SEND_FAILED 00412 #define traceQUEUE_SEND_FAILED( pxQueue ) 00413 #endif 00414 00415 #ifndef traceQUEUE_RECEIVE 00416 #define traceQUEUE_RECEIVE( pxQueue ) 00417 #endif 00418 00419 #ifndef traceQUEUE_PEEK 00420 #define traceQUEUE_PEEK( pxQueue ) 00421 #endif 00422 00423 #ifndef traceQUEUE_PEEK_FROM_ISR 00424 #define traceQUEUE_PEEK_FROM_ISR( pxQueue ) 00425 #endif 00426 00427 #ifndef traceQUEUE_RECEIVE_FAILED 00428 #define traceQUEUE_RECEIVE_FAILED( pxQueue ) 00429 #endif 00430 00431 #ifndef traceQUEUE_SEND_FROM_ISR 00432 #define traceQUEUE_SEND_FROM_ISR( pxQueue ) 00433 #endif 00434 00435 #ifndef traceQUEUE_SEND_FROM_ISR_FAILED 00436 #define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue ) 00437 #endif 00438 00439 #ifndef traceQUEUE_RECEIVE_FROM_ISR 00440 #define traceQUEUE_RECEIVE_FROM_ISR( pxQueue ) 00441 #endif 00442 00443 #ifndef traceQUEUE_RECEIVE_FROM_ISR_FAILED 00444 #define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue ) 00445 #endif 00446 00447 #ifndef traceQUEUE_PEEK_FROM_ISR_FAILED 00448 #define traceQUEUE_PEEK_FROM_ISR_FAILED( pxQueue ) 00449 #endif 00450 00451 #ifndef traceQUEUE_DELETE 00452 #define traceQUEUE_DELETE( pxQueue ) 00453 #endif 00454 00455 #ifndef traceTASK_CREATE 00456 #define traceTASK_CREATE( pxNewTCB ) 00457 #endif 00458 00459 #ifndef traceTASK_CREATE_FAILED 00460 #define traceTASK_CREATE_FAILED() 00461 #endif 00462 00463 #ifndef traceTASK_DELETE 00464 #define traceTASK_DELETE( pxTaskToDelete ) 00465 #endif 00466 00467 #ifndef traceTASK_DELAY_UNTIL 00468 #define traceTASK_DELAY_UNTIL() 00469 #endif 00470 00471 #ifndef traceTASK_DELAY 00472 #define traceTASK_DELAY() 00473 #endif 00474 00475 #ifndef traceTASK_PRIORITY_SET 00476 #define traceTASK_PRIORITY_SET( pxTask, uxNewPriority ) 00477 #endif 00478 00479 #ifndef traceTASK_SUSPEND 00480 #define traceTASK_SUSPEND( pxTaskToSuspend ) 00481 #endif 00482 00483 #ifndef traceTASK_RESUME 00484 #define traceTASK_RESUME( pxTaskToResume ) 00485 #endif 00486 00487 #ifndef traceTASK_RESUME_FROM_ISR 00488 #define traceTASK_RESUME_FROM_ISR( pxTaskToResume ) 00489 #endif 00490 00491 #ifndef traceTASK_INCREMENT_TICK 00492 #define traceTASK_INCREMENT_TICK( xTickCount ) 00493 #endif 00494 00495 #ifndef traceTIMER_CREATE 00496 #define traceTIMER_CREATE( pxNewTimer ) 00497 #endif 00498 00499 #ifndef traceTIMER_CREATE_FAILED 00500 #define traceTIMER_CREATE_FAILED() 00501 #endif 00502 00503 #ifndef traceTIMER_COMMAND_SEND 00504 #define traceTIMER_COMMAND_SEND( xTimer, xMessageID, xMessageValueValue, xReturn ) 00505 #endif 00506 00507 #ifndef traceTIMER_EXPIRED 00508 #define traceTIMER_EXPIRED( pxTimer ) 00509 #endif 00510 00511 #ifndef traceTIMER_COMMAND_RECEIVED 00512 #define traceTIMER_COMMAND_RECEIVED( pxTimer, xMessageID, xMessageValue ) 00513 #endif 00514 00515 #ifndef traceMALLOC 00516 #define traceMALLOC( pvAddress, uiSize ) 00517 #endif 00518 00519 #ifndef traceFREE 00520 #define traceFREE( pvAddress, uiSize ) 00521 #endif 00522 00523 #ifndef configGENERATE_RUN_TIME_STATS 00524 #define configGENERATE_RUN_TIME_STATS 0 00525 #endif 00526 00527 #if ( configGENERATE_RUN_TIME_STATS == 1 ) 00528 00529 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS 00530 #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. 00531 #endif /* portCONFIGURE_TIMER_FOR_RUN_TIME_STATS */ 00532 00533 #ifndef portGET_RUN_TIME_COUNTER_VALUE 00534 #ifndef portALT_GET_RUN_TIME_COUNTER_VALUE 00535 #error If configGENERATE_RUN_TIME_STATS is defined then either portGET_RUN_TIME_COUNTER_VALUE or portALT_GET_RUN_TIME_COUNTER_VALUE must also be defined. See the examples provided and the FreeRTOS web site for more information. 00536 #endif /* portALT_GET_RUN_TIME_COUNTER_VALUE */ 00537 #endif /* portGET_RUN_TIME_COUNTER_VALUE */ 00538 00539 #endif /* configGENERATE_RUN_TIME_STATS */ 00540 00541 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS 00542 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() 00543 #endif 00544 00545 #ifndef configUSE_MALLOC_FAILED_HOOK 00546 #define configUSE_MALLOC_FAILED_HOOK 0 00547 #endif 00548 00549 #ifndef portPRIVILEGE_BIT 00550 #define portPRIVILEGE_BIT ( ( unsigned portBASE_TYPE ) 0x00 ) 00551 #endif 00552 00553 #ifndef portYIELD_WITHIN_API 00554 #define portYIELD_WITHIN_API portYIELD 00555 #endif 00556 00557 #ifndef pvPortMallocAligned 00558 #define pvPortMallocAligned( x, puxStackBuffer ) ( ( ( puxStackBuffer ) == NULL ) ? ( pvPortMalloc( ( x ) ) ) : ( puxStackBuffer ) ) 00559 #endif 00560 00561 #ifndef vPortFreeAligned 00562 #define vPortFreeAligned( pvBlockToFree ) vPortFree( pvBlockToFree ) 00563 #endif 00564 00565 #ifndef portSUPPRESS_TICKS_AND_SLEEP 00566 #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) 00567 #endif 00568 00569 #ifndef configEXPECTED_IDLE_TIME_BEFORE_SLEEP 00570 #define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2 00571 #endif 00572 00573 #if configEXPECTED_IDLE_TIME_BEFORE_SLEEP < 2 00574 #error configEXPECTED_IDLE_TIME_BEFORE_SLEEP must not be less than 2 00575 #endif 00576 00577 #ifndef configUSE_TICKLESS_IDLE 00578 #define configUSE_TICKLESS_IDLE 0 00579 #endif 00580 00581 #ifndef configPRE_SLEEP_PROCESSING 00582 #define configPRE_SLEEP_PROCESSING( x ) 00583 #endif 00584 00585 #ifndef configPOST_SLEEP_PROCESSING 00586 #define configPOST_SLEEP_PROCESSING( x ) 00587 #endif 00588 00589 #ifndef configUSE_QUEUE_SETS 00590 #define configUSE_QUEUE_SETS 0 00591 #endif 00592 00593 #ifndef portTASK_USES_FLOATING_POINT 00594 #define portTASK_USES_FLOATING_POINT() 00595 #endif 00596 00597 #ifndef configUSE_TIME_SLICING 00598 #define configUSE_TIME_SLICING 1 00599 #endif 00600 00601 #ifndef configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 00602 #define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 0 00603 #endif 00604 00605 #ifndef configUSE_NEWLIB_REENTRANT 00606 #define configUSE_NEWLIB_REENTRANT 0 00607 #endif 00608 00609 #ifndef configUSE_STATS_FORMATTING_FUNCTIONS 00610 #define configUSE_STATS_FORMATTING_FUNCTIONS 0 00611 #endif 00612 00613 #ifndef portASSERT_IF_INTERRUPT_PRIORITY_INVALID 00614 #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID() 00615 #endif 00616 00617 /* For backward compatability. */ 00618 #define eTaskStateGet eTaskGetState 00619 00620 #endif /* INC_FREERTOS_H */ 00621
Generated on Tue Jul 12 2022 11:36:40 by
1.7.2