Go to the documentation of this file.
29 #ifndef INC_FREERTOS_H
30 #define INC_FREERTOS_H
66 #ifndef configUSE_NEWLIB_REENTRANT
67 #define configUSE_NEWLIB_REENTRANT 0
71 #if ( configUSE_NEWLIB_REENTRANT == 1 )
80 #ifndef configMINIMAL_STACK_SIZE
81 #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.
84 #ifndef configMAX_PRIORITIES
85 #error Missing definition: configMAX_PRIORITIES must be defined in FreeRTOSConfig.h. See the Configuration section of the FreeRTOS API documentation for details.
88 #if configMAX_PRIORITIES < 1
89 #error configMAX_PRIORITIES must be defined to be greater than or equal to 1.
92 #ifndef configUSE_PREEMPTION
93 #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.
96 #ifndef configUSE_IDLE_HOOK
97 #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.
100 #ifndef configUSE_TICK_HOOK
101 #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.
104 #ifndef configUSE_16_BIT_TICKS
105 #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.
108 #ifndef configUSE_CO_ROUTINES
109 #define configUSE_CO_ROUTINES 0
112 #ifndef INCLUDE_vTaskPrioritySet
113 #define INCLUDE_vTaskPrioritySet 0
116 #ifndef INCLUDE_uxTaskPriorityGet
117 #define INCLUDE_uxTaskPriorityGet 0
120 #ifndef INCLUDE_vTaskDelete
121 #define INCLUDE_vTaskDelete 0
124 #ifndef INCLUDE_vTaskSuspend
125 #define INCLUDE_vTaskSuspend 0
128 #ifndef INCLUDE_vTaskDelayUntil
129 #define INCLUDE_vTaskDelayUntil 0
132 #ifndef INCLUDE_vTaskDelay
133 #define INCLUDE_vTaskDelay 0
136 #ifndef INCLUDE_xTaskGetIdleTaskHandle
137 #define INCLUDE_xTaskGetIdleTaskHandle 0
140 #ifndef INCLUDE_xTaskAbortDelay
141 #define INCLUDE_xTaskAbortDelay 0
144 #ifndef INCLUDE_xQueueGetMutexHolder
145 #define INCLUDE_xQueueGetMutexHolder 0
148 #ifndef INCLUDE_xSemaphoreGetMutexHolder
149 #define INCLUDE_xSemaphoreGetMutexHolder INCLUDE_xQueueGetMutexHolder
152 #ifndef INCLUDE_xTaskGetHandle
153 #define INCLUDE_xTaskGetHandle 0
156 #ifndef INCLUDE_uxTaskGetStackHighWaterMark
157 #define INCLUDE_uxTaskGetStackHighWaterMark 0
160 #ifndef INCLUDE_eTaskGetState
161 #define INCLUDE_eTaskGetState 0
164 #ifndef INCLUDE_xTaskResumeFromISR
165 #define INCLUDE_xTaskResumeFromISR 1
168 #ifndef INCLUDE_xTimerPendFunctionCall
169 #define INCLUDE_xTimerPendFunctionCall 0
172 #ifndef INCLUDE_xTaskGetSchedulerState
173 #define INCLUDE_xTaskGetSchedulerState 0
176 #ifndef INCLUDE_xTaskGetCurrentTaskHandle
177 #define INCLUDE_xTaskGetCurrentTaskHandle 0
180 #if configUSE_CO_ROUTINES != 0
181 #ifndef configMAX_CO_ROUTINE_PRIORITIES
182 #error configMAX_CO_ROUTINE_PRIORITIES must be greater than or equal to 1.
186 #ifndef configUSE_DAEMON_TASK_STARTUP_HOOK
187 #define configUSE_DAEMON_TASK_STARTUP_HOOK 0
190 #ifndef configUSE_APPLICATION_TASK_TAG
191 #define configUSE_APPLICATION_TASK_TAG 0
194 #ifndef configNUM_THREAD_LOCAL_STORAGE_POINTERS
195 #define configNUM_THREAD_LOCAL_STORAGE_POINTERS 0
198 #ifndef configUSE_RECURSIVE_MUTEXES
199 #define configUSE_RECURSIVE_MUTEXES 0
202 #ifndef configUSE_MUTEXES
203 #define configUSE_MUTEXES 0
206 #ifndef configUSE_TIMERS
207 #define configUSE_TIMERS 0
210 #ifndef configUSE_COUNTING_SEMAPHORES
211 #define configUSE_COUNTING_SEMAPHORES 0
214 #ifndef configUSE_ALTERNATIVE_API
215 #define configUSE_ALTERNATIVE_API 0
218 #ifndef portCRITICAL_NESTING_IN_TCB
219 #define portCRITICAL_NESTING_IN_TCB 0
222 #ifndef configMAX_TASK_NAME_LEN
223 #define configMAX_TASK_NAME_LEN 16
226 #ifndef configIDLE_SHOULD_YIELD
227 #define configIDLE_SHOULD_YIELD 1
230 #if configMAX_TASK_NAME_LEN < 1
231 #error configMAX_TASK_NAME_LEN must be set to a minimum of 1 in FreeRTOSConfig.h
235 #define configASSERT( x )
236 #define configASSERT_DEFINED 0
238 #define configASSERT_DEFINED 1
242 #if configUSE_TIMERS == 1
244 #ifndef configTIMER_TASK_PRIORITY
245 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_PRIORITY must also be defined.
248 #ifndef configTIMER_QUEUE_LENGTH
249 #error If configUSE_TIMERS is set to 1 then configTIMER_QUEUE_LENGTH must also be defined.
252 #ifndef configTIMER_TASK_STACK_DEPTH
253 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_STACK_DEPTH must also be defined.
258 #ifndef portSET_INTERRUPT_MASK_FROM_ISR
259 #define portSET_INTERRUPT_MASK_FROM_ISR() 0
262 #ifndef portCLEAR_INTERRUPT_MASK_FROM_ISR
263 #define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusValue ) ( void ) uxSavedStatusValue
266 #ifndef portCLEAN_UP_TCB
267 #define portCLEAN_UP_TCB( pxTCB ) ( void ) pxTCB
270 #ifndef portPRE_TASK_DELETE_HOOK
271 #define portPRE_TASK_DELETE_HOOK( pvTaskToDelete, pxYieldPending )
274 #ifndef portSETUP_TCB
275 #define portSETUP_TCB( pxTCB ) ( void ) pxTCB
278 #ifndef configQUEUE_REGISTRY_SIZE
279 #define configQUEUE_REGISTRY_SIZE 0U
282 #if ( configQUEUE_REGISTRY_SIZE < 1 )
283 #define vQueueAddToRegistry( xQueue, pcName )
284 #define vQueueUnregisterQueue( xQueue )
285 #define pcQueueGetName( xQueue )
288 #ifndef portPOINTER_SIZE_TYPE
289 #define portPOINTER_SIZE_TYPE uint32_t
305 #ifndef traceTASK_SWITCHED_IN
308 #define traceTASK_SWITCHED_IN()
311 #ifndef traceINCREASE_TICK_COUNT
314 #define traceINCREASE_TICK_COUNT( x )
317 #ifndef traceLOW_POWER_IDLE_BEGIN
319 #define traceLOW_POWER_IDLE_BEGIN()
322 #ifndef traceLOW_POWER_IDLE_END
324 #define traceLOW_POWER_IDLE_END()
327 #ifndef traceTASK_SWITCHED_OUT
330 #define traceTASK_SWITCHED_OUT()
333 #ifndef traceTASK_PRIORITY_INHERIT
339 #define traceTASK_PRIORITY_INHERIT( pxTCBOfMutexHolder, uxInheritedPriority )
342 #ifndef traceTASK_PRIORITY_DISINHERIT
347 #define traceTASK_PRIORITY_DISINHERIT( pxTCBOfMutexHolder, uxOriginalPriority )
350 #ifndef traceBLOCKING_ON_QUEUE_RECEIVE
355 #define traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue )
358 #ifndef traceBLOCKING_ON_QUEUE_PEEK
363 #define traceBLOCKING_ON_QUEUE_PEEK( pxQueue )
366 #ifndef traceBLOCKING_ON_QUEUE_SEND
371 #define traceBLOCKING_ON_QUEUE_SEND( pxQueue )
374 #ifndef configCHECK_FOR_STACK_OVERFLOW
375 #define configCHECK_FOR_STACK_OVERFLOW 0
378 #ifndef configRECORD_STACK_HIGH_ADDRESS
379 #define configRECORD_STACK_HIGH_ADDRESS 0
382 #ifndef configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H
383 #define configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H 0
388 #ifndef traceMOVED_TASK_TO_READY_STATE
389 #define traceMOVED_TASK_TO_READY_STATE( pxTCB )
392 #ifndef tracePOST_MOVED_TASK_TO_READY_STATE
393 #define tracePOST_MOVED_TASK_TO_READY_STATE( pxTCB )
396 #ifndef traceQUEUE_CREATE
397 #define traceQUEUE_CREATE( pxNewQueue )
400 #ifndef traceQUEUE_CREATE_FAILED
401 #define traceQUEUE_CREATE_FAILED( ucQueueType )
404 #ifndef traceCREATE_MUTEX
405 #define traceCREATE_MUTEX( pxNewQueue )
408 #ifndef traceCREATE_MUTEX_FAILED
409 #define traceCREATE_MUTEX_FAILED()
412 #ifndef traceGIVE_MUTEX_RECURSIVE
413 #define traceGIVE_MUTEX_RECURSIVE( pxMutex )
416 #ifndef traceGIVE_MUTEX_RECURSIVE_FAILED
417 #define traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex )
420 #ifndef traceTAKE_MUTEX_RECURSIVE
421 #define traceTAKE_MUTEX_RECURSIVE( pxMutex )
424 #ifndef traceTAKE_MUTEX_RECURSIVE_FAILED
425 #define traceTAKE_MUTEX_RECURSIVE_FAILED( pxMutex )
428 #ifndef traceCREATE_COUNTING_SEMAPHORE
429 #define traceCREATE_COUNTING_SEMAPHORE()
432 #ifndef traceCREATE_COUNTING_SEMAPHORE_FAILED
433 #define traceCREATE_COUNTING_SEMAPHORE_FAILED()
436 #ifndef traceQUEUE_SEND
437 #define traceQUEUE_SEND( pxQueue )
440 #ifndef traceQUEUE_SEND_FAILED
441 #define traceQUEUE_SEND_FAILED( pxQueue )
444 #ifndef traceQUEUE_RECEIVE
445 #define traceQUEUE_RECEIVE( pxQueue )
448 #ifndef traceQUEUE_PEEK
449 #define traceQUEUE_PEEK( pxQueue )
452 #ifndef traceQUEUE_PEEK_FAILED
453 #define traceQUEUE_PEEK_FAILED( pxQueue )
456 #ifndef traceQUEUE_PEEK_FROM_ISR
457 #define traceQUEUE_PEEK_FROM_ISR( pxQueue )
460 #ifndef traceQUEUE_RECEIVE_FAILED
461 #define traceQUEUE_RECEIVE_FAILED( pxQueue )
464 #ifndef traceQUEUE_SEND_FROM_ISR
465 #define traceQUEUE_SEND_FROM_ISR( pxQueue )
468 #ifndef traceQUEUE_SEND_FROM_ISR_FAILED
469 #define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue )
472 #ifndef traceQUEUE_RECEIVE_FROM_ISR
473 #define traceQUEUE_RECEIVE_FROM_ISR( pxQueue )
476 #ifndef traceQUEUE_RECEIVE_FROM_ISR_FAILED
477 #define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue )
480 #ifndef traceQUEUE_PEEK_FROM_ISR_FAILED
481 #define traceQUEUE_PEEK_FROM_ISR_FAILED( pxQueue )
484 #ifndef traceQUEUE_DELETE
485 #define traceQUEUE_DELETE( pxQueue )
488 #ifndef traceTASK_CREATE
489 #define traceTASK_CREATE( pxNewTCB )
492 #ifndef traceTASK_CREATE_FAILED
493 #define traceTASK_CREATE_FAILED()
496 #ifndef traceTASK_DELETE
497 #define traceTASK_DELETE( pxTaskToDelete )
500 #ifndef traceTASK_DELAY_UNTIL
501 #define traceTASK_DELAY_UNTIL( x )
504 #ifndef traceTASK_DELAY
505 #define traceTASK_DELAY()
508 #ifndef traceTASK_PRIORITY_SET
509 #define traceTASK_PRIORITY_SET( pxTask, uxNewPriority )
512 #ifndef traceTASK_SUSPEND
513 #define traceTASK_SUSPEND( pxTaskToSuspend )
516 #ifndef traceTASK_RESUME
517 #define traceTASK_RESUME( pxTaskToResume )
520 #ifndef traceTASK_RESUME_FROM_ISR
521 #define traceTASK_RESUME_FROM_ISR( pxTaskToResume )
524 #ifndef traceTASK_INCREMENT_TICK
525 #define traceTASK_INCREMENT_TICK( xTickCount )
528 #ifndef traceTIMER_CREATE
529 #define traceTIMER_CREATE( pxNewTimer )
532 #ifndef traceTIMER_CREATE_FAILED
533 #define traceTIMER_CREATE_FAILED()
536 #ifndef traceTIMER_COMMAND_SEND
537 #define traceTIMER_COMMAND_SEND( xTimer, xMessageID, xMessageValueValue, xReturn )
540 #ifndef traceTIMER_EXPIRED
541 #define traceTIMER_EXPIRED( pxTimer )
544 #ifndef traceTIMER_COMMAND_RECEIVED
545 #define traceTIMER_COMMAND_RECEIVED( pxTimer, xMessageID, xMessageValue )
549 #define traceMALLOC( pvAddress, uiSize )
553 #define traceFREE( pvAddress, uiSize )
556 #ifndef traceEVENT_GROUP_CREATE
557 #define traceEVENT_GROUP_CREATE( xEventGroup )
560 #ifndef traceEVENT_GROUP_CREATE_FAILED
561 #define traceEVENT_GROUP_CREATE_FAILED()
564 #ifndef traceEVENT_GROUP_SYNC_BLOCK
565 #define traceEVENT_GROUP_SYNC_BLOCK( xEventGroup, uxBitsToSet, uxBitsToWaitFor )
568 #ifndef traceEVENT_GROUP_SYNC_END
569 #define traceEVENT_GROUP_SYNC_END( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) xTimeoutOccurred
572 #ifndef traceEVENT_GROUP_WAIT_BITS_BLOCK
573 #define traceEVENT_GROUP_WAIT_BITS_BLOCK( xEventGroup, uxBitsToWaitFor )
576 #ifndef traceEVENT_GROUP_WAIT_BITS_END
577 #define traceEVENT_GROUP_WAIT_BITS_END( xEventGroup, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) xTimeoutOccurred
580 #ifndef traceEVENT_GROUP_CLEAR_BITS
581 #define traceEVENT_GROUP_CLEAR_BITS( xEventGroup, uxBitsToClear )
584 #ifndef traceEVENT_GROUP_CLEAR_BITS_FROM_ISR
585 #define traceEVENT_GROUP_CLEAR_BITS_FROM_ISR( xEventGroup, uxBitsToClear )
588 #ifndef traceEVENT_GROUP_SET_BITS
589 #define traceEVENT_GROUP_SET_BITS( xEventGroup, uxBitsToSet )
592 #ifndef traceEVENT_GROUP_SET_BITS_FROM_ISR
593 #define traceEVENT_GROUP_SET_BITS_FROM_ISR( xEventGroup, uxBitsToSet )
596 #ifndef traceEVENT_GROUP_DELETE
597 #define traceEVENT_GROUP_DELETE( xEventGroup )
600 #ifndef tracePEND_FUNC_CALL
601 #define tracePEND_FUNC_CALL(xFunctionToPend, pvParameter1, ulParameter2, ret)
604 #ifndef tracePEND_FUNC_CALL_FROM_ISR
605 #define tracePEND_FUNC_CALL_FROM_ISR(xFunctionToPend, pvParameter1, ulParameter2, ret)
608 #ifndef traceQUEUE_REGISTRY_ADD
609 #define traceQUEUE_REGISTRY_ADD(xQueue, pcQueueName)
612 #ifndef traceTASK_NOTIFY_TAKE_BLOCK
613 #define traceTASK_NOTIFY_TAKE_BLOCK()
616 #ifndef traceTASK_NOTIFY_TAKE
617 #define traceTASK_NOTIFY_TAKE()
620 #ifndef traceTASK_NOTIFY_WAIT_BLOCK
621 #define traceTASK_NOTIFY_WAIT_BLOCK()
624 #ifndef traceTASK_NOTIFY_WAIT
625 #define traceTASK_NOTIFY_WAIT()
628 #ifndef traceTASK_NOTIFY
629 #define traceTASK_NOTIFY()
632 #ifndef traceTASK_NOTIFY_FROM_ISR
633 #define traceTASK_NOTIFY_FROM_ISR()
636 #ifndef traceTASK_NOTIFY_GIVE_FROM_ISR
637 #define traceTASK_NOTIFY_GIVE_FROM_ISR()
640 #ifndef traceSTREAM_BUFFER_CREATE_FAILED
641 #define traceSTREAM_BUFFER_CREATE_FAILED( xIsMessageBuffer )
644 #ifndef traceSTREAM_BUFFER_CREATE_STATIC_FAILED
645 #define traceSTREAM_BUFFER_CREATE_STATIC_FAILED( xReturn, xIsMessageBuffer )
648 #ifndef traceSTREAM_BUFFER_CREATE
649 #define traceSTREAM_BUFFER_CREATE( pxStreamBuffer, xIsMessageBuffer )
652 #ifndef traceSTREAM_BUFFER_DELETE
653 #define traceSTREAM_BUFFER_DELETE( xStreamBuffer )
656 #ifndef traceSTREAM_BUFFER_RESET
657 #define traceSTREAM_BUFFER_RESET( xStreamBuffer )
660 #ifndef traceBLOCKING_ON_STREAM_BUFFER_SEND
661 #define traceBLOCKING_ON_STREAM_BUFFER_SEND( xStreamBuffer )
664 #ifndef traceSTREAM_BUFFER_SEND
665 #define traceSTREAM_BUFFER_SEND( xStreamBuffer, xBytesSent )
668 #ifndef traceSTREAM_BUFFER_SEND_FAILED
669 #define traceSTREAM_BUFFER_SEND_FAILED( xStreamBuffer )
672 #ifndef traceSTREAM_BUFFER_SEND_FROM_ISR
673 #define traceSTREAM_BUFFER_SEND_FROM_ISR( xStreamBuffer, xBytesSent )
676 #ifndef traceBLOCKING_ON_STREAM_BUFFER_RECEIVE
677 #define traceBLOCKING_ON_STREAM_BUFFER_RECEIVE( xStreamBuffer )
680 #ifndef traceSTREAM_BUFFER_RECEIVE
681 #define traceSTREAM_BUFFER_RECEIVE( xStreamBuffer, xReceivedLength )
684 #ifndef traceSTREAM_BUFFER_RECEIVE_FAILED
685 #define traceSTREAM_BUFFER_RECEIVE_FAILED( xStreamBuffer )
688 #ifndef traceSTREAM_BUFFER_RECEIVE_FROM_ISR
689 #define traceSTREAM_BUFFER_RECEIVE_FROM_ISR( xStreamBuffer, xReceivedLength )
692 #ifndef configGENERATE_RUN_TIME_STATS
693 #define configGENERATE_RUN_TIME_STATS 0
696 #if ( configGENERATE_RUN_TIME_STATS == 1 )
698 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS
699 #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.
702 #ifndef portGET_RUN_TIME_COUNTER_VALUE
703 #ifndef portALT_GET_RUN_TIME_COUNTER_VALUE
704 #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.
710 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS
711 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()
714 #ifndef configUSE_MALLOC_FAILED_HOOK
715 #define configUSE_MALLOC_FAILED_HOOK 0
718 #ifndef portPRIVILEGE_BIT
719 #define portPRIVILEGE_BIT ( ( UBaseType_t ) 0x00 )
722 #ifndef portYIELD_WITHIN_API
723 #define portYIELD_WITHIN_API portYIELD
726 #ifndef portSUPPRESS_TICKS_AND_SLEEP
727 #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )
730 #ifndef configEXPECTED_IDLE_TIME_BEFORE_SLEEP
731 #define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2
734 #if configEXPECTED_IDLE_TIME_BEFORE_SLEEP < 2
735 #error configEXPECTED_IDLE_TIME_BEFORE_SLEEP must not be less than 2
738 #ifndef configUSE_TICKLESS_IDLE
739 #define configUSE_TICKLESS_IDLE 0
742 #ifndef configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING
743 #define configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING( x )
746 #ifndef configPRE_SLEEP_PROCESSING
747 #define configPRE_SLEEP_PROCESSING( x )
750 #ifndef configPOST_SLEEP_PROCESSING
751 #define configPOST_SLEEP_PROCESSING( x )
754 #ifndef configUSE_QUEUE_SETS
755 #define configUSE_QUEUE_SETS 0
758 #ifndef portTASK_USES_FLOATING_POINT
759 #define portTASK_USES_FLOATING_POINT()
762 #ifndef portTASK_CALLS_SECURE_FUNCTIONS
763 #define portTASK_CALLS_SECURE_FUNCTIONS()
766 #ifndef configUSE_TIME_SLICING
767 #define configUSE_TIME_SLICING 1
770 #ifndef configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS
771 #define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 0
774 #ifndef configUSE_STATS_FORMATTING_FUNCTIONS
775 #define configUSE_STATS_FORMATTING_FUNCTIONS 0
778 #ifndef portASSERT_IF_INTERRUPT_PRIORITY_INVALID
779 #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID()
782 #ifndef configUSE_TRACE_FACILITY
783 #define configUSE_TRACE_FACILITY 0
786 #ifndef mtCOVERAGE_TEST_MARKER
787 #define mtCOVERAGE_TEST_MARKER()
790 #ifndef mtCOVERAGE_TEST_DELAY
791 #define mtCOVERAGE_TEST_DELAY()
794 #ifndef portASSERT_IF_IN_ISR
795 #define portASSERT_IF_IN_ISR()
798 #ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION
799 #define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
802 #ifndef configAPPLICATION_ALLOCATED_HEAP
803 #define configAPPLICATION_ALLOCATED_HEAP 0
806 #ifndef configUSE_TASK_NOTIFICATIONS
807 #define configUSE_TASK_NOTIFICATIONS 1
810 #ifndef portTICK_TYPE_IS_ATOMIC
811 #define portTICK_TYPE_IS_ATOMIC 0
814 #ifndef configSUPPORT_STATIC_ALLOCATION
816 #define configSUPPORT_STATIC_ALLOCATION 0
819 #ifndef configSUPPORT_DYNAMIC_ALLOCATION
821 #define configSUPPORT_DYNAMIC_ALLOCATION 1
824 #ifndef configSTACK_DEPTH_TYPE
827 #define configSTACK_DEPTH_TYPE uint16_t
831 #if( configUSE_TICKLESS_IDLE != 0 )
832 #if( INCLUDE_vTaskSuspend != 1 )
833 #error INCLUDE_vTaskSuspend must be set to 1 if configUSE_TICKLESS_IDLE is not set to 0
837 #if( ( configSUPPORT_STATIC_ALLOCATION == 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 0 ) )
838 #error configSUPPORT_STATIC_ALLOCATION and configSUPPORT_DYNAMIC_ALLOCATION cannot both be 0, but can both be 1.
841 #if( ( configUSE_RECURSIVE_MUTEXES == 1 ) && ( configUSE_MUTEXES != 1 ) )
842 #error configUSE_MUTEXES must be set to 1 to use recursive mutexes
845 #ifndef configINITIAL_TICK_COUNT
846 #define configINITIAL_TICK_COUNT 0
849 #if( portTICK_TYPE_IS_ATOMIC == 0 )
853 #define portTICK_TYPE_ENTER_CRITICAL() portENTER_CRITICAL()
854 #define portTICK_TYPE_EXIT_CRITICAL() portEXIT_CRITICAL()
855 #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() portSET_INTERRUPT_MASK_FROM_ISR()
856 #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) portCLEAR_INTERRUPT_MASK_FROM_ISR( ( x ) )
860 #define portTICK_TYPE_ENTER_CRITICAL()
861 #define portTICK_TYPE_EXIT_CRITICAL()
862 #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() 0
863 #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) ( void ) x
868 #ifndef configENABLE_BACKWARD_COMPATIBILITY
869 #define configENABLE_BACKWARD_COMPATIBILITY 1
883 #define configPRINTF( X )
889 #define configMAX( a, b ) ( ( ( a ) > ( b ) ) ? ( a ) : ( b ) )
895 #define configMIN( a, b ) ( ( ( a ) < ( b ) ) ? ( a ) : ( b ) )
898 #if configENABLE_BACKWARD_COMPATIBILITY == 1
899 #define eTaskStateGet eTaskGetState
900 #define portTickType TickType_t
901 #define xTaskHandle TaskHandle_t
902 #define xQueueHandle QueueHandle_t
903 #define xSemaphoreHandle SemaphoreHandle_t
904 #define xQueueSetHandle QueueSetHandle_t
905 #define xQueueSetMemberHandle QueueSetMemberHandle_t
906 #define xTimeOutType TimeOut_t
907 #define xMemoryRegion MemoryRegion_t
908 #define xTaskParameters TaskParameters_t
909 #define xTaskStatusType TaskStatus_t
910 #define xTimerHandle TimerHandle_t
911 #define xCoRoutineHandle CoRoutineHandle_t
912 #define pdTASK_HOOK_CODE TaskHookFunction_t
913 #define portTICK_RATE_MS portTICK_PERIOD_MS
914 #define pcTaskGetTaskName pcTaskGetName
915 #define pcTimerGetTimerName pcTimerGetName
916 #define pcQueueGetQueueName pcQueueGetName
917 #define vTaskGetTaskInfo vTaskGetInfo
921 #define tmrTIMER_CALLBACK TimerCallbackFunction_t
922 #define pdTASK_CODE TaskFunction_t
923 #define xListItem ListItem_t
927 #if( configUSE_ALTERNATIVE_API != 0 )
928 #error The alternative API was deprecated some time ago, and was removed in FreeRTOS V9.0 0
935 #ifndef configUSE_TASK_FPU_SUPPORT
936 #define configUSE_TASK_FPU_SUPPORT 1
988 #if ( portUSING_MPU_WRAPPERS == 1 )
989 xMPU_SETTINGS xDummy2;
995 #if ( ( portSTACK_GROWTH > 0 ) || ( configRECORD_STACK_HIGH_ADDRESS == 1 ) )
998 #if ( portCRITICAL_NESTING_IN_TCB == 1 )
1001 #if ( configUSE_TRACE_FACILITY == 1 )
1004 #if ( configUSE_MUTEXES == 1 )
1007 #if ( configUSE_APPLICATION_TASK_TAG == 1 )
1010 #if( configNUM_THREAD_LOCAL_STORAGE_POINTERS > 0 )
1013 #if ( configGENERATE_RUN_TIME_STATS == 1 )
1016 #if ( configUSE_NEWLIB_REENTRANT == 1 )
1017 struct _reent xDummy17;
1019 #if ( configUSE_TASK_NOTIFICATIONS == 1 )
1023 #if( ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) || ( portUSING_MPU_WRAPPERS == 1 ) )
1027 #if( INCLUDE_xTaskAbortDelay == 1 )
1061 #if( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
1065 #if ( configUSE_QUEUE_SETS == 1 )
1069 #if ( configUSE_TRACE_FACILITY == 1 )
1096 #if( configUSE_TRACE_FACILITY == 1 )
1100 #if( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
1127 #if( configUSE_TRACE_FACILITY == 1 )
1131 #if( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
1156 #if ( configUSE_TRACE_FACILITY == 1 )
void * pvDummy2
Definition: FreeRTOS.h:968
Definition: FreeRTOS.h:966
Definition: FreeRTOS.h:958
TickType_t xDummy1
Definition: FreeRTOS.h:959
struct xSTATIC_LIST StaticList_t
Definition: FreeRTOS.h:1152
uint8_t ucDummy19
Definition: FreeRTOS.h:1021
uint8_t ucDummy7[configMAX_TASK_NAME_LEN]
Definition: FreeRTOS.h:994
TickType_t xDummy1
Definition: FreeRTOS.h:1093
UBaseType_t uxDummy2
Definition: FreeRTOS.h:1054
StaticStreamBuffer_t StaticMessageBuffer_t
Definition: FreeRTOS.h:1162
Definition: FreeRTOS.h:950
void * pvDummy1
Definition: FreeRTOS.h:1122
uint32_t ulDummy18
Definition: FreeRTOS.h:1020
StaticMiniListItem_t xDummy3
Definition: FreeRTOS.h:969
void * pvDummy1[3]
Definition: FreeRTOS.h:1049
struct xSTATIC_STREAM_BUFFER StaticStreamBuffer_t
struct xSTATIC_TCB StaticTask_t
void * pvDummy2[3]
Definition: FreeRTOS.h:1154
Definition: FreeRTOS.h:1048
uint32_t TickType_t
Definition: portmacro.h:64
void * pxDummy6
Definition: FreeRTOS.h:993
#define configMAX_TASK_NAME_LEN
Definition: FreeRTOSConfig.h:23
void * pvDummy2
Definition: FreeRTOS.h:1053
struct xSTATIC_QUEUE StaticQueue_t
unsigned long UBaseType_t
Definition: portmacro.h:58
Definition: FreeRTOS.h:1121
Definition: FreeRTOS.h:1092
UBaseType_t uxDummy4
Definition: FreeRTOS.h:1125
Definition: FreeRTOS.h:986
void * pvDummy2[2]
Definition: FreeRTOS.h:960
StaticQueue_t StaticSemaphore_t
Definition: FreeRTOS.h:1075
StaticListItem_t xDummy2
Definition: FreeRTOS.h:1123
TickType_t xDummy1
Definition: FreeRTOS.h:951
TickType_t xDummy3
Definition: FreeRTOS.h:1124
UBaseType_t uxDummy1
Definition: FreeRTOS.h:967
void * pvDummy5[2]
Definition: FreeRTOS.h:1126
UBaseType_t uxDummy5
Definition: FreeRTOS.h:992
uint8_t ucDummy5[2]
Definition: FreeRTOS.h:1059
uint8_t ucDummy3
Definition: FreeRTOS.h:1155
StaticList_t xDummy3[2]
Definition: FreeRTOS.h:1057
union xSTATIC_QUEUE::@1 u
#define configNUM_THREAD_LOCAL_STORAGE_POINTERS
Definition: FreeRTOSConfig.h:26
StaticList_t xDummy2
Definition: FreeRTOS.h:1094
StaticListItem_t xDummy3[2]
Definition: FreeRTOS.h:991
struct xSTATIC_TIMER StaticTimer_t
size_t uxDummy1[4]
Definition: FreeRTOS.h:1153
struct xSTATIC_EVENT_GROUP StaticEventGroup_t
void * pxDummy1
Definition: FreeRTOS.h:987
UBaseType_t uxDummy4[3]
Definition: FreeRTOS.h:1058
void * pvDummy2[4]
Definition: FreeRTOS.h:952