57#include "FreeRTOSConfig.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)
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
964 UBaseType_t uxDummy1;
984#if (portUSING_MPU_WRAPPERS == 1)
985 xMPU_SETTINGS xDummy2;
988 UBaseType_t uxDummy5;
990 uint8_t ucDummy7[configMAX_TASK_NAME_LEN];
991#if ((portSTACK_GROWTH > 0) || (configRECORD_STACK_HIGH_ADDRESS == 1))
994#if (portCRITICAL_NESTING_IN_TCB == 1)
995 UBaseType_t uxDummy9;
997#if (configUSE_TRACE_FACILITY == 1)
998 UBaseType_t uxDummy10[2];
1000#if (configUSE_MUTEXES == 1)
1001 UBaseType_t uxDummy12[2];
1003#if (configUSE_APPLICATION_TASK_TAG == 1)
1006#if (configNUM_THREAD_LOCAL_STORAGE_POINTERS > 0)
1007 void *pvDummy15[configNUM_THREAD_LOCAL_STORAGE_POINTERS];
1009#if (configGENERATE_RUN_TIME_STATS == 1)
1012#if (configUSE_NEWLIB_REENTRANT == 1)
1013 struct _reent xDummy17;
1015#if (configUSE_TASK_NOTIFICATIONS == 1)
1019#if (((configSUPPORT_STATIC_ALLOCATION == 1) && (configSUPPORT_DYNAMIC_ALLOCATION == 1)) \
1020 || (portUSING_MPU_WRAPPERS == 1))
1024#if (INCLUDE_xTaskAbortDelay == 1)
1049 UBaseType_t uxDummy2;
1053 UBaseType_t uxDummy4[3];
1054 uint8_t ucDummy5[2];
1056#if ((configSUPPORT_STATIC_ALLOCATION == 1) && (configSUPPORT_DYNAMIC_ALLOCATION == 1))
1060#if (configUSE_QUEUE_SETS == 1)
1064#if (configUSE_TRACE_FACILITY == 1)
1065 UBaseType_t uxDummy8;
1090#if (configUSE_TRACE_FACILITY == 1)
1091 UBaseType_t uxDummy3;
1094#if ((configSUPPORT_STATIC_ALLOCATION == 1) && (configSUPPORT_DYNAMIC_ALLOCATION == 1))
1118 UBaseType_t uxDummy4;
1120#if (configUSE_TRACE_FACILITY == 1)
1121 UBaseType_t uxDummy6;
1124#if ((configSUPPORT_STATIC_ALLOCATION == 1) && (configSUPPORT_DYNAMIC_ALLOCATION == 1))
1148#if (configUSE_TRACE_FACILITY == 1)
1149 UBaseType_t uxDummy4;
Definition FreeRTOS.h:1086
Definition FreeRTOS.h:949
Definition FreeRTOS.h:963
Definition FreeRTOS.h:956
Definition FreeRTOS.h:1044
Definition FreeRTOS.h:1144
Definition FreeRTOS.h:982
Definition FreeRTOS.h:1114