59#define TICK_TYPE_WIDTH_16_BITS 0
60#define TICK_TYPE_WIDTH_32_BITS 1
61#define TICK_TYPE_WIDTH_64_BITS 2
66#if !defined( configUSE_16_BIT_TICKS ) && !defined( configTICK_TYPE_WIDTH_IN_BITS )
67 #error Missing definition: One of configUSE_16_BIT_TICKS and configTICK_TYPE_WIDTH_IN_BITS must be defined in FreeRTOSConfig.h. See the Configuration section of the FreeRTOS API documentation for details.
70#if defined( configUSE_16_BIT_TICKS ) && defined( configTICK_TYPE_WIDTH_IN_BITS )
71 #error Only one of configUSE_16_BIT_TICKS and configTICK_TYPE_WIDTH_IN_BITS must be defined in FreeRTOSConfig.h. See the Configuration section of the FreeRTOS API documentation for details.
76#ifndef configTICK_TYPE_WIDTH_IN_BITS
77 #if ( configUSE_16_BIT_TICKS == 1 )
78 #define configTICK_TYPE_WIDTH_IN_BITS TICK_TYPE_WIDTH_16_BITS
80 #define configTICK_TYPE_WIDTH_IN_BITS TICK_TYPE_WIDTH_32_BITS
85#ifndef configUSE_MPU_WRAPPERS_V1
86 #define configUSE_MPU_WRAPPERS_V1 0
90#ifndef configENABLE_ACCESS_CONTROL_LIST
91 #define configENABLE_ACCESS_CONTROL_LIST 0
101#ifndef configUSE_NEWLIB_REENTRANT
102 #define configUSE_NEWLIB_REENTRANT 0
106#if ( configUSE_NEWLIB_REENTRANT == 1 )
113#ifndef configUSE_PICOLIBC_TLS
114 #define configUSE_PICOLIBC_TLS 0
117#if ( configUSE_PICOLIBC_TLS == 1 )
123#ifndef configUSE_C_RUNTIME_TLS_SUPPORT
124 #define configUSE_C_RUNTIME_TLS_SUPPORT 0
127#if ( configUSE_C_RUNTIME_TLS_SUPPORT == 1 )
129 #ifndef configTLS_BLOCK_TYPE
130 #error Missing definition: configTLS_BLOCK_TYPE must be defined in FreeRTOSConfig.h when configUSE_C_RUNTIME_TLS_SUPPORT is set to 1.
133 #ifndef configINIT_TLS_BLOCK
134 #error Missing definition: configINIT_TLS_BLOCK must be defined in FreeRTOSConfig.h when configUSE_C_RUNTIME_TLS_SUPPORT is set to 1.
137 #ifndef configSET_TLS_BLOCK
138 #error Missing definition: configSET_TLS_BLOCK must be defined in FreeRTOSConfig.h when configUSE_C_RUNTIME_TLS_SUPPORT is set to 1.
141 #ifndef configDEINIT_TLS_BLOCK
142 #error Missing definition: configDEINIT_TLS_BLOCK must be defined in FreeRTOSConfig.h when configUSE_C_RUNTIME_TLS_SUPPORT is set to 1.
152#ifndef configMINIMAL_STACK_SIZE
153 #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.
156#ifndef configMAX_PRIORITIES
157 #error Missing definition: configMAX_PRIORITIES must be defined in FreeRTOSConfig.h. See the Configuration section of the FreeRTOS API documentation for details.
160#if configMAX_PRIORITIES < 1
161 #error configMAX_PRIORITIES must be defined to be greater than or equal to 1.
164#ifndef configUSE_PREEMPTION
165 #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.
168#ifndef configUSE_IDLE_HOOK
169 #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.
172#ifndef configUSE_TICK_HOOK
173 #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.
176#if ( ( configTICK_TYPE_WIDTH_IN_BITS != TICK_TYPE_WIDTH_16_BITS ) && \
177 ( configTICK_TYPE_WIDTH_IN_BITS != TICK_TYPE_WIDTH_32_BITS ) && \
178 ( configTICK_TYPE_WIDTH_IN_BITS != TICK_TYPE_WIDTH_64_BITS ) )
179 #error Macro configTICK_TYPE_WIDTH_IN_BITS is defined to incorrect value. See the Configuration section of the FreeRTOS API documentation for details.
182#ifndef configUSE_CO_ROUTINES
183 #define configUSE_CO_ROUTINES 0
186#ifndef INCLUDE_vTaskPrioritySet
187 #define INCLUDE_vTaskPrioritySet 0
190#ifndef INCLUDE_uxTaskPriorityGet
191 #define INCLUDE_uxTaskPriorityGet 0
194#ifndef INCLUDE_vTaskDelete
195 #define INCLUDE_vTaskDelete 0
198#ifndef INCLUDE_vTaskSuspend
199 #define INCLUDE_vTaskSuspend 0
202#ifdef INCLUDE_xTaskDelayUntil
203 #ifdef INCLUDE_vTaskDelayUntil
208 #error INCLUDE_vTaskDelayUntil and INCLUDE_xTaskDelayUntil are both defined. INCLUDE_vTaskDelayUntil is no longer required and should be removed
212#ifndef INCLUDE_xTaskDelayUntil
213 #ifdef INCLUDE_vTaskDelayUntil
220 #define INCLUDE_xTaskDelayUntil INCLUDE_vTaskDelayUntil
224#ifndef INCLUDE_xTaskDelayUntil
225 #define INCLUDE_xTaskDelayUntil 0
228#ifndef INCLUDE_vTaskDelay
229 #define INCLUDE_vTaskDelay 0
232#ifndef INCLUDE_xTaskGetIdleTaskHandle
233 #define INCLUDE_xTaskGetIdleTaskHandle 0
236#ifndef INCLUDE_xTaskAbortDelay
237 #define INCLUDE_xTaskAbortDelay 0
240#ifndef INCLUDE_xQueueGetMutexHolder
241 #define INCLUDE_xQueueGetMutexHolder 0
244#ifndef INCLUDE_xSemaphoreGetMutexHolder
245 #define INCLUDE_xSemaphoreGetMutexHolder INCLUDE_xQueueGetMutexHolder
248#ifndef INCLUDE_xTaskGetHandle
249 #define INCLUDE_xTaskGetHandle 0
252#ifndef INCLUDE_uxTaskGetStackHighWaterMark
253 #define INCLUDE_uxTaskGetStackHighWaterMark 0
256#ifndef INCLUDE_uxTaskGetStackHighWaterMark2
257 #define INCLUDE_uxTaskGetStackHighWaterMark2 0
260#ifndef INCLUDE_eTaskGetState
261 #define INCLUDE_eTaskGetState 0
264#ifndef INCLUDE_xTaskResumeFromISR
265 #define INCLUDE_xTaskResumeFromISR 1
268#ifndef INCLUDE_xTimerPendFunctionCall
269 #define INCLUDE_xTimerPendFunctionCall 0
272#ifndef INCLUDE_xTaskGetSchedulerState
273 #define INCLUDE_xTaskGetSchedulerState 0
276#ifndef INCLUDE_xTaskGetCurrentTaskHandle
277 #define INCLUDE_xTaskGetCurrentTaskHandle 1
280#if configUSE_CO_ROUTINES != 0
281 #ifndef configMAX_CO_ROUTINE_PRIORITIES
282 #error configMAX_CO_ROUTINE_PRIORITIES must be greater than or equal to 1.
286#ifndef configUSE_DAEMON_TASK_STARTUP_HOOK
287 #define configUSE_DAEMON_TASK_STARTUP_HOOK 0
290#ifndef configUSE_APPLICATION_TASK_TAG
291 #define configUSE_APPLICATION_TASK_TAG 0
294#ifndef configNUM_THREAD_LOCAL_STORAGE_POINTERS
295 #define configNUM_THREAD_LOCAL_STORAGE_POINTERS 0
298#ifndef configUSE_RECURSIVE_MUTEXES
299 #define configUSE_RECURSIVE_MUTEXES 0
302#ifndef configUSE_MUTEXES
303 #define configUSE_MUTEXES 0
306#ifndef configUSE_TIMERS
307 #define configUSE_TIMERS 0
310#ifndef configUSE_COUNTING_SEMAPHORES
311 #define configUSE_COUNTING_SEMAPHORES 0
314#ifndef configUSE_ALTERNATIVE_API
315 #define configUSE_ALTERNATIVE_API 0
318#ifndef portCRITICAL_NESTING_IN_TCB
319 #define portCRITICAL_NESTING_IN_TCB 0
322#ifndef configMAX_TASK_NAME_LEN
323 #define configMAX_TASK_NAME_LEN 16
326#ifndef configIDLE_SHOULD_YIELD
327 #define configIDLE_SHOULD_YIELD 1
330#if configMAX_TASK_NAME_LEN < 1
331 #error configMAX_TASK_NAME_LEN must be set to a minimum of 1 in FreeRTOSConfig.h
335 #define configASSERT( x )
336 #define configASSERT_DEFINED 0
338 #define configASSERT_DEFINED 1
346#ifndef configPRECONDITION
347 #define configPRECONDITION( X ) configASSERT( X )
348 #define configPRECONDITION_DEFINED 0
350 #define configPRECONDITION_DEFINED 1
353#ifndef portMEMORY_BARRIER
354 #define portMEMORY_BARRIER()
357#ifndef portSOFTWARE_BARRIER
358 #define portSOFTWARE_BARRIER()
362#if configUSE_TIMERS == 1
364 #ifndef configTIMER_TASK_PRIORITY
365 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_PRIORITY must also be defined.
368 #ifndef configTIMER_QUEUE_LENGTH
369 #error If configUSE_TIMERS is set to 1 then configTIMER_QUEUE_LENGTH must also be defined.
372 #ifndef configTIMER_TASK_STACK_DEPTH
373 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_STACK_DEPTH must also be defined.
378#ifndef portSET_INTERRUPT_MASK_FROM_ISR
379 #define portSET_INTERRUPT_MASK_FROM_ISR() 0
382#ifndef portCLEAR_INTERRUPT_MASK_FROM_ISR
383 #define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusValue ) ( void ) ( uxSavedStatusValue )
386#ifndef portCLEAN_UP_TCB
387 #define portCLEAN_UP_TCB( pxTCB ) ( void ) ( pxTCB )
390#ifndef portPRE_TASK_DELETE_HOOK
391 #define portPRE_TASK_DELETE_HOOK( pvTaskToDelete, pxYieldPending )
395 #define portSETUP_TCB( pxTCB ) ( void ) ( pxTCB )
398#ifndef configQUEUE_REGISTRY_SIZE
399 #define configQUEUE_REGISTRY_SIZE 0U
402#if ( configQUEUE_REGISTRY_SIZE < 1 )
403 #define vQueueAddToRegistry( xQueue, pcName )
404 #define vQueueUnregisterQueue( xQueue )
405 #define pcQueueGetName( xQueue )
408#ifndef configUSE_MINI_LIST_ITEM
409 #define configUSE_MINI_LIST_ITEM 1
412#ifndef portPOINTER_SIZE_TYPE
413 #define portPOINTER_SIZE_TYPE uint32_t
431#ifndef traceTASK_SWITCHED_IN
435 #define traceTASK_SWITCHED_IN()
438#ifndef traceINCREASE_TICK_COUNT
442 #define traceINCREASE_TICK_COUNT( x )
445#ifndef traceLOW_POWER_IDLE_BEGIN
447 #define traceLOW_POWER_IDLE_BEGIN()
450#ifndef traceLOW_POWER_IDLE_END
452 #define traceLOW_POWER_IDLE_END()
455#ifndef traceTASK_SWITCHED_OUT
459 #define traceTASK_SWITCHED_OUT()
462#ifndef traceTASK_PRIORITY_INHERIT
469 #define traceTASK_PRIORITY_INHERIT( pxTCBOfMutexHolder, uxInheritedPriority )
472#ifndef traceTASK_PRIORITY_DISINHERIT
478 #define traceTASK_PRIORITY_DISINHERIT( pxTCBOfMutexHolder, uxOriginalPriority )
481#ifndef traceBLOCKING_ON_QUEUE_RECEIVE
487 #define traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue )
490#ifndef traceBLOCKING_ON_QUEUE_PEEK
496 #define traceBLOCKING_ON_QUEUE_PEEK( pxQueue )
499#ifndef traceBLOCKING_ON_QUEUE_SEND
505 #define traceBLOCKING_ON_QUEUE_SEND( pxQueue )
508#ifndef configCHECK_FOR_STACK_OVERFLOW
509 #define configCHECK_FOR_STACK_OVERFLOW 0
512#ifndef configRECORD_STACK_HIGH_ADDRESS
513 #define configRECORD_STACK_HIGH_ADDRESS 0
516#ifndef configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H
517 #define configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H 0
522#ifndef traceMOVED_TASK_TO_READY_STATE
523 #define traceMOVED_TASK_TO_READY_STATE( pxTCB )
526#ifndef tracePOST_MOVED_TASK_TO_READY_STATE
527 #define tracePOST_MOVED_TASK_TO_READY_STATE( pxTCB )
530#ifndef traceQUEUE_CREATE
531 #define traceQUEUE_CREATE( pxNewQueue )
534#ifndef traceQUEUE_CREATE_FAILED
535 #define traceQUEUE_CREATE_FAILED( ucQueueType )
538#ifndef traceCREATE_MUTEX
539 #define traceCREATE_MUTEX( pxNewQueue )
542#ifndef traceCREATE_MUTEX_FAILED
543 #define traceCREATE_MUTEX_FAILED()
546#ifndef traceGIVE_MUTEX_RECURSIVE
547 #define traceGIVE_MUTEX_RECURSIVE( pxMutex )
550#ifndef traceGIVE_MUTEX_RECURSIVE_FAILED
551 #define traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex )
554#ifndef traceTAKE_MUTEX_RECURSIVE
555 #define traceTAKE_MUTEX_RECURSIVE( pxMutex )
558#ifndef traceTAKE_MUTEX_RECURSIVE_FAILED
559 #define traceTAKE_MUTEX_RECURSIVE_FAILED( pxMutex )
562#ifndef traceCREATE_COUNTING_SEMAPHORE
563 #define traceCREATE_COUNTING_SEMAPHORE()
566#ifndef traceCREATE_COUNTING_SEMAPHORE_FAILED
567 #define traceCREATE_COUNTING_SEMAPHORE_FAILED()
570#ifndef traceQUEUE_SET_SEND
571 #define traceQUEUE_SET_SEND traceQUEUE_SEND
574#ifndef traceQUEUE_SEND
575 #define traceQUEUE_SEND( pxQueue )
578#ifndef traceQUEUE_SEND_FAILED
579 #define traceQUEUE_SEND_FAILED( pxQueue )
582#ifndef traceQUEUE_RECEIVE
583 #define traceQUEUE_RECEIVE( pxQueue )
586#ifndef traceQUEUE_PEEK
587 #define traceQUEUE_PEEK( pxQueue )
590#ifndef traceQUEUE_PEEK_FAILED
591 #define traceQUEUE_PEEK_FAILED( pxQueue )
594#ifndef traceQUEUE_PEEK_FROM_ISR
595 #define traceQUEUE_PEEK_FROM_ISR( pxQueue )
598#ifndef traceQUEUE_RECEIVE_FAILED
599 #define traceQUEUE_RECEIVE_FAILED( pxQueue )
602#ifndef traceQUEUE_SEND_FROM_ISR
603 #define traceQUEUE_SEND_FROM_ISR( pxQueue )
606#ifndef traceQUEUE_SEND_FROM_ISR_FAILED
607 #define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue )
610#ifndef traceQUEUE_RECEIVE_FROM_ISR
611 #define traceQUEUE_RECEIVE_FROM_ISR( pxQueue )
614#ifndef traceQUEUE_RECEIVE_FROM_ISR_FAILED
615 #define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue )
618#ifndef traceQUEUE_PEEK_FROM_ISR_FAILED
619 #define traceQUEUE_PEEK_FROM_ISR_FAILED( pxQueue )
622#ifndef traceQUEUE_DELETE
623 #define traceQUEUE_DELETE( pxQueue )
626#ifndef traceTASK_CREATE
627 #define traceTASK_CREATE( pxNewTCB )
630#ifndef traceTASK_CREATE_FAILED
631 #define traceTASK_CREATE_FAILED()
634#ifndef traceTASK_DELETE
635 #define traceTASK_DELETE( pxTaskToDelete )
638#ifndef traceTASK_DELAY_UNTIL
639 #define traceTASK_DELAY_UNTIL( x )
642#ifndef traceTASK_DELAY
643 #define traceTASK_DELAY()
646#ifndef traceTASK_PRIORITY_SET
647 #define traceTASK_PRIORITY_SET( pxTask, uxNewPriority )
650#ifndef traceTASK_SUSPEND
651 #define traceTASK_SUSPEND( pxTaskToSuspend )
654#ifndef traceTASK_RESUME
655 #define traceTASK_RESUME( pxTaskToResume )
658#ifndef traceTASK_RESUME_FROM_ISR
659 #define traceTASK_RESUME_FROM_ISR( pxTaskToResume )
662#ifndef traceTASK_INCREMENT_TICK
663 #define traceTASK_INCREMENT_TICK( xTickCount )
666#ifndef traceTIMER_CREATE
667 #define traceTIMER_CREATE( pxNewTimer )
670#ifndef traceTIMER_CREATE_FAILED
671 #define traceTIMER_CREATE_FAILED()
674#ifndef traceTIMER_COMMAND_SEND
675 #define traceTIMER_COMMAND_SEND( xTimer, xMessageID, xMessageValueValue, xReturn )
678#ifndef traceTIMER_EXPIRED
679 #define traceTIMER_EXPIRED( pxTimer )
682#ifndef traceTIMER_COMMAND_RECEIVED
683 #define traceTIMER_COMMAND_RECEIVED( pxTimer, xMessageID, xMessageValue )
687 #define traceMALLOC( pvAddress, uiSize )
691 #define traceFREE( pvAddress, uiSize )
694#ifndef traceEVENT_GROUP_CREATE
695 #define traceEVENT_GROUP_CREATE( xEventGroup )
698#ifndef traceEVENT_GROUP_CREATE_FAILED
699 #define traceEVENT_GROUP_CREATE_FAILED()
702#ifndef traceEVENT_GROUP_SYNC_BLOCK
703 #define traceEVENT_GROUP_SYNC_BLOCK( xEventGroup, uxBitsToSet, uxBitsToWaitFor )
706#ifndef traceEVENT_GROUP_SYNC_END
707 #define traceEVENT_GROUP_SYNC_END( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) ( xTimeoutOccurred )
710#ifndef traceEVENT_GROUP_WAIT_BITS_BLOCK
711 #define traceEVENT_GROUP_WAIT_BITS_BLOCK( xEventGroup, uxBitsToWaitFor )
714#ifndef traceEVENT_GROUP_WAIT_BITS_END
715 #define traceEVENT_GROUP_WAIT_BITS_END( xEventGroup, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) ( xTimeoutOccurred )
718#ifndef traceEVENT_GROUP_CLEAR_BITS
719 #define traceEVENT_GROUP_CLEAR_BITS( xEventGroup, uxBitsToClear )
722#ifndef traceEVENT_GROUP_CLEAR_BITS_FROM_ISR
723 #define traceEVENT_GROUP_CLEAR_BITS_FROM_ISR( xEventGroup, uxBitsToClear )
726#ifndef traceEVENT_GROUP_SET_BITS
727 #define traceEVENT_GROUP_SET_BITS( xEventGroup, uxBitsToSet )
730#ifndef traceEVENT_GROUP_SET_BITS_FROM_ISR
731 #define traceEVENT_GROUP_SET_BITS_FROM_ISR( xEventGroup, uxBitsToSet )
734#ifndef traceEVENT_GROUP_DELETE
735 #define traceEVENT_GROUP_DELETE( xEventGroup )
738#ifndef tracePEND_FUNC_CALL
739 #define tracePEND_FUNC_CALL( xFunctionToPend, pvParameter1, ulParameter2, ret )
742#ifndef tracePEND_FUNC_CALL_FROM_ISR
743 #define tracePEND_FUNC_CALL_FROM_ISR( xFunctionToPend, pvParameter1, ulParameter2, ret )
746#ifndef traceQUEUE_REGISTRY_ADD
747 #define traceQUEUE_REGISTRY_ADD( xQueue, pcQueueName )
750#ifndef traceTASK_NOTIFY_TAKE_BLOCK
751 #define traceTASK_NOTIFY_TAKE_BLOCK( uxIndexToWait )
754#ifndef traceTASK_NOTIFY_TAKE
755 #define traceTASK_NOTIFY_TAKE( uxIndexToWait )
758#ifndef traceTASK_NOTIFY_WAIT_BLOCK
759 #define traceTASK_NOTIFY_WAIT_BLOCK( uxIndexToWait )
762#ifndef traceTASK_NOTIFY_WAIT
763 #define traceTASK_NOTIFY_WAIT( uxIndexToWait )
766#ifndef traceTASK_NOTIFY
767 #define traceTASK_NOTIFY( uxIndexToNotify )
770#ifndef traceTASK_NOTIFY_FROM_ISR
771 #define traceTASK_NOTIFY_FROM_ISR( uxIndexToNotify )
774#ifndef traceTASK_NOTIFY_GIVE_FROM_ISR
775 #define traceTASK_NOTIFY_GIVE_FROM_ISR( uxIndexToNotify )
778#ifndef traceSTREAM_BUFFER_CREATE_FAILED
779 #define traceSTREAM_BUFFER_CREATE_FAILED( xIsMessageBuffer )
782#ifndef traceSTREAM_BUFFER_CREATE_STATIC_FAILED
783 #define traceSTREAM_BUFFER_CREATE_STATIC_FAILED( xReturn, xIsMessageBuffer )
786#ifndef traceSTREAM_BUFFER_CREATE
787 #define traceSTREAM_BUFFER_CREATE( pxStreamBuffer, xIsMessageBuffer )
790#ifndef traceSTREAM_BUFFER_DELETE
791 #define traceSTREAM_BUFFER_DELETE( xStreamBuffer )
794#ifndef traceSTREAM_BUFFER_RESET
795 #define traceSTREAM_BUFFER_RESET( xStreamBuffer )
798#ifndef traceBLOCKING_ON_STREAM_BUFFER_SEND
799 #define traceBLOCKING_ON_STREAM_BUFFER_SEND( xStreamBuffer )
802#ifndef traceSTREAM_BUFFER_SEND
803 #define traceSTREAM_BUFFER_SEND( xStreamBuffer, xBytesSent )
806#ifndef traceSTREAM_BUFFER_SEND_FAILED
807 #define traceSTREAM_BUFFER_SEND_FAILED( xStreamBuffer )
810#ifndef traceSTREAM_BUFFER_SEND_FROM_ISR
811 #define traceSTREAM_BUFFER_SEND_FROM_ISR( xStreamBuffer, xBytesSent )
814#ifndef traceBLOCKING_ON_STREAM_BUFFER_RECEIVE
815 #define traceBLOCKING_ON_STREAM_BUFFER_RECEIVE( xStreamBuffer )
818#ifndef traceSTREAM_BUFFER_RECEIVE
819 #define traceSTREAM_BUFFER_RECEIVE( xStreamBuffer, xReceivedLength )
822#ifndef traceSTREAM_BUFFER_RECEIVE_FAILED
823 #define traceSTREAM_BUFFER_RECEIVE_FAILED( xStreamBuffer )
826#ifndef traceSTREAM_BUFFER_RECEIVE_FROM_ISR
827 #define traceSTREAM_BUFFER_RECEIVE_FROM_ISR( xStreamBuffer, xReceivedLength )
830#ifndef configGENERATE_RUN_TIME_STATS
831 #define configGENERATE_RUN_TIME_STATS 0
834#if ( configGENERATE_RUN_TIME_STATS == 1 )
836 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS
837 #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.
840 #ifndef portGET_RUN_TIME_COUNTER_VALUE
841 #ifndef portALT_GET_RUN_TIME_COUNTER_VALUE
842 #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.
848#ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS
849 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()
852#ifndef configUSE_MALLOC_FAILED_HOOK
853 #define configUSE_MALLOC_FAILED_HOOK 0
856#ifndef portPRIVILEGE_BIT
857 #define portPRIVILEGE_BIT ( ( UBaseType_t ) 0x00 )
860#ifndef portYIELD_WITHIN_API
861 #define portYIELD_WITHIN_API portYIELD
864#ifndef portSUPPRESS_TICKS_AND_SLEEP
865 #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )
868#ifndef configEXPECTED_IDLE_TIME_BEFORE_SLEEP
869 #define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2
872#if configEXPECTED_IDLE_TIME_BEFORE_SLEEP < 2
873 #error configEXPECTED_IDLE_TIME_BEFORE_SLEEP must not be less than 2
876#ifndef configUSE_TICKLESS_IDLE
877 #define configUSE_TICKLESS_IDLE 0
880#ifndef configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING
881 #define configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING( x )
884#ifndef configPRE_SLEEP_PROCESSING
885 #define configPRE_SLEEP_PROCESSING( x )
888#ifndef configPOST_SLEEP_PROCESSING
889 #define configPOST_SLEEP_PROCESSING( x )
892#ifndef configUSE_QUEUE_SETS
893 #define configUSE_QUEUE_SETS 0
896#ifndef portTASK_USES_FLOATING_POINT
897 #define portTASK_USES_FLOATING_POINT()
900#ifndef portALLOCATE_SECURE_CONTEXT
901 #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )
904#ifndef portDONT_DISCARD
905 #define portDONT_DISCARD
908#ifndef configUSE_TIME_SLICING
909 #define configUSE_TIME_SLICING 1
912#ifndef configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS
913 #define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 0
916#ifndef configUSE_STATS_FORMATTING_FUNCTIONS
917 #define configUSE_STATS_FORMATTING_FUNCTIONS 0
920#ifndef portASSERT_IF_INTERRUPT_PRIORITY_INVALID
921 #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID()
924#ifndef configUSE_TRACE_FACILITY
925 #define configUSE_TRACE_FACILITY 0
928#ifndef mtCOVERAGE_TEST_MARKER
929 #define mtCOVERAGE_TEST_MARKER()
932#ifndef mtCOVERAGE_TEST_DELAY
933 #define mtCOVERAGE_TEST_DELAY()
936#ifndef portASSERT_IF_IN_ISR
937 #define portASSERT_IF_IN_ISR()
940#ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION
941 #define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
944#ifndef configAPPLICATION_ALLOCATED_HEAP
945 #define configAPPLICATION_ALLOCATED_HEAP 0
948#ifndef configUSE_TASK_NOTIFICATIONS
949 #define configUSE_TASK_NOTIFICATIONS 1
952#ifndef configTASK_NOTIFICATION_ARRAY_ENTRIES
953 #define configTASK_NOTIFICATION_ARRAY_ENTRIES 1
956#if configTASK_NOTIFICATION_ARRAY_ENTRIES < 1
957 #error configTASK_NOTIFICATION_ARRAY_ENTRIES must be at least 1
960#ifndef configUSE_POSIX_ERRNO
961 #define configUSE_POSIX_ERRNO 0
964#ifndef configUSE_SB_COMPLETED_CALLBACK
967 #define configUSE_SB_COMPLETED_CALLBACK 0
970#ifndef portTICK_TYPE_IS_ATOMIC
971 #define portTICK_TYPE_IS_ATOMIC 0
974#ifndef configSUPPORT_STATIC_ALLOCATION
976 #define configSUPPORT_STATIC_ALLOCATION 0
979#ifndef configSUPPORT_DYNAMIC_ALLOCATION
981 #define configSUPPORT_DYNAMIC_ALLOCATION 1
984#if ( ( configUSE_STATS_FORMATTING_FUNCTIONS > 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION != 1 ) )
985 #error configUSE_STATS_FORMATTING_FUNCTIONS cannot be used without dynamic allocation, but configSUPPORT_DYNAMIC_ALLOCATION is not set to 1.
988#if ( configUSE_STATS_FORMATTING_FUNCTIONS > 0 )
989 #if ( ( configUSE_TRACE_FACILITY != 1 ) && ( configGENERATE_RUN_TIME_STATS != 1 ) )
990 #error configUSE_STATS_FORMATTING_FUNCTIONS is 1 but the functions it enables are not used because neither configUSE_TRACE_FACILITY or configGENERATE_RUN_TIME_STATS are 1. Set configUSE_STATS_FORMATTING_FUNCTIONS to 0 in FreeRTOSConfig.h.
994#ifndef configSTACK_DEPTH_TYPE
998 #define configSTACK_DEPTH_TYPE uint16_t
1001#ifndef configRUN_TIME_COUNTER_TYPE
1006 #define configRUN_TIME_COUNTER_TYPE uint32_t
1009#ifndef configMESSAGE_BUFFER_LENGTH_TYPE
1014 #define configMESSAGE_BUFFER_LENGTH_TYPE size_t
1018#if ( ( configSUPPORT_STATIC_ALLOCATION == 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 0 ) )
1019 #error configSUPPORT_STATIC_ALLOCATION and configSUPPORT_DYNAMIC_ALLOCATION cannot both be 0, but can both be 1.
1022#if ( ( configUSE_RECURSIVE_MUTEXES == 1 ) && ( configUSE_MUTEXES != 1 ) )
1023 #error configUSE_MUTEXES must be set to 1 to use recursive mutexes
1026#ifndef configINITIAL_TICK_COUNT
1027 #define configINITIAL_TICK_COUNT 0
1030#if ( portTICK_TYPE_IS_ATOMIC == 0 )
1035 #define portTICK_TYPE_ENTER_CRITICAL() portENTER_CRITICAL()
1036 #define portTICK_TYPE_EXIT_CRITICAL() portEXIT_CRITICAL()
1037 #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() portSET_INTERRUPT_MASK_FROM_ISR()
1038 #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) portCLEAR_INTERRUPT_MASK_FROM_ISR( ( x ) )
1043 #define portTICK_TYPE_ENTER_CRITICAL()
1044 #define portTICK_TYPE_EXIT_CRITICAL()
1045 #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() 0
1046 #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) ( void ) ( x )
1051#ifndef configENABLE_BACKWARD_COMPATIBILITY
1052 #define configENABLE_BACKWARD_COMPATIBILITY 1
1067 #define configPRINTF( X )
1074 #define configMAX( a, b ) ( ( ( a ) > ( b ) ) ? ( a ) : ( b ) )
1081 #define configMIN( a, b ) ( ( ( a ) < ( b ) ) ? ( a ) : ( b ) )
1084#if configENABLE_BACKWARD_COMPATIBILITY == 1
1085 #define eTaskStateGet eTaskGetState
1086 #define portTickType TickType_t
1087 #define xTaskHandle TaskHandle_t
1088 #define xQueueHandle QueueHandle_t
1089 #define xSemaphoreHandle SemaphoreHandle_t
1090 #define xQueueSetHandle QueueSetHandle_t
1091 #define xQueueSetMemberHandle QueueSetMemberHandle_t
1092 #define xTimeOutType TimeOut_t
1093 #define xMemoryRegion MemoryRegion_t
1094 #define xTaskParameters TaskParameters_t
1095 #define xTaskStatusType TaskStatus_t
1096 #define xTimerHandle TimerHandle_t
1097 #define xCoRoutineHandle CoRoutineHandle_t
1098 #define pdTASK_HOOK_CODE TaskHookFunction_t
1099 #define portTICK_RATE_MS portTICK_PERIOD_MS
1100 #define pcTaskGetTaskName pcTaskGetName
1101 #define pcTimerGetTimerName pcTimerGetName
1102 #define pcQueueGetQueueName pcQueueGetName
1103 #define vTaskGetTaskInfo vTaskGetInfo
1104 #define xTaskGetIdleRunTimeCounter ulTaskGetIdleRunTimeCounter
1108 #define tmrTIMER_CALLBACK TimerCallbackFunction_t
1109 #define pdTASK_CODE TaskFunction_t
1110 #define xListItem ListItem_t
1111 #define xList List_t
1115 #define pxContainer pvContainer
1118#if ( configUSE_ALTERNATIVE_API != 0 )
1119 #error The alternative API was deprecated some time ago, and was removed in FreeRTOS V9.0 0
1126#ifndef configUSE_TASK_FPU_SUPPORT
1127 #define configUSE_TASK_FPU_SUPPORT 1
1132#ifndef configENABLE_MPU
1133 #define configENABLE_MPU 0
1138#ifndef configENABLE_FPU
1139 #define configENABLE_FPU 1
1144#ifndef configENABLE_MVE
1145 #define configENABLE_MVE 0
1150#ifndef configENABLE_TRUSTZONE
1151 #define configENABLE_TRUSTZONE 1
1156#ifndef configRUN_FREERTOS_SECURE_ONLY
1157 #define configRUN_FREERTOS_SECURE_ONLY 0
1160#ifndef configRUN_ADDITIONAL_TESTS
1161 #define configRUN_ADDITIONAL_TESTS 0
1207#define tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE \
1208 ( ( ( portUSING_MPU_WRAPPERS == 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) || \
1209 ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) )
1223 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
1228 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
1234#if ( configUSE_MINI_LIST_ITEM == 1 )
1238 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
1252 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
1258 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
1279 #if ( portUSING_MPU_WRAPPERS == 1 )
1280 xMPU_SETTINGS xDummy2;
1286 #if ( ( portSTACK_GROWTH > 0 ) || ( configRECORD_STACK_HIGH_ADDRESS == 1 ) )
1289 #if ( portCRITICAL_NESTING_IN_TCB == 1 )
1292 #if ( configUSE_TRACE_FACILITY == 1 )
1295 #if ( configUSE_MUTEXES == 1 )
1298 #if ( configUSE_APPLICATION_TASK_TAG == 1 )
1301 #if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS > 0 )
1304 #if ( configGENERATE_RUN_TIME_STATS == 1 )
1307 #if ( configUSE_C_RUNTIME_TLS_SUPPORT == 1 )
1310 #if ( configUSE_TASK_NOTIFICATIONS == 1 )
1314 #if ( tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE != 0 )
1318 #if ( INCLUDE_xTaskAbortDelay == 1 )
1321 #if ( configUSE_POSIX_ERRNO == 1 )
1354 #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
1358 #if ( configUSE_QUEUE_SETS == 1 )
1362 #if ( configUSE_TRACE_FACILITY == 1 )
1388 #if ( configUSE_TRACE_FACILITY == 1 )
1392 #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
1418 #if ( configUSE_TRACE_FACILITY == 1 )
1443 #if ( configUSE_TRACE_FACILITY == 1 )
1446 #if ( configUSE_SB_COMPLETED_CALLBACK == 1 )
1447 void * pvDummy5[ 2 ];
struct xSTATIC_LIST_ITEM StaticListItem_t
struct xSTATIC_QUEUE StaticQueue_t
struct xSTATIC_STREAM_BUFFER StaticStreamBuffer_t
#define configTASK_NOTIFICATION_ARRAY_ENTRIES
StaticQueue_t StaticSemaphore_t
struct xSTATIC_TIMER StaticTimer_t
#define configNUM_THREAD_LOCAL_STORAGE_POINTERS
struct xSTATIC_MINI_LIST_ITEM StaticMiniListItem_t
struct xSTATIC_LIST StaticList_t
#define configMAX_TASK_NAME_LEN
#define configRUN_TIME_COUNTER_TYPE
StaticStreamBuffer_t StaticMessageBuffer_t
struct xSTATIC_TCB StaticTask_t
struct xSTATIC_EVENT_GROUP StaticEventGroup_t
#define configTLS_BLOCK_TYPE
unsigned long UBaseType_t
void(* TaskFunction_t)(void *)
StaticMiniListItem_t xDummy4
union xSTATIC_QUEUE::@115357007060035350272161035101010243023042125160 u
uint32_t ulDummy18[configTASK_NOTIFICATION_ARRAY_ENTRIES]
uint8_t ucDummy7[configMAX_TASK_NAME_LEN]
StaticListItem_t xDummy3[2]
uint8_t ucDummy19[configTASK_NOTIFICATION_ARRAY_ENTRIES]