28 #ifndef INC_FREERTOS_H 29 #define INC_FREERTOS_H 56 #include "FreeRTOSConfig.h" 65 #ifndef configUSE_NEWLIB_REENTRANT 66 #define configUSE_NEWLIB_REENTRANT 0 70 #if ( configUSE_NEWLIB_REENTRANT == 1 ) 79 #ifndef configMINIMAL_STACK_SIZE 80 #error Missing definition: configMINIMAL_STACK_SIZE must be defined in FreeRTOSConfig.h. configMINIMAL_STACK_SIZE defines the size (in words) of the stack allocated to the idle task. Refer to the demo project provided for your port for a suitable value. 83 #ifndef configMAX_PRIORITIES 84 #error Missing definition: configMAX_PRIORITIES must be defined in FreeRTOSConfig.h. See the Configuration section of the FreeRTOS API documentation for details. 87 #if configMAX_PRIORITIES < 1 88 #error configMAX_PRIORITIES must be defined to be greater than or equal to 1. 91 #ifndef configUSE_PREEMPTION 92 #error Missing definition: configUSE_PREEMPTION must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details. 95 #ifndef configUSE_IDLE_HOOK 96 #error Missing definition: configUSE_IDLE_HOOK must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details. 99 #ifndef configUSE_TICK_HOOK 100 #error Missing definition: configUSE_TICK_HOOK must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details. 103 #ifndef configUSE_16_BIT_TICKS 104 #error Missing definition: configUSE_16_BIT_TICKS must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details. 107 #ifndef configUSE_CO_ROUTINES 108 #define configUSE_CO_ROUTINES 0 111 #ifndef INCLUDE_vTaskPrioritySet 112 #define INCLUDE_vTaskPrioritySet 0 115 #ifndef INCLUDE_uxTaskPriorityGet 116 #define INCLUDE_uxTaskPriorityGet 0 119 #ifndef INCLUDE_vTaskDelete 120 #define INCLUDE_vTaskDelete 0 123 #ifndef INCLUDE_vTaskSuspend 124 #define INCLUDE_vTaskSuspend 0 127 #ifndef INCLUDE_vTaskDelayUntil 128 #define INCLUDE_vTaskDelayUntil 0 131 #ifndef INCLUDE_vTaskDelay 132 #define INCLUDE_vTaskDelay 0 135 #ifndef INCLUDE_xTaskGetIdleTaskHandle 136 #define INCLUDE_xTaskGetIdleTaskHandle 0 139 #ifndef INCLUDE_xTaskAbortDelay 140 #define INCLUDE_xTaskAbortDelay 0 143 #ifndef INCLUDE_xQueueGetMutexHolder 144 #define INCLUDE_xQueueGetMutexHolder 0 147 #ifndef INCLUDE_xSemaphoreGetMutexHolder 148 #define INCLUDE_xSemaphoreGetMutexHolder INCLUDE_xQueueGetMutexHolder 151 #ifndef INCLUDE_xTaskGetHandle 152 #define INCLUDE_xTaskGetHandle 0 155 #ifndef INCLUDE_uxTaskGetStackHighWaterMark 156 #define INCLUDE_uxTaskGetStackHighWaterMark 0 159 #ifndef INCLUDE_eTaskGetState 160 #define INCLUDE_eTaskGetState 0 163 #ifndef INCLUDE_xTaskResumeFromISR 164 #define INCLUDE_xTaskResumeFromISR 1 167 #ifndef INCLUDE_xTimerPendFunctionCall 168 #define INCLUDE_xTimerPendFunctionCall 0 171 #ifndef INCLUDE_xTaskGetSchedulerState 172 #define INCLUDE_xTaskGetSchedulerState 0 175 #ifndef INCLUDE_xTaskGetCurrentTaskHandle 176 #define INCLUDE_xTaskGetCurrentTaskHandle 0 179 #if configUSE_CO_ROUTINES != 0 180 #ifndef configMAX_CO_ROUTINE_PRIORITIES 181 #error configMAX_CO_ROUTINE_PRIORITIES must be greater than or equal to 1. 185 #ifndef configUSE_DAEMON_TASK_STARTUP_HOOK 186 #define configUSE_DAEMON_TASK_STARTUP_HOOK 0 189 #ifndef configUSE_APPLICATION_TASK_TAG 190 #define configUSE_APPLICATION_TASK_TAG 0 193 #ifndef configNUM_THREAD_LOCAL_STORAGE_POINTERS 194 #define configNUM_THREAD_LOCAL_STORAGE_POINTERS 0 197 #ifndef configUSE_RECURSIVE_MUTEXES 198 #define configUSE_RECURSIVE_MUTEXES 0 201 #ifndef configUSE_MUTEXES 202 #define configUSE_MUTEXES 0 205 #ifndef configUSE_TIMERS 206 #define configUSE_TIMERS 0 209 #ifndef configUSE_COUNTING_SEMAPHORES 210 #define configUSE_COUNTING_SEMAPHORES 0 213 #ifndef configUSE_ALTERNATIVE_API 214 #define configUSE_ALTERNATIVE_API 0 217 #ifndef portCRITICAL_NESTING_IN_TCB 218 #define portCRITICAL_NESTING_IN_TCB 0 221 #ifndef configMAX_TASK_NAME_LEN 222 #define configMAX_TASK_NAME_LEN 16 225 #ifndef configIDLE_SHOULD_YIELD 226 #define configIDLE_SHOULD_YIELD 1 229 #if configMAX_TASK_NAME_LEN < 1 230 #error configMAX_TASK_NAME_LEN must be set to a minimum of 1 in FreeRTOSConfig.h 234 #define configASSERT( x ) 235 #define configASSERT_DEFINED 0 237 #define configASSERT_DEFINED 1 241 #if configUSE_TIMERS == 1 243 #ifndef configTIMER_TASK_PRIORITY 244 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_PRIORITY must also be defined. 247 #ifndef configTIMER_QUEUE_LENGTH 248 #error If configUSE_TIMERS is set to 1 then configTIMER_QUEUE_LENGTH must also be defined. 251 #ifndef configTIMER_TASK_STACK_DEPTH 252 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_STACK_DEPTH must also be defined. 257 #ifndef portSET_INTERRUPT_MASK_FROM_ISR 258 #define portSET_INTERRUPT_MASK_FROM_ISR() 0 261 #ifndef portCLEAR_INTERRUPT_MASK_FROM_ISR 262 #define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusValue ) ( void ) uxSavedStatusValue 265 #ifndef portCLEAN_UP_TCB 266 #define portCLEAN_UP_TCB( pxTCB ) ( void ) pxTCB 269 #ifndef portPRE_TASK_DELETE_HOOK 270 #define portPRE_TASK_DELETE_HOOK( pvTaskToDelete, pxYieldPending ) 273 #ifndef portSETUP_TCB 274 #define portSETUP_TCB( pxTCB ) ( void ) pxTCB 277 #ifndef configQUEUE_REGISTRY_SIZE 278 #define configQUEUE_REGISTRY_SIZE 0U 281 #if ( configQUEUE_REGISTRY_SIZE < 1 ) 282 #define vQueueAddToRegistry( xQueue, pcName ) 283 #define vQueueUnregisterQueue( xQueue ) 284 #define pcQueueGetName( xQueue ) 287 #ifndef portPOINTER_SIZE_TYPE 288 #define portPOINTER_SIZE_TYPE uint32_t 304 #ifndef traceTASK_SWITCHED_IN 307 #define traceTASK_SWITCHED_IN() 310 #ifndef traceINCREASE_TICK_COUNT 313 #define traceINCREASE_TICK_COUNT( x ) 316 #ifndef traceLOW_POWER_IDLE_BEGIN 318 #define traceLOW_POWER_IDLE_BEGIN() 321 #ifndef traceLOW_POWER_IDLE_END 323 #define traceLOW_POWER_IDLE_END() 326 #ifndef traceTASK_SWITCHED_OUT 329 #define traceTASK_SWITCHED_OUT() 332 #ifndef traceTASK_PRIORITY_INHERIT 338 #define traceTASK_PRIORITY_INHERIT( pxTCBOfMutexHolder, uxInheritedPriority ) 341 #ifndef traceTASK_PRIORITY_DISINHERIT 346 #define traceTASK_PRIORITY_DISINHERIT( pxTCBOfMutexHolder, uxOriginalPriority ) 349 #ifndef traceBLOCKING_ON_QUEUE_RECEIVE 354 #define traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue ) 357 #ifndef traceBLOCKING_ON_QUEUE_PEEK 362 #define traceBLOCKING_ON_QUEUE_PEEK( pxQueue ) 365 #ifndef traceBLOCKING_ON_QUEUE_SEND 370 #define traceBLOCKING_ON_QUEUE_SEND( pxQueue ) 373 #ifndef configCHECK_FOR_STACK_OVERFLOW 374 #define configCHECK_FOR_STACK_OVERFLOW 0 377 #ifndef configRECORD_STACK_HIGH_ADDRESS 378 #define configRECORD_STACK_HIGH_ADDRESS 0 381 #ifndef configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H 382 #define configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H 0 387 #ifndef traceMOVED_TASK_TO_READY_STATE 388 #define traceMOVED_TASK_TO_READY_STATE( pxTCB ) 391 #ifndef tracePOST_MOVED_TASK_TO_READY_STATE 392 #define tracePOST_MOVED_TASK_TO_READY_STATE( pxTCB ) 395 #ifndef traceQUEUE_CREATE 396 #define traceQUEUE_CREATE( pxNewQueue ) 399 #ifndef traceQUEUE_CREATE_FAILED 400 #define traceQUEUE_CREATE_FAILED( ucQueueType ) 403 #ifndef traceCREATE_MUTEX 404 #define traceCREATE_MUTEX( pxNewQueue ) 407 #ifndef traceCREATE_MUTEX_FAILED 408 #define traceCREATE_MUTEX_FAILED() 411 #ifndef traceGIVE_MUTEX_RECURSIVE 412 #define traceGIVE_MUTEX_RECURSIVE( pxMutex ) 415 #ifndef traceGIVE_MUTEX_RECURSIVE_FAILED 416 #define traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex ) 419 #ifndef traceTAKE_MUTEX_RECURSIVE 420 #define traceTAKE_MUTEX_RECURSIVE( pxMutex ) 423 #ifndef traceTAKE_MUTEX_RECURSIVE_FAILED 424 #define traceTAKE_MUTEX_RECURSIVE_FAILED( pxMutex ) 427 #ifndef traceCREATE_COUNTING_SEMAPHORE 428 #define traceCREATE_COUNTING_SEMAPHORE() 431 #ifndef traceCREATE_COUNTING_SEMAPHORE_FAILED 432 #define traceCREATE_COUNTING_SEMAPHORE_FAILED() 435 #ifndef traceQUEUE_SEND 436 #define traceQUEUE_SEND( pxQueue ) 439 #ifndef traceQUEUE_SEND_FAILED 440 #define traceQUEUE_SEND_FAILED( pxQueue ) 443 #ifndef traceQUEUE_RECEIVE 444 #define traceQUEUE_RECEIVE( pxQueue ) 447 #ifndef traceQUEUE_PEEK 448 #define traceQUEUE_PEEK( pxQueue ) 451 #ifndef traceQUEUE_PEEK_FAILED 452 #define traceQUEUE_PEEK_FAILED( pxQueue ) 455 #ifndef traceQUEUE_PEEK_FROM_ISR 456 #define traceQUEUE_PEEK_FROM_ISR( pxQueue ) 459 #ifndef traceQUEUE_RECEIVE_FAILED 460 #define traceQUEUE_RECEIVE_FAILED( pxQueue ) 463 #ifndef traceQUEUE_SEND_FROM_ISR 464 #define traceQUEUE_SEND_FROM_ISR( pxQueue ) 467 #ifndef traceQUEUE_SEND_FROM_ISR_FAILED 468 #define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue ) 471 #ifndef traceQUEUE_RECEIVE_FROM_ISR 472 #define traceQUEUE_RECEIVE_FROM_ISR( pxQueue ) 475 #ifndef traceQUEUE_RECEIVE_FROM_ISR_FAILED 476 #define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue ) 479 #ifndef traceQUEUE_PEEK_FROM_ISR_FAILED 480 #define traceQUEUE_PEEK_FROM_ISR_FAILED( pxQueue ) 483 #ifndef traceQUEUE_DELETE 484 #define traceQUEUE_DELETE( pxQueue ) 487 #ifndef traceTASK_CREATE 488 #define traceTASK_CREATE( pxNewTCB ) 491 #ifndef traceTASK_CREATE_FAILED 492 #define traceTASK_CREATE_FAILED() 495 #ifndef traceTASK_DELETE 496 #define traceTASK_DELETE( pxTaskToDelete ) 499 #ifndef traceTASK_DELAY_UNTIL 500 #define traceTASK_DELAY_UNTIL( x ) 503 #ifndef traceTASK_DELAY 504 #define traceTASK_DELAY() 507 #ifndef traceTASK_PRIORITY_SET 508 #define traceTASK_PRIORITY_SET( pxTask, uxNewPriority ) 511 #ifndef traceTASK_SUSPEND 512 #define traceTASK_SUSPEND( pxTaskToSuspend ) 515 #ifndef traceTASK_RESUME 516 #define traceTASK_RESUME( pxTaskToResume ) 519 #ifndef traceTASK_RESUME_FROM_ISR 520 #define traceTASK_RESUME_FROM_ISR( pxTaskToResume ) 523 #ifndef traceTASK_INCREMENT_TICK 524 #define traceTASK_INCREMENT_TICK( xTickCount ) 527 #ifndef traceTIMER_CREATE 528 #define traceTIMER_CREATE( pxNewTimer ) 531 #ifndef traceTIMER_CREATE_FAILED 532 #define traceTIMER_CREATE_FAILED() 535 #ifndef traceTIMER_COMMAND_SEND 536 #define traceTIMER_COMMAND_SEND( xTimer, xMessageID, xMessageValueValue, xReturn ) 539 #ifndef traceTIMER_EXPIRED 540 #define traceTIMER_EXPIRED( pxTimer ) 543 #ifndef traceTIMER_COMMAND_RECEIVED 544 #define traceTIMER_COMMAND_RECEIVED( pxTimer, xMessageID, xMessageValue ) 548 #define traceMALLOC( pvAddress, uiSize ) 552 #define traceFREE( pvAddress, uiSize ) 555 #ifndef traceEVENT_GROUP_CREATE 556 #define traceEVENT_GROUP_CREATE( xEventGroup ) 559 #ifndef traceEVENT_GROUP_CREATE_FAILED 560 #define traceEVENT_GROUP_CREATE_FAILED() 563 #ifndef traceEVENT_GROUP_SYNC_BLOCK 564 #define traceEVENT_GROUP_SYNC_BLOCK( xEventGroup, uxBitsToSet, uxBitsToWaitFor ) 567 #ifndef traceEVENT_GROUP_SYNC_END 568 #define traceEVENT_GROUP_SYNC_END( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) xTimeoutOccurred 571 #ifndef traceEVENT_GROUP_WAIT_BITS_BLOCK 572 #define traceEVENT_GROUP_WAIT_BITS_BLOCK( xEventGroup, uxBitsToWaitFor ) 575 #ifndef traceEVENT_GROUP_WAIT_BITS_END 576 #define traceEVENT_GROUP_WAIT_BITS_END( xEventGroup, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) xTimeoutOccurred 579 #ifndef traceEVENT_GROUP_CLEAR_BITS 580 #define traceEVENT_GROUP_CLEAR_BITS( xEventGroup, uxBitsToClear ) 583 #ifndef traceEVENT_GROUP_CLEAR_BITS_FROM_ISR 584 #define traceEVENT_GROUP_CLEAR_BITS_FROM_ISR( xEventGroup, uxBitsToClear ) 587 #ifndef traceEVENT_GROUP_SET_BITS 588 #define traceEVENT_GROUP_SET_BITS( xEventGroup, uxBitsToSet ) 591 #ifndef traceEVENT_GROUP_SET_BITS_FROM_ISR 592 #define traceEVENT_GROUP_SET_BITS_FROM_ISR( xEventGroup, uxBitsToSet ) 595 #ifndef traceEVENT_GROUP_DELETE 596 #define traceEVENT_GROUP_DELETE( xEventGroup ) 599 #ifndef tracePEND_FUNC_CALL 600 #define tracePEND_FUNC_CALL(xFunctionToPend, pvParameter1, ulParameter2, ret) 603 #ifndef tracePEND_FUNC_CALL_FROM_ISR 604 #define tracePEND_FUNC_CALL_FROM_ISR(xFunctionToPend, pvParameter1, ulParameter2, ret) 607 #ifndef traceQUEUE_REGISTRY_ADD 608 #define traceQUEUE_REGISTRY_ADD(xQueue, pcQueueName) 611 #ifndef traceTASK_NOTIFY_TAKE_BLOCK 612 #define traceTASK_NOTIFY_TAKE_BLOCK() 615 #ifndef traceTASK_NOTIFY_TAKE 616 #define traceTASK_NOTIFY_TAKE() 619 #ifndef traceTASK_NOTIFY_WAIT_BLOCK 620 #define traceTASK_NOTIFY_WAIT_BLOCK() 623 #ifndef traceTASK_NOTIFY_WAIT 624 #define traceTASK_NOTIFY_WAIT() 627 #ifndef traceTASK_NOTIFY 628 #define traceTASK_NOTIFY() 631 #ifndef traceTASK_NOTIFY_FROM_ISR 632 #define traceTASK_NOTIFY_FROM_ISR() 635 #ifndef traceTASK_NOTIFY_GIVE_FROM_ISR 636 #define traceTASK_NOTIFY_GIVE_FROM_ISR() 639 #ifndef traceSTREAM_BUFFER_CREATE_FAILED 640 #define traceSTREAM_BUFFER_CREATE_FAILED( xIsMessageBuffer ) 643 #ifndef traceSTREAM_BUFFER_CREATE_STATIC_FAILED 644 #define traceSTREAM_BUFFER_CREATE_STATIC_FAILED( xReturn, xIsMessageBuffer ) 647 #ifndef traceSTREAM_BUFFER_CREATE 648 #define traceSTREAM_BUFFER_CREATE( pxStreamBuffer, xIsMessageBuffer ) 651 #ifndef traceSTREAM_BUFFER_DELETE 652 #define traceSTREAM_BUFFER_DELETE( xStreamBuffer ) 655 #ifndef traceSTREAM_BUFFER_RESET 656 #define traceSTREAM_BUFFER_RESET( xStreamBuffer ) 659 #ifndef traceBLOCKING_ON_STREAM_BUFFER_SEND 660 #define traceBLOCKING_ON_STREAM_BUFFER_SEND( xStreamBuffer ) 663 #ifndef traceSTREAM_BUFFER_SEND 664 #define traceSTREAM_BUFFER_SEND( xStreamBuffer, xBytesSent ) 667 #ifndef traceSTREAM_BUFFER_SEND_FAILED 668 #define traceSTREAM_BUFFER_SEND_FAILED( xStreamBuffer ) 671 #ifndef traceSTREAM_BUFFER_SEND_FROM_ISR 672 #define traceSTREAM_BUFFER_SEND_FROM_ISR( xStreamBuffer, xBytesSent ) 675 #ifndef traceBLOCKING_ON_STREAM_BUFFER_RECEIVE 676 #define traceBLOCKING_ON_STREAM_BUFFER_RECEIVE( xStreamBuffer ) 679 #ifndef traceSTREAM_BUFFER_RECEIVE 680 #define traceSTREAM_BUFFER_RECEIVE( xStreamBuffer, xReceivedLength ) 683 #ifndef traceSTREAM_BUFFER_RECEIVE_FAILED 684 #define traceSTREAM_BUFFER_RECEIVE_FAILED( xStreamBuffer ) 687 #ifndef traceSTREAM_BUFFER_RECEIVE_FROM_ISR 688 #define traceSTREAM_BUFFER_RECEIVE_FROM_ISR( xStreamBuffer, xReceivedLength ) 691 #ifndef configGENERATE_RUN_TIME_STATS 692 #define configGENERATE_RUN_TIME_STATS 0 695 #if ( configGENERATE_RUN_TIME_STATS == 1 ) 697 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS 698 #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. 701 #ifndef portGET_RUN_TIME_COUNTER_VALUE 702 #ifndef portALT_GET_RUN_TIME_COUNTER_VALUE 703 #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. 709 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS 710 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() 713 #ifndef configUSE_MALLOC_FAILED_HOOK 714 #define configUSE_MALLOC_FAILED_HOOK 0 717 #ifndef portPRIVILEGE_BIT 718 #define portPRIVILEGE_BIT ( ( UBaseType_t ) 0x00 ) 721 #ifndef portYIELD_WITHIN_API 722 #define portYIELD_WITHIN_API portYIELD 725 #ifndef portSUPPRESS_TICKS_AND_SLEEP 726 #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) 729 #ifndef configEXPECTED_IDLE_TIME_BEFORE_SLEEP 730 #define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2 733 #if configEXPECTED_IDLE_TIME_BEFORE_SLEEP < 2 734 #error configEXPECTED_IDLE_TIME_BEFORE_SLEEP must not be less than 2 737 #ifndef configUSE_TICKLESS_IDLE 738 #define configUSE_TICKLESS_IDLE 0 741 #ifndef configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING 742 #define configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING( x ) 745 #ifndef configPRE_SLEEP_PROCESSING 746 #define configPRE_SLEEP_PROCESSING( x ) 749 #ifndef configPOST_SLEEP_PROCESSING 750 #define configPOST_SLEEP_PROCESSING( x ) 753 #ifndef configUSE_QUEUE_SETS 754 #define configUSE_QUEUE_SETS 0 757 #ifndef portTASK_USES_FLOATING_POINT 758 #define portTASK_USES_FLOATING_POINT() 761 #ifndef portTASK_CALLS_SECURE_FUNCTIONS 762 #define portTASK_CALLS_SECURE_FUNCTIONS() 765 #ifndef configUSE_TIME_SLICING 766 #define configUSE_TIME_SLICING 1 769 #ifndef configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 770 #define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 0 773 #ifndef configUSE_STATS_FORMATTING_FUNCTIONS 774 #define configUSE_STATS_FORMATTING_FUNCTIONS 0 777 #ifndef portASSERT_IF_INTERRUPT_PRIORITY_INVALID 778 #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID() 781 #ifndef configUSE_TRACE_FACILITY 782 #define configUSE_TRACE_FACILITY 0 785 #ifndef mtCOVERAGE_TEST_MARKER 786 #define mtCOVERAGE_TEST_MARKER() 789 #ifndef mtCOVERAGE_TEST_DELAY 790 #define mtCOVERAGE_TEST_DELAY() 793 #ifndef portASSERT_IF_IN_ISR 794 #define portASSERT_IF_IN_ISR() 797 #ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION 798 #define configUSE_PORT_OPTIMISED_TASK_SELECTION 0 801 #ifndef configAPPLICATION_ALLOCATED_HEAP 802 #define configAPPLICATION_ALLOCATED_HEAP 0 805 #ifndef configUSE_TASK_NOTIFICATIONS 806 #define configUSE_TASK_NOTIFICATIONS 1 809 #ifndef portTICK_TYPE_IS_ATOMIC 810 #define portTICK_TYPE_IS_ATOMIC 0 813 #ifndef configSUPPORT_STATIC_ALLOCATION 815 #define configSUPPORT_STATIC_ALLOCATION 0 818 #ifndef configSUPPORT_DYNAMIC_ALLOCATION 820 #define configSUPPORT_DYNAMIC_ALLOCATION 1 823 #ifndef configSTACK_DEPTH_TYPE 826 #define configSTACK_DEPTH_TYPE uint16_t 830 #if( configUSE_TICKLESS_IDLE != 0 ) 831 #if( INCLUDE_vTaskSuspend != 1 ) 832 #error INCLUDE_vTaskSuspend must be set to 1 if configUSE_TICKLESS_IDLE is not set to 0 836 #if( ( configSUPPORT_STATIC_ALLOCATION == 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 0 ) ) 837 #error configSUPPORT_STATIC_ALLOCATION and configSUPPORT_DYNAMIC_ALLOCATION cannot both be 0, but can both be 1. 840 #if( ( configUSE_RECURSIVE_MUTEXES == 1 ) && ( configUSE_MUTEXES != 1 ) ) 841 #error configUSE_MUTEXES must be set to 1 to use recursive mutexes 844 #ifndef configINITIAL_TICK_COUNT 845 #define configINITIAL_TICK_COUNT 0 848 #if( portTICK_TYPE_IS_ATOMIC == 0 ) 852 #define portTICK_TYPE_ENTER_CRITICAL() portENTER_CRITICAL() 853 #define portTICK_TYPE_EXIT_CRITICAL() portEXIT_CRITICAL() 854 #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() portSET_INTERRUPT_MASK_FROM_ISR() 855 #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) portCLEAR_INTERRUPT_MASK_FROM_ISR( ( x ) ) 859 #define portTICK_TYPE_ENTER_CRITICAL() 860 #define portTICK_TYPE_EXIT_CRITICAL() 861 #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() 0 862 #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) ( void ) x 867 #ifndef configENABLE_BACKWARD_COMPATIBILITY 868 #define configENABLE_BACKWARD_COMPATIBILITY 1 882 #define configPRINTF( X ) 888 #define configMAX( a, b ) ( ( ( a ) > ( b ) ) ? ( a ) : ( b ) ) 894 #define configMIN( a, b ) ( ( ( a ) < ( b ) ) ? ( a ) : ( b ) ) 897 #if configENABLE_BACKWARD_COMPATIBILITY == 1 898 #define eTaskStateGet eTaskGetState 899 #define portTickType TickType_t 900 #define xTaskHandle TaskHandle_t 901 #define xQueueHandle QueueHandle_t 902 #define xSemaphoreHandle SemaphoreHandle_t 903 #define xQueueSetHandle QueueSetHandle_t 904 #define xQueueSetMemberHandle QueueSetMemberHandle_t 905 #define xTimeOutType TimeOut_t 906 #define xMemoryRegion MemoryRegion_t 907 #define xTaskParameters TaskParameters_t 908 #define xTaskStatusType TaskStatus_t 909 #define xTimerHandle TimerHandle_t 910 #define xCoRoutineHandle CoRoutineHandle_t 911 #define pdTASK_HOOK_CODE TaskHookFunction_t 912 #define portTICK_RATE_MS portTICK_PERIOD_MS 913 #define pcTaskGetTaskName pcTaskGetName 914 #define pcTimerGetTimerName pcTimerGetName 915 #define pcQueueGetQueueName pcQueueGetName 916 #define vTaskGetTaskInfo vTaskGetInfo 920 #define tmrTIMER_CALLBACK TimerCallbackFunction_t 921 #define pdTASK_CODE TaskFunction_t 922 #define xListItem ListItem_t 926 #if( configUSE_ALTERNATIVE_API != 0 ) 927 #error The alternative API was deprecated some time ago, and was removed in FreeRTOS V9.0 0 934 #ifndef configUSE_TASK_FPU_SUPPORT 935 #define configUSE_TASK_FPU_SUPPORT 1 966 UBaseType_t uxDummy1;
968 StaticMiniListItem_t xDummy3;
987 #if ( portUSING_MPU_WRAPPERS == 1 ) 988 xMPU_SETTINGS xDummy2;
990 StaticListItem_t xDummy3[ 2 ];
991 UBaseType_t uxDummy5;
993 uint8_t ucDummy7[ configMAX_TASK_NAME_LEN ];
994 #if ( ( portSTACK_GROWTH > 0 ) || ( configRECORD_STACK_HIGH_ADDRESS == 1 ) ) 997 #if ( portCRITICAL_NESTING_IN_TCB == 1 ) 998 UBaseType_t uxDummy9;
1000 #if ( configUSE_TRACE_FACILITY == 1 ) 1001 UBaseType_t uxDummy10[ 2 ];
1003 #if ( configUSE_MUTEXES == 1 ) 1004 UBaseType_t uxDummy12[ 2 ];
1006 #if ( configUSE_APPLICATION_TASK_TAG == 1 ) 1009 #if( configNUM_THREAD_LOCAL_STORAGE_POINTERS > 0 ) 1010 void *pvDummy15[ configNUM_THREAD_LOCAL_STORAGE_POINTERS ];
1012 #if ( configGENERATE_RUN_TIME_STATS == 1 ) 1015 #if ( configUSE_NEWLIB_REENTRANT == 1 ) 1016 struct _reent xDummy17;
1018 #if ( configUSE_TASK_NOTIFICATIONS == 1 ) 1022 #if( ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) || ( portUSING_MPU_WRAPPERS == 1 ) ) 1026 #if( INCLUDE_xTaskAbortDelay == 1 ) 1048 void *pvDummy1[ 3 ];
1053 UBaseType_t uxDummy2;
1057 UBaseType_t uxDummy4[ 3 ];
1058 uint8_t ucDummy5[ 2 ];
1060 #if( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) 1064 #if ( configUSE_QUEUE_SETS == 1 ) 1068 #if ( configUSE_TRACE_FACILITY == 1 ) 1069 UBaseType_t uxDummy8;
1095 #if( configUSE_TRACE_FACILITY == 1 ) 1096 UBaseType_t uxDummy3;
1099 #if( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) 1122 StaticListItem_t xDummy2;
1124 UBaseType_t uxDummy4;
1125 void *pvDummy5[ 2 ];
1126 #if( configUSE_TRACE_FACILITY == 1 ) 1127 UBaseType_t uxDummy6;
1130 #if( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) 1152 size_t uxDummy1[ 4 ];
1153 void * pvDummy2[ 3 ];
1155 #if ( configUSE_TRACE_FACILITY == 1 ) 1156 UBaseType_t uxDummy4;
Definition: FreeRTOS.h:948
Definition: FreeRTOS.h:984
Definition: FreeRTOS.h:964
Definition: FreeRTOS.h:956
Definition: FreeRTOS.h:1150
Definition: FreeRTOS.h:1090
Definition: FreeRTOS.h:1046
Definition: FreeRTOS.h:1119