2 * FreeRTOS Kernel <DEVELOPMENT BRANCH>
3 * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
5 * SPDX-License-Identifier: MIT
7 * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 * this software and associated documentation files (the "Software"), to deal in
9 * the Software without restriction, including without limitation the rights to
10 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
11 * the Software, and to permit persons to whom the Software is furnished to do so,
12 * subject to the following conditions:
14 * The above copyright notice and this permission notice shall be included in all
15 * copies or substantial portions of the Software.
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
19 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
20 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
21 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 * https://www.FreeRTOS.org
25 * https://github.com/FreeRTOS
29 #ifndef INC_FREERTOS_H
30 #define INC_FREERTOS_H
33 * Include the generic headers required for the FreeRTOS port being used.
38 * If stdint.h cannot be located then:
39 * + If using GCC ensure the -nostdint options is *not* being used.
40 * + Ensure the project's include path includes the directory in which your
41 * compiler stores stdint.h.
42 * + Set any compiler options necessary for it to support C99, as technically
43 * stdint.h is only mandatory with C99 (FreeRTOS does not require C99 in any
45 * + The FreeRTOS download includes a simple stdint.h definition that can be
46 * used in cases where none is provided by the compiler. The files only
47 * contains the typedefs required to build FreeRTOS. Read the instructions
48 * in FreeRTOS/source/stdint.readme for more information.
50 #include <stdint.h> /* READ COMMENT ABOVE. */
58 /* Acceptable values for configTICK_TYPE_WIDTH_IN_BITS. */
59 #define TICK_TYPE_WIDTH_16_BITS 0
60 #define TICK_TYPE_WIDTH_32_BITS 1
61 #define TICK_TYPE_WIDTH_64_BITS 2
63 /* Application specific configuration options. */
64 #include "FreeRTOSConfig.h"
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.
74 /* Define configTICK_TYPE_WIDTH_IN_BITS according to the
75 * value of configUSE_16_BIT_TICKS for backward compatibility. */
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
84 /* Set configUSE_MPU_WRAPPERS_V1 to 1 to use MPU wrappers v1. */
85 #ifndef configUSE_MPU_WRAPPERS_V1
86 #define configUSE_MPU_WRAPPERS_V1 0
89 /* Set configENABLE_ACCESS_CONTROL_LIST to 1 to enable access control list support. */
90 #ifndef configENABLE_ACCESS_CONTROL_LIST
91 #define configENABLE_ACCESS_CONTROL_LIST 0
94 /* Set default value of configNUMBER_OF_CORES to 1 to use single core FreeRTOS. */
95 #ifndef configNUMBER_OF_CORES
96 #define configNUMBER_OF_CORES 1
99 /* Basic FreeRTOS definitions. */
100 #include "projdefs.h"
102 /* Definitions specific to the port being used. */
103 #include "portable.h"
105 /* Must be defaulted before configUSE_NEWLIB_REENTRANT is used below. */
106 #ifndef configUSE_NEWLIB_REENTRANT
107 #define configUSE_NEWLIB_REENTRANT 0
110 /* Required if struct _reent is used. */
111 #if ( configUSE_NEWLIB_REENTRANT == 1 )
113 #include "newlib-freertos.h"
115 #endif /* if ( configUSE_NEWLIB_REENTRANT == 1 ) */
117 /* Must be defaulted before configUSE_PICOLIBC_TLS is used below. */
118 #ifndef configUSE_PICOLIBC_TLS
119 #define configUSE_PICOLIBC_TLS 0
122 #if ( configUSE_PICOLIBC_TLS == 1 )
124 #include "picolibc-freertos.h"
126 #endif /* if ( configUSE_PICOLIBC_TLS == 1 ) */
128 #ifndef configUSE_C_RUNTIME_TLS_SUPPORT
129 #define configUSE_C_RUNTIME_TLS_SUPPORT 0
132 #if ( configUSE_C_RUNTIME_TLS_SUPPORT == 1 )
134 #ifndef configTLS_BLOCK_TYPE
135 #error Missing definition: configTLS_BLOCK_TYPE must be defined in FreeRTOSConfig.h when configUSE_C_RUNTIME_TLS_SUPPORT is set to 1.
138 #ifndef configINIT_TLS_BLOCK
139 #error Missing definition: configINIT_TLS_BLOCK must be defined in FreeRTOSConfig.h when configUSE_C_RUNTIME_TLS_SUPPORT is set to 1.
142 #ifndef configSET_TLS_BLOCK
143 #error Missing definition: configSET_TLS_BLOCK must be defined in FreeRTOSConfig.h when configUSE_C_RUNTIME_TLS_SUPPORT is set to 1.
146 #ifndef configDEINIT_TLS_BLOCK
147 #error Missing definition: configDEINIT_TLS_BLOCK must be defined in FreeRTOSConfig.h when configUSE_C_RUNTIME_TLS_SUPPORT is set to 1.
149 #endif /* if ( configUSE_C_RUNTIME_TLS_SUPPORT == 1 ) */
152 * Check all the required application specific macros have been defined.
153 * These macros are application specific and (as downloaded) are defined
154 * within FreeRTOSConfig.h.
157 #ifndef configMINIMAL_STACK_SIZE
158 #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.
161 #ifndef configMAX_PRIORITIES
162 #error Missing definition: configMAX_PRIORITIES must be defined in FreeRTOSConfig.h. See the Configuration section of the FreeRTOS API documentation for details.
165 #if configMAX_PRIORITIES < 1
166 #error configMAX_PRIORITIES must be defined to be greater than or equal to 1.
169 #ifndef configUSE_PREEMPTION
170 #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.
173 #ifndef configUSE_IDLE_HOOK
174 #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.
177 #if ( configNUMBER_OF_CORES > 1 )
178 #ifndef configUSE_PASSIVE_IDLE_HOOK
179 #error Missing definition: configUSE_PASSIVE_IDLE_HOOK must be defined in FreeRTOSConfig.h as either 1 or 0. See the Configuration section of the FreeRTOS API documentation for details.
183 #ifndef configUSE_TICK_HOOK
184 #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.
187 #if ( ( configTICK_TYPE_WIDTH_IN_BITS != TICK_TYPE_WIDTH_16_BITS ) && \
188 ( configTICK_TYPE_WIDTH_IN_BITS != TICK_TYPE_WIDTH_32_BITS ) && \
189 ( configTICK_TYPE_WIDTH_IN_BITS != TICK_TYPE_WIDTH_64_BITS ) )
190 #error Macro configTICK_TYPE_WIDTH_IN_BITS is defined to incorrect value. See the Configuration section of the FreeRTOS API documentation for details.
193 #ifndef configUSE_CO_ROUTINES
194 #define configUSE_CO_ROUTINES 0
197 #ifndef INCLUDE_vTaskPrioritySet
198 #define INCLUDE_vTaskPrioritySet 0
201 #ifndef INCLUDE_uxTaskPriorityGet
202 #define INCLUDE_uxTaskPriorityGet 0
205 #ifndef INCLUDE_vTaskDelete
206 #define INCLUDE_vTaskDelete 0
209 #ifndef INCLUDE_vTaskSuspend
210 #define INCLUDE_vTaskSuspend 0
213 #ifdef INCLUDE_xTaskDelayUntil
214 #ifdef INCLUDE_vTaskDelayUntil
216 /* INCLUDE_vTaskDelayUntil was replaced by INCLUDE_xTaskDelayUntil. Backward
217 * compatibility is maintained if only one or the other is defined, but
218 * there is a conflict if both are defined. */
219 #error INCLUDE_vTaskDelayUntil and INCLUDE_xTaskDelayUntil are both defined. INCLUDE_vTaskDelayUntil is no longer required and should be removed
223 #ifndef INCLUDE_xTaskDelayUntil
224 #ifdef INCLUDE_vTaskDelayUntil
226 /* If INCLUDE_vTaskDelayUntil is set but INCLUDE_xTaskDelayUntil is not then
227 * the project's FreeRTOSConfig.h probably pre-dates the introduction of
228 * xTaskDelayUntil and setting INCLUDE_xTaskDelayUntil to whatever
229 * INCLUDE_vTaskDelayUntil is set to will ensure backward compatibility.
231 #define INCLUDE_xTaskDelayUntil INCLUDE_vTaskDelayUntil
235 #ifndef INCLUDE_xTaskDelayUntil
236 #define INCLUDE_xTaskDelayUntil 0
239 #ifndef INCLUDE_vTaskDelay
240 #define INCLUDE_vTaskDelay 0
243 #ifndef INCLUDE_xTaskGetIdleTaskHandle
244 #define INCLUDE_xTaskGetIdleTaskHandle 0
247 #ifndef INCLUDE_xTaskAbortDelay
248 #define INCLUDE_xTaskAbortDelay 0
251 #ifndef INCLUDE_xQueueGetMutexHolder
252 #define INCLUDE_xQueueGetMutexHolder 0
255 #ifndef INCLUDE_xSemaphoreGetMutexHolder
256 #define INCLUDE_xSemaphoreGetMutexHolder INCLUDE_xQueueGetMutexHolder
259 #ifndef INCLUDE_xTaskGetHandle
260 #define INCLUDE_xTaskGetHandle 0
263 #ifndef INCLUDE_uxTaskGetStackHighWaterMark
264 #define INCLUDE_uxTaskGetStackHighWaterMark 0
267 #ifndef INCLUDE_uxTaskGetStackHighWaterMark2
268 #define INCLUDE_uxTaskGetStackHighWaterMark2 0
271 #ifndef INCLUDE_eTaskGetState
272 #define INCLUDE_eTaskGetState 0
275 #ifndef INCLUDE_xTaskResumeFromISR
276 #define INCLUDE_xTaskResumeFromISR 1
279 #ifndef INCLUDE_xTimerPendFunctionCall
280 #define INCLUDE_xTimerPendFunctionCall 0
283 #ifndef INCLUDE_xTaskGetSchedulerState
284 #define INCLUDE_xTaskGetSchedulerState 0
287 #ifndef INCLUDE_xTaskGetCurrentTaskHandle
288 #define INCLUDE_xTaskGetCurrentTaskHandle 1
291 #if configUSE_CO_ROUTINES != 0
292 #ifndef configMAX_CO_ROUTINE_PRIORITIES
293 #error configMAX_CO_ROUTINE_PRIORITIES must be greater than or equal to 1.
297 #ifndef configUSE_DAEMON_TASK_STARTUP_HOOK
298 #define configUSE_DAEMON_TASK_STARTUP_HOOK 0
301 #ifndef configUSE_APPLICATION_TASK_TAG
302 #define configUSE_APPLICATION_TASK_TAG 0
305 #ifndef configNUM_THREAD_LOCAL_STORAGE_POINTERS
306 #define configNUM_THREAD_LOCAL_STORAGE_POINTERS 0
309 #ifndef configUSE_RECURSIVE_MUTEXES
310 #define configUSE_RECURSIVE_MUTEXES 0
313 #ifndef configUSE_MUTEXES
314 #define configUSE_MUTEXES 0
317 #ifndef configUSE_TIMERS
318 #define configUSE_TIMERS 0
321 #ifndef configUSE_COUNTING_SEMAPHORES
322 #define configUSE_COUNTING_SEMAPHORES 0
325 #ifndef configUSE_TASK_PREEMPTION_DISABLE
326 #define configUSE_TASK_PREEMPTION_DISABLE 0
329 #ifndef configUSE_ALTERNATIVE_API
330 #define configUSE_ALTERNATIVE_API 0
333 #ifndef portCRITICAL_NESTING_IN_TCB
334 #define portCRITICAL_NESTING_IN_TCB 0
337 #ifndef configMAX_TASK_NAME_LEN
338 #define configMAX_TASK_NAME_LEN 16
341 #ifndef configIDLE_SHOULD_YIELD
342 #define configIDLE_SHOULD_YIELD 1
345 #if configMAX_TASK_NAME_LEN < 1
346 #error configMAX_TASK_NAME_LEN must be set to a minimum of 1 in FreeRTOSConfig.h
350 #define configASSERT( x )
351 #define configASSERT_DEFINED 0
353 #define configASSERT_DEFINED 1
356 /* configPRECONDITION should be defined as configASSERT.
357 * The CBMC proofs need a way to track assumptions and assertions.
358 * A configPRECONDITION statement should express an implicit invariant or
359 * assumption made. A configASSERT statement should express an invariant that must
360 * hold explicit before calling the code. */
361 #ifndef configPRECONDITION
362 #define configPRECONDITION( X ) configASSERT( X )
363 #define configPRECONDITION_DEFINED 0
365 #define configPRECONDITION_DEFINED 1
368 #ifndef portMEMORY_BARRIER
369 #define portMEMORY_BARRIER()
372 #ifndef portSOFTWARE_BARRIER
373 #define portSOFTWARE_BARRIER()
376 #ifndef configRUN_MULTIPLE_PRIORITIES
377 #define configRUN_MULTIPLE_PRIORITIES 0
380 #ifndef portGET_CORE_ID
382 #if ( configNUMBER_OF_CORES == 1 )
383 #define portGET_CORE_ID() 0
385 #error configNUMBER_OF_CORES is set to more than 1 then portGET_CORE_ID must also be defined.
386 #endif /* configNUMBER_OF_CORES */
388 #endif /* portGET_CORE_ID */
390 #ifndef portYIELD_CORE
392 #if ( configNUMBER_OF_CORES == 1 )
393 #define portYIELD_CORE( x ) portYIELD()
395 #error configNUMBER_OF_CORES is set to more than 1 then portYIELD_CORE must also be defined.
396 #endif /* configNUMBER_OF_CORES */
398 #endif /* portYIELD_CORE */
400 #ifndef portSET_INTERRUPT_MASK
402 #if ( configNUMBER_OF_CORES > 1 )
403 #error portSET_INTERRUPT_MASK is required in SMP
406 #endif /* portSET_INTERRUPT_MASK */
408 #ifndef portCLEAR_INTERRUPT_MASK
410 #if ( configNUMBER_OF_CORES > 1 )
411 #error portCLEAR_INTERRUPT_MASK is required in SMP
414 #endif /* portCLEAR_INTERRUPT_MASK */
416 #ifndef portRELEASE_TASK_LOCK
418 #if ( configNUMBER_OF_CORES == 1 )
419 #define portRELEASE_TASK_LOCK()
421 #error portRELEASE_TASK_LOCK is required in SMP
424 #endif /* portRELEASE_TASK_LOCK */
426 #ifndef portGET_TASK_LOCK
428 #if ( configNUMBER_OF_CORES == 1 )
429 #define portGET_TASK_LOCK()
431 #error portGET_TASK_LOCK is required in SMP
434 #endif /* portGET_TASK_LOCK */
436 #ifndef portRELEASE_ISR_LOCK
438 #if ( configNUMBER_OF_CORES == 1 )
439 #define portRELEASE_ISR_LOCK()
441 #error portRELEASE_ISR_LOCK is required in SMP
444 #endif /* portRELEASE_ISR_LOCK */
446 #ifndef portGET_ISR_LOCK
448 #if ( configNUMBER_OF_CORES == 1 )
449 #define portGET_ISR_LOCK()
451 #error portGET_ISR_LOCK is required in SMP
454 #endif /* portGET_ISR_LOCK */
456 #ifndef portENTER_CRITICAL_FROM_ISR
458 #if ( configNUMBER_OF_CORES > 1 )
459 #error portENTER_CRITICAL_FROM_ISR is required in SMP
464 #ifndef portEXIT_CRITICAL_FROM_ISR
466 #if ( configNUMBER_OF_CORES > 1 )
467 #error portEXIT_CRITICAL_FROM_ISR is required in SMP
472 #ifndef configUSE_CORE_AFFINITY
473 #define configUSE_CORE_AFFINITY 0
474 #endif /* configUSE_CORE_AFFINITY */
476 #ifndef configUSE_PASSIVE_IDLE_HOOK
477 #define configUSE_PASSIVE_IDLE_HOOK 0
478 #endif /* configUSE_PASSIVE_IDLE_HOOK */
480 /* The timers module relies on xTaskGetSchedulerState(). */
481 #if configUSE_TIMERS == 1
483 #ifndef configTIMER_TASK_PRIORITY
484 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_PRIORITY must also be defined.
485 #endif /* configTIMER_TASK_PRIORITY */
487 #ifndef configTIMER_QUEUE_LENGTH
488 #error If configUSE_TIMERS is set to 1 then configTIMER_QUEUE_LENGTH must also be defined.
489 #endif /* configTIMER_QUEUE_LENGTH */
491 #ifndef configTIMER_TASK_STACK_DEPTH
492 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_STACK_DEPTH must also be defined.
493 #endif /* configTIMER_TASK_STACK_DEPTH */
495 #ifndef portTIMER_CALLBACK_ATTRIBUTE
496 #define portTIMER_CALLBACK_ATTRIBUTE
497 #endif /* portTIMER_CALLBACK_ATTRIBUTE */
499 #endif /* configUSE_TIMERS */
501 #ifndef portSET_INTERRUPT_MASK_FROM_ISR
502 #define portSET_INTERRUPT_MASK_FROM_ISR() 0
505 #ifndef portCLEAR_INTERRUPT_MASK_FROM_ISR
506 #define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusValue ) ( void ) ( uxSavedStatusValue )
509 #ifndef portCLEAN_UP_TCB
510 #define portCLEAN_UP_TCB( pxTCB ) ( void ) ( pxTCB )
513 #ifndef portPRE_TASK_DELETE_HOOK
514 #define portPRE_TASK_DELETE_HOOK( pvTaskToDelete, pxYieldPending )
517 #ifndef portSETUP_TCB
518 #define portSETUP_TCB( pxTCB ) ( void ) ( pxTCB )
521 #ifndef configQUEUE_REGISTRY_SIZE
522 #define configQUEUE_REGISTRY_SIZE 0U
525 #if ( configQUEUE_REGISTRY_SIZE < 1 )
526 #define vQueueAddToRegistry( xQueue, pcName )
527 #define vQueueUnregisterQueue( xQueue )
528 #define pcQueueGetName( xQueue )
531 #ifndef configUSE_MINI_LIST_ITEM
532 #define configUSE_MINI_LIST_ITEM 1
535 #ifndef portPOINTER_SIZE_TYPE
536 #define portPOINTER_SIZE_TYPE uint32_t
539 /* Remove any unused trace macros. */
542 /* Used to perform any necessary initialisation - for example, open a file
543 * into which trace is to be written. */
549 /* Use to close a trace, for example close a file into which trace has been
554 #ifndef traceTASK_SWITCHED_IN
556 /* Called after a task has been selected to run. pxCurrentTCB holds a pointer
557 * to the task control block of the selected task. */
558 #define traceTASK_SWITCHED_IN()
561 #ifndef traceINCREASE_TICK_COUNT
563 /* Called before stepping the tick count after waking from tickless idle
565 #define traceINCREASE_TICK_COUNT( x )
568 #ifndef traceLOW_POWER_IDLE_BEGIN
569 /* Called immediately before entering tickless idle. */
570 #define traceLOW_POWER_IDLE_BEGIN()
573 #ifndef traceLOW_POWER_IDLE_END
574 /* Called when returning to the Idle task after a tickless idle. */
575 #define traceLOW_POWER_IDLE_END()
578 #ifndef traceTASK_SWITCHED_OUT
580 /* Called before a task has been selected to run. pxCurrentTCB holds a pointer
581 * to the task control block of the task being switched out. */
582 #define traceTASK_SWITCHED_OUT()
585 #ifndef traceTASK_PRIORITY_INHERIT
587 /* Called when a task attempts to take a mutex that is already held by a
588 * lower priority task. pxTCBOfMutexHolder is a pointer to the TCB of the task
589 * that holds the mutex. uxInheritedPriority is the priority the mutex holder
590 * will inherit (the priority of the task that is attempting to obtain the
592 #define traceTASK_PRIORITY_INHERIT( pxTCBOfMutexHolder, uxInheritedPriority )
595 #ifndef traceTASK_PRIORITY_DISINHERIT
597 /* Called when a task releases a mutex, the holding of which had resulted in
598 * the task inheriting the priority of a higher priority task.
599 * pxTCBOfMutexHolder is a pointer to the TCB of the task that is releasing the
600 * mutex. uxOriginalPriority is the task's configured (base) priority. */
601 #define traceTASK_PRIORITY_DISINHERIT( pxTCBOfMutexHolder, uxOriginalPriority )
604 #ifndef traceBLOCKING_ON_QUEUE_RECEIVE
606 /* Task is about to block because it cannot read from a
607 * queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore
608 * upon which the read was attempted. pxCurrentTCB points to the TCB of the
609 * task that attempted the read. */
610 #define traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue )
613 #ifndef traceBLOCKING_ON_QUEUE_PEEK
615 /* Task is about to block because it cannot read from a
616 * queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore
617 * upon which the read was attempted. pxCurrentTCB points to the TCB of the
618 * task that attempted the read. */
619 #define traceBLOCKING_ON_QUEUE_PEEK( pxQueue )
622 #ifndef traceBLOCKING_ON_QUEUE_SEND
624 /* Task is about to block because it cannot write to a
625 * queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore
626 * upon which the write was attempted. pxCurrentTCB points to the TCB of the
627 * task that attempted the write. */
628 #define traceBLOCKING_ON_QUEUE_SEND( pxQueue )
631 #ifndef configCHECK_FOR_STACK_OVERFLOW
632 #define configCHECK_FOR_STACK_OVERFLOW 0
635 #ifndef configRECORD_STACK_HIGH_ADDRESS
636 #define configRECORD_STACK_HIGH_ADDRESS 0
639 #ifndef configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H
640 #define configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H 0
643 /* The following event macros are embedded in the kernel API calls. */
645 #ifndef traceMOVED_TASK_TO_READY_STATE
646 #define traceMOVED_TASK_TO_READY_STATE( pxTCB )
649 #ifndef tracePOST_MOVED_TASK_TO_READY_STATE
650 #define tracePOST_MOVED_TASK_TO_READY_STATE( pxTCB )
653 #ifndef traceMOVED_TASK_TO_DELAYED_LIST
654 #define traceMOVED_TASK_TO_DELAYED_LIST()
657 #ifndef traceMOVED_TASK_TO_OVERFLOW_DELAYED_LIST
658 #define traceMOVED_TASK_TO_OVERFLOW_DELAYED_LIST()
661 #ifndef traceQUEUE_CREATE
662 #define traceQUEUE_CREATE( pxNewQueue )
665 #ifndef traceQUEUE_CREATE_FAILED
666 #define traceQUEUE_CREATE_FAILED( ucQueueType )
669 #ifndef traceCREATE_MUTEX
670 #define traceCREATE_MUTEX( pxNewQueue )
673 #ifndef traceCREATE_MUTEX_FAILED
674 #define traceCREATE_MUTEX_FAILED()
677 #ifndef traceGIVE_MUTEX_RECURSIVE
678 #define traceGIVE_MUTEX_RECURSIVE( pxMutex )
681 #ifndef traceGIVE_MUTEX_RECURSIVE_FAILED
682 #define traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex )
685 #ifndef traceTAKE_MUTEX_RECURSIVE
686 #define traceTAKE_MUTEX_RECURSIVE( pxMutex )
689 #ifndef traceTAKE_MUTEX_RECURSIVE_FAILED
690 #define traceTAKE_MUTEX_RECURSIVE_FAILED( pxMutex )
693 #ifndef traceCREATE_COUNTING_SEMAPHORE
694 #define traceCREATE_COUNTING_SEMAPHORE()
697 #ifndef traceCREATE_COUNTING_SEMAPHORE_FAILED
698 #define traceCREATE_COUNTING_SEMAPHORE_FAILED()
701 #ifndef traceQUEUE_SET_SEND
702 #define traceQUEUE_SET_SEND traceQUEUE_SEND
705 #ifndef traceQUEUE_SEND
706 #define traceQUEUE_SEND( pxQueue )
709 #ifndef traceQUEUE_SEND_FAILED
710 #define traceQUEUE_SEND_FAILED( pxQueue )
713 #ifndef traceQUEUE_RECEIVE
714 #define traceQUEUE_RECEIVE( pxQueue )
717 #ifndef traceQUEUE_PEEK
718 #define traceQUEUE_PEEK( pxQueue )
721 #ifndef traceQUEUE_PEEK_FAILED
722 #define traceQUEUE_PEEK_FAILED( pxQueue )
725 #ifndef traceQUEUE_PEEK_FROM_ISR
726 #define traceQUEUE_PEEK_FROM_ISR( pxQueue )
729 #ifndef traceQUEUE_RECEIVE_FAILED
730 #define traceQUEUE_RECEIVE_FAILED( pxQueue )
733 #ifndef traceQUEUE_SEND_FROM_ISR
734 #define traceQUEUE_SEND_FROM_ISR( pxQueue )
737 #ifndef traceQUEUE_SEND_FROM_ISR_FAILED
738 #define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue )
741 #ifndef traceQUEUE_RECEIVE_FROM_ISR
742 #define traceQUEUE_RECEIVE_FROM_ISR( pxQueue )
745 #ifndef traceQUEUE_RECEIVE_FROM_ISR_FAILED
746 #define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue )
749 #ifndef traceQUEUE_PEEK_FROM_ISR_FAILED
750 #define traceQUEUE_PEEK_FROM_ISR_FAILED( pxQueue )
753 #ifndef traceQUEUE_DELETE
754 #define traceQUEUE_DELETE( pxQueue )
757 #ifndef traceTASK_CREATE
758 #define traceTASK_CREATE( pxNewTCB )
761 #ifndef traceTASK_CREATE_FAILED
762 #define traceTASK_CREATE_FAILED()
765 #ifndef traceTASK_DELETE
766 #define traceTASK_DELETE( pxTaskToDelete )
769 #ifndef traceTASK_DELAY_UNTIL
770 #define traceTASK_DELAY_UNTIL( x )
773 #ifndef traceTASK_DELAY
774 #define traceTASK_DELAY()
777 #ifndef traceTASK_PRIORITY_SET
778 #define traceTASK_PRIORITY_SET( pxTask, uxNewPriority )
781 #ifndef traceTASK_SUSPEND
782 #define traceTASK_SUSPEND( pxTaskToSuspend )
785 #ifndef traceTASK_RESUME
786 #define traceTASK_RESUME( pxTaskToResume )
789 #ifndef traceTASK_RESUME_FROM_ISR
790 #define traceTASK_RESUME_FROM_ISR( pxTaskToResume )
793 #ifndef traceTASK_INCREMENT_TICK
794 #define traceTASK_INCREMENT_TICK( xTickCount )
797 #ifndef traceTIMER_CREATE
798 #define traceTIMER_CREATE( pxNewTimer )
801 #ifndef traceTIMER_CREATE_FAILED
802 #define traceTIMER_CREATE_FAILED()
805 #ifndef traceTIMER_COMMAND_SEND
806 #define traceTIMER_COMMAND_SEND( xTimer, xMessageID, xMessageValueValue, xReturn )
809 #ifndef traceTIMER_EXPIRED
810 #define traceTIMER_EXPIRED( pxTimer )
813 #ifndef traceTIMER_COMMAND_RECEIVED
814 #define traceTIMER_COMMAND_RECEIVED( pxTimer, xMessageID, xMessageValue )
818 #define traceMALLOC( pvAddress, uiSize )
822 #define traceFREE( pvAddress, uiSize )
825 #ifndef traceEVENT_GROUP_CREATE
826 #define traceEVENT_GROUP_CREATE( xEventGroup )
829 #ifndef traceEVENT_GROUP_CREATE_FAILED
830 #define traceEVENT_GROUP_CREATE_FAILED()
833 #ifndef traceEVENT_GROUP_SYNC_BLOCK
834 #define traceEVENT_GROUP_SYNC_BLOCK( xEventGroup, uxBitsToSet, uxBitsToWaitFor )
837 #ifndef traceEVENT_GROUP_SYNC_END
838 #define traceEVENT_GROUP_SYNC_END( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) ( xTimeoutOccurred )
841 #ifndef traceEVENT_GROUP_WAIT_BITS_BLOCK
842 #define traceEVENT_GROUP_WAIT_BITS_BLOCK( xEventGroup, uxBitsToWaitFor )
845 #ifndef traceEVENT_GROUP_WAIT_BITS_END
846 #define traceEVENT_GROUP_WAIT_BITS_END( xEventGroup, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) ( xTimeoutOccurred )
849 #ifndef traceEVENT_GROUP_CLEAR_BITS
850 #define traceEVENT_GROUP_CLEAR_BITS( xEventGroup, uxBitsToClear )
853 #ifndef traceEVENT_GROUP_CLEAR_BITS_FROM_ISR
854 #define traceEVENT_GROUP_CLEAR_BITS_FROM_ISR( xEventGroup, uxBitsToClear )
857 #ifndef traceEVENT_GROUP_SET_BITS
858 #define traceEVENT_GROUP_SET_BITS( xEventGroup, uxBitsToSet )
861 #ifndef traceEVENT_GROUP_SET_BITS_FROM_ISR
862 #define traceEVENT_GROUP_SET_BITS_FROM_ISR( xEventGroup, uxBitsToSet )
865 #ifndef traceEVENT_GROUP_DELETE
866 #define traceEVENT_GROUP_DELETE( xEventGroup )
869 #ifndef tracePEND_FUNC_CALL
870 #define tracePEND_FUNC_CALL( xFunctionToPend, pvParameter1, ulParameter2, ret )
873 #ifndef tracePEND_FUNC_CALL_FROM_ISR
874 #define tracePEND_FUNC_CALL_FROM_ISR( xFunctionToPend, pvParameter1, ulParameter2, ret )
877 #ifndef traceQUEUE_REGISTRY_ADD
878 #define traceQUEUE_REGISTRY_ADD( xQueue, pcQueueName )
881 #ifndef traceTASK_NOTIFY_TAKE_BLOCK
882 #define traceTASK_NOTIFY_TAKE_BLOCK( uxIndexToWait )
885 #ifndef traceTASK_NOTIFY_TAKE
886 #define traceTASK_NOTIFY_TAKE( uxIndexToWait )
889 #ifndef traceTASK_NOTIFY_WAIT_BLOCK
890 #define traceTASK_NOTIFY_WAIT_BLOCK( uxIndexToWait )
893 #ifndef traceTASK_NOTIFY_WAIT
894 #define traceTASK_NOTIFY_WAIT( uxIndexToWait )
897 #ifndef traceTASK_NOTIFY
898 #define traceTASK_NOTIFY( uxIndexToNotify )
901 #ifndef traceTASK_NOTIFY_FROM_ISR
902 #define traceTASK_NOTIFY_FROM_ISR( uxIndexToNotify )
905 #ifndef traceTASK_NOTIFY_GIVE_FROM_ISR
906 #define traceTASK_NOTIFY_GIVE_FROM_ISR( uxIndexToNotify )
909 #ifndef traceISR_EXIT_TO_SCHEDULER
910 #define traceISR_EXIT_TO_SCHEDULER()
913 #ifndef traceISR_EXIT
914 #define traceISR_EXIT()
917 #ifndef traceISR_ENTER
918 #define traceISR_ENTER()
921 #ifndef traceSTREAM_BUFFER_CREATE_FAILED
922 #define traceSTREAM_BUFFER_CREATE_FAILED( xIsMessageBuffer )
925 #ifndef traceSTREAM_BUFFER_CREATE_STATIC_FAILED
926 #define traceSTREAM_BUFFER_CREATE_STATIC_FAILED( xReturn, xIsMessageBuffer )
929 #ifndef traceSTREAM_BUFFER_CREATE
930 #define traceSTREAM_BUFFER_CREATE( pxStreamBuffer, xIsMessageBuffer )
933 #ifndef traceSTREAM_BUFFER_DELETE
934 #define traceSTREAM_BUFFER_DELETE( xStreamBuffer )
937 #ifndef traceSTREAM_BUFFER_RESET
938 #define traceSTREAM_BUFFER_RESET( xStreamBuffer )
941 #ifndef traceBLOCKING_ON_STREAM_BUFFER_SEND
942 #define traceBLOCKING_ON_STREAM_BUFFER_SEND( xStreamBuffer )
945 #ifndef traceSTREAM_BUFFER_SEND
946 #define traceSTREAM_BUFFER_SEND( xStreamBuffer, xBytesSent )
949 #ifndef traceSTREAM_BUFFER_SEND_FAILED
950 #define traceSTREAM_BUFFER_SEND_FAILED( xStreamBuffer )
953 #ifndef traceSTREAM_BUFFER_SEND_FROM_ISR
954 #define traceSTREAM_BUFFER_SEND_FROM_ISR( xStreamBuffer, xBytesSent )
957 #ifndef traceBLOCKING_ON_STREAM_BUFFER_RECEIVE
958 #define traceBLOCKING_ON_STREAM_BUFFER_RECEIVE( xStreamBuffer )
961 #ifndef traceSTREAM_BUFFER_RECEIVE
962 #define traceSTREAM_BUFFER_RECEIVE( xStreamBuffer, xReceivedLength )
965 #ifndef traceSTREAM_BUFFER_RECEIVE_FAILED
966 #define traceSTREAM_BUFFER_RECEIVE_FAILED( xStreamBuffer )
969 #ifndef traceSTREAM_BUFFER_RECEIVE_FROM_ISR
970 #define traceSTREAM_BUFFER_RECEIVE_FROM_ISR( xStreamBuffer, xReceivedLength )
973 #ifndef traceENTER_xEventGroupCreateStatic
974 #define traceENTER_xEventGroupCreateStatic( pxEventGroupBuffer )
977 #ifndef traceRETURN_xEventGroupCreateStatic
978 #define traceRETURN_xEventGroupCreateStatic( pxEventBits )
981 #ifndef traceENTER_xEventGroupCreate
982 #define traceENTER_xEventGroupCreate()
985 #ifndef traceRETURN_xEventGroupCreate
986 #define traceRETURN_xEventGroupCreate( pxEventBits )
989 #ifndef traceENTER_xEventGroupSync
990 #define traceENTER_xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait )
993 #ifndef traceRETURN_xEventGroupSync
994 #define traceRETURN_xEventGroupSync( uxReturn )
997 #ifndef traceENTER_xEventGroupWaitBits
998 #define traceENTER_xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait )
1001 #ifndef traceRETURN_xEventGroupWaitBits
1002 #define traceRETURN_xEventGroupWaitBits( uxReturn )
1005 #ifndef traceENTER_xEventGroupClearBits
1006 #define traceENTER_xEventGroupClearBits( xEventGroup, uxBitsToClear )
1009 #ifndef traceRETURN_xEventGroupClearBits
1010 #define traceRETURN_xEventGroupClearBits( uxReturn )
1013 #ifndef traceENTER_xEventGroupClearBitsFromISR
1014 #define traceENTER_xEventGroupClearBitsFromISR( xEventGroup, uxBitsToClear )
1017 #ifndef traceRETURN_xEventGroupClearBitsFromISR
1018 #define traceRETURN_xEventGroupClearBitsFromISR( xReturn )
1021 #ifndef traceENTER_xEventGroupGetBitsFromISR
1022 #define traceENTER_xEventGroupGetBitsFromISR( xEventGroup )
1025 #ifndef traceRETURN_xEventGroupGetBitsFromISR
1026 #define traceRETURN_xEventGroupGetBitsFromISR( uxReturn )
1029 #ifndef traceENTER_xEventGroupSetBits
1030 #define traceENTER_xEventGroupSetBits( xEventGroup, uxBitsToSet )
1033 #ifndef traceRETURN_xEventGroupSetBits
1034 #define traceRETURN_xEventGroupSetBits( uxEventBits )
1037 #ifndef traceENTER_vEventGroupDelete
1038 #define traceENTER_vEventGroupDelete( xEventGroup )
1041 #ifndef traceRETURN_vEventGroupDelete
1042 #define traceRETURN_vEventGroupDelete()
1045 #ifndef traceENTER_xEventGroupGetStaticBuffer
1046 #define traceENTER_xEventGroupGetStaticBuffer( xEventGroup, ppxEventGroupBuffer )
1049 #ifndef traceRETURN_xEventGroupGetStaticBuffer
1050 #define traceRETURN_xEventGroupGetStaticBuffer( xReturn )
1053 #ifndef traceENTER_vEventGroupSetBitsCallback
1054 #define traceENTER_vEventGroupSetBitsCallback( pvEventGroup, ulBitsToSet )
1057 #ifndef traceRETURN_vEventGroupSetBitsCallback
1058 #define traceRETURN_vEventGroupSetBitsCallback()
1061 #ifndef traceENTER_vEventGroupClearBitsCallback
1062 #define traceENTER_vEventGroupClearBitsCallback( pvEventGroup, ulBitsToClear )
1065 #ifndef traceRETURN_vEventGroupClearBitsCallback
1066 #define traceRETURN_vEventGroupClearBitsCallback()
1069 #ifndef traceENTER_xEventGroupSetBitsFromISR
1070 #define traceENTER_xEventGroupSetBitsFromISR( xEventGroup, uxBitsToSet, pxHigherPriorityTaskWoken )
1073 #ifndef traceRETURN_xEventGroupSetBitsFromISR
1074 #define traceRETURN_xEventGroupSetBitsFromISR( xReturn )
1077 #ifndef traceENTER_uxEventGroupGetNumber
1078 #define traceENTER_uxEventGroupGetNumber( xEventGroup )
1081 #ifndef traceRETURN_uxEventGroupGetNumber
1082 #define traceRETURN_uxEventGroupGetNumber( xReturn )
1085 #ifndef traceENTER_vEventGroupSetNumber
1086 #define traceENTER_vEventGroupSetNumber( xEventGroup, uxEventGroupNumber )
1089 #ifndef traceRETURN_vEventGroupSetNumber
1090 #define traceRETURN_vEventGroupSetNumber()
1093 #ifndef traceENTER_xQueueGenericReset
1094 #define traceENTER_xQueueGenericReset( xQueue, xNewQueue )
1097 #ifndef traceRETURN_xQueueGenericReset
1098 #define traceRETURN_xQueueGenericReset( xReturn )
1101 #ifndef traceENTER_xQueueGenericCreateStatic
1102 #define traceENTER_xQueueGenericCreateStatic( uxQueueLength, uxItemSize, pucQueueStorage, pxStaticQueue, ucQueueType )
1105 #ifndef traceRETURN_xQueueGenericCreateStatic
1106 #define traceRETURN_xQueueGenericCreateStatic( pxNewQueue )
1109 #ifndef traceENTER_xQueueGenericGetStaticBuffers
1110 #define traceENTER_xQueueGenericGetStaticBuffers( xQueue, ppucQueueStorage, ppxStaticQueue )
1113 #ifndef traceRETURN_xQueueGenericGetStaticBuffers
1114 #define traceRETURN_xQueueGenericGetStaticBuffers( xReturn )
1117 #ifndef traceENTER_xQueueGenericCreate
1118 #define traceENTER_xQueueGenericCreate( uxQueueLength, uxItemSize, ucQueueType )
1121 #ifndef traceRETURN_xQueueGenericCreate
1122 #define traceRETURN_xQueueGenericCreate( pxNewQueue )
1125 #ifndef traceENTER_xQueueCreateMutex
1126 #define traceENTER_xQueueCreateMutex( ucQueueType )
1129 #ifndef traceRETURN_xQueueCreateMutex
1130 #define traceRETURN_xQueueCreateMutex( xNewQueue )
1133 #ifndef traceENTER_xQueueCreateMutexStatic
1134 #define traceENTER_xQueueCreateMutexStatic( ucQueueType, pxStaticQueue )
1137 #ifndef traceRETURN_xQueueCreateMutexStatic
1138 #define traceRETURN_xQueueCreateMutexStatic( xNewQueue )
1141 #ifndef traceENTER_xQueueGetMutexHolder
1142 #define traceENTER_xQueueGetMutexHolder( xSemaphore )
1145 #ifndef traceRETURN_xQueueGetMutexHolder
1146 #define traceRETURN_xQueueGetMutexHolder( pxReturn )
1149 #ifndef traceENTER_xQueueGetMutexHolderFromISR
1150 #define traceENTER_xQueueGetMutexHolderFromISR( xSemaphore )
1153 #ifndef traceRETURN_xQueueGetMutexHolderFromISR
1154 #define traceRETURN_xQueueGetMutexHolderFromISR( pxReturn )
1157 #ifndef traceENTER_xQueueGiveMutexRecursive
1158 #define traceENTER_xQueueGiveMutexRecursive( xMutex )
1161 #ifndef traceRETURN_xQueueGiveMutexRecursive
1162 #define traceRETURN_xQueueGiveMutexRecursive( xReturn )
1165 #ifndef traceENTER_xQueueTakeMutexRecursive
1166 #define traceENTER_xQueueTakeMutexRecursive( xMutex, xTicksToWait )
1169 #ifndef traceRETURN_xQueueTakeMutexRecursive
1170 #define traceRETURN_xQueueTakeMutexRecursive( xReturn )
1173 #ifndef traceENTER_xQueueCreateCountingSemaphoreStatic
1174 #define traceENTER_xQueueCreateCountingSemaphoreStatic( uxMaxCount, uxInitialCount, pxStaticQueue )
1177 #ifndef traceRETURN_xQueueCreateCountingSemaphoreStatic
1178 #define traceRETURN_xQueueCreateCountingSemaphoreStatic( xHandle )
1181 #ifndef traceENTER_xQueueCreateCountingSemaphore
1182 #define traceENTER_xQueueCreateCountingSemaphore( uxMaxCount, uxInitialCount )
1185 #ifndef traceRETURN_xQueueCreateCountingSemaphore
1186 #define traceRETURN_xQueueCreateCountingSemaphore( xHandle )
1189 #ifndef traceENTER_xQueueGenericSend
1190 #define traceENTER_xQueueGenericSend( xQueue, pvItemToQueue, xTicksToWait, xCopyPosition )
1193 #ifndef traceRETURN_xQueueGenericSend
1194 #define traceRETURN_xQueueGenericSend( xReturn )
1197 #ifndef traceENTER_xQueueGenericSendFromISR
1198 #define traceENTER_xQueueGenericSendFromISR( xQueue, pvItemToQueue, pxHigherPriorityTaskWoken, xCopyPosition )
1201 #ifndef traceRETURN_xQueueGenericSendFromISR
1202 #define traceRETURN_xQueueGenericSendFromISR( xReturn )
1205 #ifndef traceENTER_xQueueGiveFromISR
1206 #define traceENTER_xQueueGiveFromISR( xQueue, pxHigherPriorityTaskWoken )
1209 #ifndef traceRETURN_xQueueGiveFromISR
1210 #define traceRETURN_xQueueGiveFromISR( xReturn )
1213 #ifndef traceENTER_xQueueReceive
1214 #define traceENTER_xQueueReceive( xQueue, pvBuffer, xTicksToWait )
1217 #ifndef traceRETURN_xQueueReceive
1218 #define traceRETURN_xQueueReceive( xReturn )
1221 #ifndef traceENTER_xQueueSemaphoreTake
1222 #define traceENTER_xQueueSemaphoreTake( xQueue, xTicksToWait )
1225 #ifndef traceRETURN_xQueueSemaphoreTake
1226 #define traceRETURN_xQueueSemaphoreTake( xReturn )
1229 #ifndef traceENTER_xQueuePeek
1230 #define traceENTER_xQueuePeek( xQueue, pvBuffer, xTicksToWait )
1233 #ifndef traceRETURN_xQueuePeek
1234 #define traceRETURN_xQueuePeek( xReturn )
1237 #ifndef traceENTER_xQueueReceiveFromISR
1238 #define traceENTER_xQueueReceiveFromISR( xQueue, pvBuffer, pxHigherPriorityTaskWoken )
1241 #ifndef traceRETURN_xQueueReceiveFromISR
1242 #define traceRETURN_xQueueReceiveFromISR( xReturn )
1245 #ifndef traceENTER_xQueuePeekFromISR
1246 #define traceENTER_xQueuePeekFromISR( xQueue, pvBuffer )
1249 #ifndef traceRETURN_xQueuePeekFromISR
1250 #define traceRETURN_xQueuePeekFromISR( xReturn )
1253 #ifndef traceENTER_uxQueueMessagesWaiting
1254 #define traceENTER_uxQueueMessagesWaiting( xQueue )
1257 #ifndef traceRETURN_uxQueueMessagesWaiting
1258 #define traceRETURN_uxQueueMessagesWaiting( uxReturn )
1261 #ifndef traceENTER_uxQueueSpacesAvailable
1262 #define traceENTER_uxQueueSpacesAvailable( xQueue )
1265 #ifndef traceRETURN_uxQueueSpacesAvailable
1266 #define traceRETURN_uxQueueSpacesAvailable( uxReturn )
1269 #ifndef traceENTER_uxQueueMessagesWaitingFromISR
1270 #define traceENTER_uxQueueMessagesWaitingFromISR( xQueue )
1273 #ifndef traceRETURN_uxQueueMessagesWaitingFromISR
1274 #define traceRETURN_uxQueueMessagesWaitingFromISR( uxReturn )
1277 #ifndef traceENTER_vQueueDelete
1278 #define traceENTER_vQueueDelete( xQueue )
1281 #ifndef traceRETURN_vQueueDelete
1282 #define traceRETURN_vQueueDelete()
1285 #ifndef traceENTER_uxQueueGetQueueNumber
1286 #define traceENTER_uxQueueGetQueueNumber( xQueue )
1289 #ifndef traceRETURN_uxQueueGetQueueNumber
1290 #define traceRETURN_uxQueueGetQueueNumber( uxQueueNumber )
1293 #ifndef traceENTER_vQueueSetQueueNumber
1294 #define traceENTER_vQueueSetQueueNumber( xQueue, uxQueueNumber )
1297 #ifndef traceRETURN_vQueueSetQueueNumber
1298 #define traceRETURN_vQueueSetQueueNumber()
1301 #ifndef traceENTER_ucQueueGetQueueType
1302 #define traceENTER_ucQueueGetQueueType( xQueue )
1305 #ifndef traceRETURN_ucQueueGetQueueType
1306 #define traceRETURN_ucQueueGetQueueType( ucQueueType )
1309 #ifndef traceENTER_uxQueueGetQueueItemSize
1310 #define traceENTER_uxQueueGetQueueItemSize( xQueue )
1313 #ifndef traceRETURN_uxQueueGetQueueItemSize
1314 #define traceRETURN_uxQueueGetQueueItemSize( uxItemSize )
1317 #ifndef traceENTER_uxQueueGetQueueLength
1318 #define traceENTER_uxQueueGetQueueLength( xQueue )
1321 #ifndef traceRETURN_uxQueueGetQueueLength
1322 #define traceRETURN_uxQueueGetQueueLength( uxLength )
1325 #ifndef traceENTER_xQueueIsQueueEmptyFromISR
1326 #define traceENTER_xQueueIsQueueEmptyFromISR( xQueue )
1329 #ifndef traceRETURN_xQueueIsQueueEmptyFromISR
1330 #define traceRETURN_xQueueIsQueueEmptyFromISR( xReturn )
1333 #ifndef traceENTER_xQueueIsQueueFullFromISR
1334 #define traceENTER_xQueueIsQueueFullFromISR( xQueue )
1337 #ifndef traceRETURN_xQueueIsQueueFullFromISR
1338 #define traceRETURN_xQueueIsQueueFullFromISR( xReturn )
1341 #ifndef traceENTER_xQueueCRSend
1342 #define traceENTER_xQueueCRSend( xQueue, pvItemToQueue, xTicksToWait )
1345 #ifndef traceRETURN_xQueueCRSend
1346 #define traceRETURN_xQueueCRSend( xReturn )
1349 #ifndef traceENTER_xQueueCRReceive
1350 #define traceENTER_xQueueCRReceive( xQueue, pvBuffer, xTicksToWait )
1353 #ifndef traceRETURN_xQueueCRReceive
1354 #define traceRETURN_xQueueCRReceive( xReturn )
1357 #ifndef traceENTER_xQueueCRSendFromISR
1358 #define traceENTER_xQueueCRSendFromISR( xQueue, pvItemToQueue, xCoRoutinePreviouslyWoken )
1361 #ifndef traceRETURN_xQueueCRSendFromISR
1362 #define traceRETURN_xQueueCRSendFromISR( xCoRoutinePreviouslyWoken )
1365 #ifndef traceENTER_xQueueCRReceiveFromISR
1366 #define traceENTER_xQueueCRReceiveFromISR( xQueue, pvBuffer, pxCoRoutineWoken )
1369 #ifndef traceRETURN_xQueueCRReceiveFromISR
1370 #define traceRETURN_xQueueCRReceiveFromISR( xReturn )
1373 #ifndef traceENTER_vQueueAddToRegistry
1374 #define traceENTER_vQueueAddToRegistry( xQueue, pcQueueName )
1377 #ifndef traceRETURN_vQueueAddToRegistry
1378 #define traceRETURN_vQueueAddToRegistry()
1381 #ifndef traceENTER_pcQueueGetName
1382 #define traceENTER_pcQueueGetName( xQueue )
1385 #ifndef traceRETURN_pcQueueGetName
1386 #define traceRETURN_pcQueueGetName( pcReturn )
1389 #ifndef traceENTER_vQueueUnregisterQueue
1390 #define traceENTER_vQueueUnregisterQueue( xQueue )
1393 #ifndef traceRETURN_vQueueUnregisterQueue
1394 #define traceRETURN_vQueueUnregisterQueue()
1397 #ifndef traceENTER_vQueueWaitForMessageRestricted
1398 #define traceENTER_vQueueWaitForMessageRestricted( xQueue, xTicksToWait, xWaitIndefinitely )
1401 #ifndef traceRETURN_vQueueWaitForMessageRestricted
1402 #define traceRETURN_vQueueWaitForMessageRestricted()
1405 #ifndef traceENTER_xQueueCreateSet
1406 #define traceENTER_xQueueCreateSet( uxEventQueueLength )
1409 #ifndef traceRETURN_xQueueCreateSet
1410 #define traceRETURN_xQueueCreateSet( pxQueue )
1413 #ifndef traceENTER_xQueueAddToSet
1414 #define traceENTER_xQueueAddToSet( xQueueOrSemaphore, xQueueSet )
1417 #ifndef traceRETURN_xQueueAddToSet
1418 #define traceRETURN_xQueueAddToSet( xReturn )
1421 #ifndef traceENTER_xQueueRemoveFromSet
1422 #define traceENTER_xQueueRemoveFromSet( xQueueOrSemaphore, xQueueSet )
1425 #ifndef traceRETURN_xQueueRemoveFromSet
1426 #define traceRETURN_xQueueRemoveFromSet( xReturn )
1429 #ifndef traceENTER_xQueueSelectFromSet
1430 #define traceENTER_xQueueSelectFromSet( xQueueSet, xTicksToWait )
1433 #ifndef traceRETURN_xQueueSelectFromSet
1434 #define traceRETURN_xQueueSelectFromSet( xReturn )
1437 #ifndef traceENTER_xQueueSelectFromSetFromISR
1438 #define traceENTER_xQueueSelectFromSetFromISR( xQueueSet )
1441 #ifndef traceRETURN_xQueueSelectFromSetFromISR
1442 #define traceRETURN_xQueueSelectFromSetFromISR( xReturn )
1445 #ifndef traceENTER_xTimerCreateTimerTask
1446 #define traceENTER_xTimerCreateTimerTask()
1449 #ifndef traceRETURN_xTimerCreateTimerTask
1450 #define traceRETURN_xTimerCreateTimerTask( xReturn )
1453 #ifndef traceENTER_xTimerCreate
1454 #define traceENTER_xTimerCreate( pcTimerName, xTimerPeriodInTicks, xAutoReload, pvTimerID, pxCallbackFunction )
1457 #ifndef traceRETURN_xTimerCreate
1458 #define traceRETURN_xTimerCreate( pxNewTimer )
1461 #ifndef traceENTER_xTimerCreateStatic
1462 #define traceENTER_xTimerCreateStatic( pcTimerName, xTimerPeriodInTicks, xAutoReload, pvTimerID, pxCallbackFunction, pxTimerBuffer )
1465 #ifndef traceRETURN_xTimerCreateStatic
1466 #define traceRETURN_xTimerCreateStatic( pxNewTimer )
1469 #ifndef traceENTER_xTimerGenericCommandFromTask
1470 #define traceENTER_xTimerGenericCommandFromTask( xTimer, xCommandID, xOptionalValue, pxHigherPriorityTaskWoken, xTicksToWait )
1473 #ifndef traceRETURN_xTimerGenericCommandFromTask
1474 #define traceRETURN_xTimerGenericCommandFromTask( xReturn )
1477 #ifndef traceENTER_xTimerGenericCommandFromISR
1478 #define traceENTER_xTimerGenericCommandFromISR( xTimer, xCommandID, xOptionalValue, pxHigherPriorityTaskWoken, xTicksToWait )
1481 #ifndef traceRETURN_xTimerGenericCommandFromISR
1482 #define traceRETURN_xTimerGenericCommandFromISR( xReturn )
1485 #ifndef traceENTER_xTimerGetTimerDaemonTaskHandle
1486 #define traceENTER_xTimerGetTimerDaemonTaskHandle()
1489 #ifndef traceRETURN_xTimerGetTimerDaemonTaskHandle
1490 #define traceRETURN_xTimerGetTimerDaemonTaskHandle( xTimerTaskHandle )
1493 #ifndef traceENTER_xTimerGetPeriod
1494 #define traceENTER_xTimerGetPeriod( xTimer )
1497 #ifndef traceRETURN_xTimerGetPeriod
1498 #define traceRETURN_xTimerGetPeriod( xTimerPeriodInTicks )
1501 #ifndef traceENTER_vTimerSetReloadMode
1502 #define traceENTER_vTimerSetReloadMode( xTimer, xAutoReload )
1505 #ifndef traceRETURN_vTimerSetReloadMode
1506 #define traceRETURN_vTimerSetReloadMode()
1509 #ifndef traceENTER_xTimerGetReloadMode
1510 #define traceENTER_xTimerGetReloadMode( xTimer )
1513 #ifndef traceRETURN_xTimerGetReloadMode
1514 #define traceRETURN_xTimerGetReloadMode( xReturn )
1517 #ifndef traceENTER_uxTimerGetReloadMode
1518 #define traceENTER_uxTimerGetReloadMode( xTimer )
1521 #ifndef traceRETURN_uxTimerGetReloadMode
1522 #define traceRETURN_uxTimerGetReloadMode( uxReturn )
1525 #ifndef traceENTER_xTimerGetExpiryTime
1526 #define traceENTER_xTimerGetExpiryTime( xTimer )
1529 #ifndef traceRETURN_xTimerGetExpiryTime
1530 #define traceRETURN_xTimerGetExpiryTime( xReturn )
1533 #ifndef traceENTER_xTimerGetStaticBuffer
1534 #define traceENTER_xTimerGetStaticBuffer( xTimer, ppxTimerBuffer )
1537 #ifndef traceRETURN_xTimerGetStaticBuffer
1538 #define traceRETURN_xTimerGetStaticBuffer( xReturn )
1541 #ifndef traceENTER_pcTimerGetName
1542 #define traceENTER_pcTimerGetName( xTimer )
1545 #ifndef traceRETURN_pcTimerGetName
1546 #define traceRETURN_pcTimerGetName( pcTimerName )
1549 #ifndef traceENTER_xTimerIsTimerActive
1550 #define traceENTER_xTimerIsTimerActive( xTimer )
1553 #ifndef traceRETURN_xTimerIsTimerActive
1554 #define traceRETURN_xTimerIsTimerActive( xReturn )
1557 #ifndef traceENTER_pvTimerGetTimerID
1558 #define traceENTER_pvTimerGetTimerID( xTimer )
1561 #ifndef traceRETURN_pvTimerGetTimerID
1562 #define traceRETURN_pvTimerGetTimerID( pvReturn )
1565 #ifndef traceENTER_vTimerSetTimerID
1566 #define traceENTER_vTimerSetTimerID( xTimer, pvNewID )
1569 #ifndef traceRETURN_vTimerSetTimerID
1570 #define traceRETURN_vTimerSetTimerID()
1573 #ifndef traceENTER_xTimerPendFunctionCallFromISR
1574 #define traceENTER_xTimerPendFunctionCallFromISR( xFunctionToPend, pvParameter1, ulParameter2, pxHigherPriorityTaskWoken )
1577 #ifndef traceRETURN_xTimerPendFunctionCallFromISR
1578 #define traceRETURN_xTimerPendFunctionCallFromISR( xReturn )
1581 #ifndef traceENTER_xTimerPendFunctionCall
1582 #define traceENTER_xTimerPendFunctionCall( xFunctionToPend, pvParameter1, ulParameter2, xTicksToWait )
1585 #ifndef traceRETURN_xTimerPendFunctionCall
1586 #define traceRETURN_xTimerPendFunctionCall( xReturn )
1589 #ifndef traceENTER_uxTimerGetTimerNumber
1590 #define traceENTER_uxTimerGetTimerNumber( xTimer )
1593 #ifndef traceRETURN_uxTimerGetTimerNumber
1594 #define traceRETURN_uxTimerGetTimerNumber( uxTimerNumber )
1597 #ifndef traceENTER_vTimerSetTimerNumber
1598 #define traceENTER_vTimerSetTimerNumber( xTimer, uxTimerNumber )
1601 #ifndef traceRETURN_vTimerSetTimerNumber
1602 #define traceRETURN_vTimerSetTimerNumber()
1605 #ifndef traceENTER_xTaskCreateStatic
1606 #define traceENTER_xTaskCreateStatic( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer )
1609 #ifndef traceRETURN_xTaskCreateStatic
1610 #define traceRETURN_xTaskCreateStatic( xReturn )
1613 #ifndef traceENTER_xTaskCreateStaticAffinitySet
1614 #define traceENTER_xTaskCreateStaticAffinitySet( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer, uxCoreAffinityMask )
1617 #ifndef traceRETURN_xTaskCreateStaticAffinitySet
1618 #define traceRETURN_xTaskCreateStaticAffinitySet( xReturn )
1621 #ifndef traceENTER_xTaskCreateRestrictedStatic
1622 #define traceENTER_xTaskCreateRestrictedStatic( pxTaskDefinition, pxCreatedTask )
1625 #ifndef traceRETURN_xTaskCreateRestrictedStatic
1626 #define traceRETURN_xTaskCreateRestrictedStatic( xReturn )
1629 #ifndef traceENTER_xTaskCreateRestrictedStaticAffinitySet
1630 #define traceENTER_xTaskCreateRestrictedStaticAffinitySet( pxTaskDefinition, uxCoreAffinityMask, pxCreatedTask )
1633 #ifndef traceRETURN_xTaskCreateRestrictedStaticAffinitySet
1634 #define traceRETURN_xTaskCreateRestrictedStaticAffinitySet( xReturn )
1637 #ifndef traceENTER_xTaskCreateRestricted
1638 #define traceENTER_xTaskCreateRestricted( pxTaskDefinition, pxCreatedTask )
1641 #ifndef traceRETURN_xTaskCreateRestricted
1642 #define traceRETURN_xTaskCreateRestricted( xReturn )
1645 #ifndef traceENTER_xTaskCreateRestrictedAffinitySet
1646 #define traceENTER_xTaskCreateRestrictedAffinitySet( pxTaskDefinition, uxCoreAffinityMask, pxCreatedTask )
1649 #ifndef traceRETURN_xTaskCreateRestrictedAffinitySet
1650 #define traceRETURN_xTaskCreateRestrictedAffinitySet( xReturn )
1653 #ifndef traceENTER_xTaskCreate
1654 #define traceENTER_xTaskCreate( pxTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask )
1657 #ifndef traceRETURN_xTaskCreate
1658 #define traceRETURN_xTaskCreate( xReturn )
1661 #ifndef traceENTER_xTaskCreateAffinitySet
1662 #define traceENTER_xTaskCreateAffinitySet( pxTaskCode, pcName, usStackDepth, pvParameters, uxPriority, uxCoreAffinityMask, pxCreatedTask )
1665 #ifndef traceRETURN_xTaskCreateAffinitySet
1666 #define traceRETURN_xTaskCreateAffinitySet( xReturn )
1669 #ifndef traceENTER_vTaskDelete
1670 #define traceENTER_vTaskDelete( xTaskToDelete )
1673 #ifndef traceRETURN_vTaskDelete
1674 #define traceRETURN_vTaskDelete()
1677 #ifndef traceENTER_xTaskDelayUntil
1678 #define traceENTER_xTaskDelayUntil( pxPreviousWakeTime, xTimeIncrement )
1681 #ifndef traceRETURN_xTaskDelayUntil
1682 #define traceRETURN_xTaskDelayUntil( xShouldDelay )
1685 #ifndef traceENTER_vTaskDelay
1686 #define traceENTER_vTaskDelay( xTicksToDelay )
1689 #ifndef traceRETURN_vTaskDelay
1690 #define traceRETURN_vTaskDelay()
1693 #ifndef traceENTER_eTaskGetState
1694 #define traceENTER_eTaskGetState( xTask )
1697 #ifndef traceRETURN_eTaskGetState
1698 #define traceRETURN_eTaskGetState( eReturn )
1701 #ifndef traceENTER_uxTaskPriorityGet
1702 #define traceENTER_uxTaskPriorityGet( xTask )
1705 #ifndef traceRETURN_uxTaskPriorityGet
1706 #define traceRETURN_uxTaskPriorityGet( uxReturn )
1709 #ifndef traceENTER_uxTaskPriorityGetFromISR
1710 #define traceENTER_uxTaskPriorityGetFromISR( xTask )
1713 #ifndef traceRETURN_uxTaskPriorityGetFromISR
1714 #define traceRETURN_uxTaskPriorityGetFromISR( uxReturn )
1717 #ifndef traceENTER_uxTaskBasePriorityGet
1718 #define traceENTER_uxTaskBasePriorityGet( xTask )
1721 #ifndef traceRETURN_uxTaskBasePriorityGet
1722 #define traceRETURN_uxTaskBasePriorityGet( uxReturn )
1725 #ifndef traceENTER_uxTaskBasePriorityGetFromISR
1726 #define traceENTER_uxTaskBasePriorityGetFromISR( xTask )
1729 #ifndef traceRETURN_uxTaskBasePriorityGetFromISR
1730 #define traceRETURN_uxTaskBasePriorityGetFromISR( uxReturn )
1733 #ifndef traceENTER_vTaskPrioritySet
1734 #define traceENTER_vTaskPrioritySet( xTask, uxNewPriority )
1737 #ifndef traceRETURN_vTaskPrioritySet
1738 #define traceRETURN_vTaskPrioritySet()
1741 #ifndef traceENTER_vTaskCoreAffinitySet
1742 #define traceENTER_vTaskCoreAffinitySet( xTask, uxCoreAffinityMask )
1745 #ifndef traceRETURN_vTaskCoreAffinitySet
1746 #define traceRETURN_vTaskCoreAffinitySet()
1749 #ifndef traceENTER_vTaskCoreAffinityGet
1750 #define traceENTER_vTaskCoreAffinityGet( xTask )
1753 #ifndef traceRETURN_vTaskCoreAffinityGet
1754 #define traceRETURN_vTaskCoreAffinityGet( uxCoreAffinityMask )
1757 #ifndef traceENTER_vTaskPreemptionDisable
1758 #define traceENTER_vTaskPreemptionDisable( xTask )
1761 #ifndef traceRETURN_vTaskPreemptionDisable
1762 #define traceRETURN_vTaskPreemptionDisable()
1765 #ifndef traceENTER_vTaskPreemptionEnable
1766 #define traceENTER_vTaskPreemptionEnable( xTask )
1769 #ifndef traceRETURN_vTaskPreemptionEnable
1770 #define traceRETURN_vTaskPreemptionEnable()
1773 #ifndef traceENTER_vTaskSuspend
1774 #define traceENTER_vTaskSuspend( xTaskToSuspend )
1777 #ifndef traceRETURN_vTaskSuspend
1778 #define traceRETURN_vTaskSuspend()
1781 #ifndef traceENTER_vTaskResume
1782 #define traceENTER_vTaskResume( xTaskToResume )
1785 #ifndef traceRETURN_vTaskResume
1786 #define traceRETURN_vTaskResume()
1789 #ifndef traceENTER_xTaskResumeFromISR
1790 #define traceENTER_xTaskResumeFromISR( xTaskToResume )
1793 #ifndef traceRETURN_xTaskResumeFromISR
1794 #define traceRETURN_xTaskResumeFromISR( xYieldRequired )
1797 #ifndef traceENTER_vTaskStartScheduler
1798 #define traceENTER_vTaskStartScheduler()
1801 #ifndef traceRETURN_vTaskStartScheduler
1802 #define traceRETURN_vTaskStartScheduler()
1805 #ifndef traceENTER_vTaskEndScheduler
1806 #define traceENTER_vTaskEndScheduler()
1809 #ifndef traceRETURN_vTaskEndScheduler
1810 #define traceRETURN_vTaskEndScheduler()
1813 #ifndef traceENTER_vTaskSuspendAll
1814 #define traceENTER_vTaskSuspendAll()
1817 #ifndef traceRETURN_vTaskSuspendAll
1818 #define traceRETURN_vTaskSuspendAll()
1821 #ifndef traceENTER_xTaskResumeAll
1822 #define traceENTER_xTaskResumeAll()
1825 #ifndef traceRETURN_xTaskResumeAll
1826 #define traceRETURN_xTaskResumeAll( xAlreadyYielded )
1829 #ifndef traceENTER_xTaskGetTickCount
1830 #define traceENTER_xTaskGetTickCount()
1833 #ifndef traceRETURN_xTaskGetTickCount
1834 #define traceRETURN_xTaskGetTickCount( xTicks )
1837 #ifndef traceENTER_xTaskGetTickCountFromISR
1838 #define traceENTER_xTaskGetTickCountFromISR()
1841 #ifndef traceRETURN_xTaskGetTickCountFromISR
1842 #define traceRETURN_xTaskGetTickCountFromISR( xReturn )
1845 #ifndef traceENTER_uxTaskGetNumberOfTasks
1846 #define traceENTER_uxTaskGetNumberOfTasks()
1849 #ifndef traceRETURN_uxTaskGetNumberOfTasks
1850 #define traceRETURN_uxTaskGetNumberOfTasks( uxCurrentNumberOfTasks )
1853 #ifndef traceENTER_pcTaskGetName
1854 #define traceENTER_pcTaskGetName( xTaskToQuery )
1857 #ifndef traceRETURN_pcTaskGetName
1858 #define traceRETURN_pcTaskGetName( pcTaskName )
1861 #ifndef traceENTER_xTaskGetHandle
1862 #define traceENTER_xTaskGetHandle( pcNameToQuery )
1865 #ifndef traceRETURN_xTaskGetHandle
1866 #define traceRETURN_xTaskGetHandle( pxTCB )
1869 #ifndef traceENTER_xTaskGetStaticBuffers
1870 #define traceENTER_xTaskGetStaticBuffers( xTask, ppuxStackBuffer, ppxTaskBuffer )
1873 #ifndef traceRETURN_xTaskGetStaticBuffers
1874 #define traceRETURN_xTaskGetStaticBuffers( xReturn )
1877 #ifndef traceENTER_uxTaskGetSystemState
1878 #define traceENTER_uxTaskGetSystemState( pxTaskStatusArray, uxArraySize, pulTotalRunTime )
1881 #ifndef traceRETURN_uxTaskGetSystemState
1882 #define traceRETURN_uxTaskGetSystemState( uxTask )
1885 #if ( configNUMBER_OF_CORES == 1 )
1886 #ifndef traceENTER_xTaskGetIdleTaskHandle
1887 #define traceENTER_xTaskGetIdleTaskHandle()
1891 #if ( configNUMBER_OF_CORES == 1 )
1892 #ifndef traceRETURN_xTaskGetIdleTaskHandle
1893 #define traceRETURN_xTaskGetIdleTaskHandle( xIdleTaskHandle )
1897 #ifndef traceENTER_xTaskGetIdleTaskHandleForCore
1898 #define traceENTER_xTaskGetIdleTaskHandleForCore( xCoreID )
1901 #ifndef traceRETURN_xTaskGetIdleTaskHandleForCore
1902 #define traceRETURN_xTaskGetIdleTaskHandleForCore( xIdleTaskHandle )
1905 #ifndef traceENTER_vTaskStepTick
1906 #define traceENTER_vTaskStepTick( xTicksToJump )
1909 #ifndef traceRETURN_vTaskStepTick
1910 #define traceRETURN_vTaskStepTick()
1913 #ifndef traceENTER_xTaskCatchUpTicks
1914 #define traceENTER_xTaskCatchUpTicks( xTicksToCatchUp )
1917 #ifndef traceRETURN_xTaskCatchUpTicks
1918 #define traceRETURN_xTaskCatchUpTicks( xYieldOccurred )
1921 #ifndef traceENTER_xTaskAbortDelay
1922 #define traceENTER_xTaskAbortDelay( xTask )
1925 #ifndef traceRETURN_xTaskAbortDelay
1926 #define traceRETURN_xTaskAbortDelay( xReturn )
1929 #ifndef traceENTER_xTaskIncrementTick
1930 #define traceENTER_xTaskIncrementTick()
1933 #ifndef traceRETURN_xTaskIncrementTick
1934 #define traceRETURN_xTaskIncrementTick( xSwitchRequired )
1937 #ifndef traceENTER_vTaskSetApplicationTaskTag
1938 #define traceENTER_vTaskSetApplicationTaskTag( xTask, pxHookFunction )
1941 #ifndef traceRETURN_vTaskSetApplicationTaskTag
1942 #define traceRETURN_vTaskSetApplicationTaskTag()
1945 #ifndef traceENTER_xTaskGetApplicationTaskTag
1946 #define traceENTER_xTaskGetApplicationTaskTag( xTask )
1949 #ifndef traceRETURN_xTaskGetApplicationTaskTag
1950 #define traceRETURN_xTaskGetApplicationTaskTag( xReturn )
1953 #ifndef traceENTER_xTaskGetApplicationTaskTagFromISR
1954 #define traceENTER_xTaskGetApplicationTaskTagFromISR( xTask )
1957 #ifndef traceRETURN_xTaskGetApplicationTaskTagFromISR
1958 #define traceRETURN_xTaskGetApplicationTaskTagFromISR( xReturn )
1961 #ifndef traceENTER_xTaskCallApplicationTaskHook
1962 #define traceENTER_xTaskCallApplicationTaskHook( xTask, pvParameter )
1965 #ifndef traceRETURN_xTaskCallApplicationTaskHook
1966 #define traceRETURN_xTaskCallApplicationTaskHook( xReturn )
1969 #ifndef traceENTER_vTaskSwitchContext
1970 #define traceENTER_vTaskSwitchContext()
1973 #ifndef traceRETURN_vTaskSwitchContext
1974 #define traceRETURN_vTaskSwitchContext()
1977 #ifndef traceENTER_vTaskPlaceOnEventList
1978 #define traceENTER_vTaskPlaceOnEventList( pxEventList, xTicksToWait )
1981 #ifndef traceRETURN_vTaskPlaceOnEventList
1982 #define traceRETURN_vTaskPlaceOnEventList()
1985 #ifndef traceENTER_vTaskPlaceOnUnorderedEventList
1986 #define traceENTER_vTaskPlaceOnUnorderedEventList( pxEventList, xItemValue, xTicksToWait )
1989 #ifndef traceRETURN_vTaskPlaceOnUnorderedEventList
1990 #define traceRETURN_vTaskPlaceOnUnorderedEventList()
1993 #ifndef traceENTER_vTaskPlaceOnEventListRestricted
1994 #define traceENTER_vTaskPlaceOnEventListRestricted( pxEventList, xTicksToWait, xWaitIndefinitely )
1997 #ifndef traceRETURN_vTaskPlaceOnEventListRestricted
1998 #define traceRETURN_vTaskPlaceOnEventListRestricted()
2001 #ifndef traceENTER_xTaskRemoveFromEventList
2002 #define traceENTER_xTaskRemoveFromEventList( pxEventList )
2005 #ifndef traceRETURN_xTaskRemoveFromEventList
2006 #define traceRETURN_xTaskRemoveFromEventList( xReturn )
2009 #ifndef traceENTER_vTaskRemoveFromUnorderedEventList
2010 #define traceENTER_vTaskRemoveFromUnorderedEventList( pxEventListItem, xItemValue )
2013 #ifndef traceRETURN_vTaskRemoveFromUnorderedEventList
2014 #define traceRETURN_vTaskRemoveFromUnorderedEventList()
2017 #ifndef traceENTER_vTaskSetTimeOutState
2018 #define traceENTER_vTaskSetTimeOutState( pxTimeOut )
2021 #ifndef traceRETURN_vTaskSetTimeOutState
2022 #define traceRETURN_vTaskSetTimeOutState()
2025 #ifndef traceENTER_vTaskInternalSetTimeOutState
2026 #define traceENTER_vTaskInternalSetTimeOutState( pxTimeOut )
2029 #ifndef traceRETURN_vTaskInternalSetTimeOutState
2030 #define traceRETURN_vTaskInternalSetTimeOutState()
2033 #ifndef traceENTER_xTaskCheckForTimeOut
2034 #define traceENTER_xTaskCheckForTimeOut( pxTimeOut, pxTicksToWait )
2037 #ifndef traceRETURN_xTaskCheckForTimeOut
2038 #define traceRETURN_xTaskCheckForTimeOut( xReturn )
2041 #ifndef traceENTER_vTaskMissedYield
2042 #define traceENTER_vTaskMissedYield()
2045 #ifndef traceRETURN_vTaskMissedYield
2046 #define traceRETURN_vTaskMissedYield()
2049 #ifndef traceENTER_uxTaskGetTaskNumber
2050 #define traceENTER_uxTaskGetTaskNumber( xTask )
2053 #ifndef traceRETURN_uxTaskGetTaskNumber
2054 #define traceRETURN_uxTaskGetTaskNumber( uxReturn )
2057 #ifndef traceENTER_vTaskSetTaskNumber
2058 #define traceENTER_vTaskSetTaskNumber( xTask, uxHandle )
2061 #ifndef traceRETURN_vTaskSetTaskNumber
2062 #define traceRETURN_vTaskSetTaskNumber()
2065 #ifndef traceENTER_eTaskConfirmSleepModeStatus
2066 #define traceENTER_eTaskConfirmSleepModeStatus()
2069 #ifndef traceRETURN_eTaskConfirmSleepModeStatus
2070 #define traceRETURN_eTaskConfirmSleepModeStatus( eReturn )
2073 #ifndef traceENTER_vTaskSetThreadLocalStoragePointer
2074 #define traceENTER_vTaskSetThreadLocalStoragePointer( xTaskToSet, xIndex, pvValue )
2077 #ifndef traceRETURN_vTaskSetThreadLocalStoragePointer
2078 #define traceRETURN_vTaskSetThreadLocalStoragePointer()
2081 #ifndef traceENTER_pvTaskGetThreadLocalStoragePointer
2082 #define traceENTER_pvTaskGetThreadLocalStoragePointer( xTaskToQuery, xIndex )
2085 #ifndef traceRETURN_pvTaskGetThreadLocalStoragePointer
2086 #define traceRETURN_pvTaskGetThreadLocalStoragePointer( pvReturn )
2089 #ifndef traceENTER_vTaskAllocateMPURegions
2090 #define traceENTER_vTaskAllocateMPURegions( xTaskToModify, pxRegions )
2093 #ifndef traceRETURN_vTaskAllocateMPURegions
2094 #define traceRETURN_vTaskAllocateMPURegions()
2097 #ifndef traceENTER_vTaskGetInfo
2098 #define traceENTER_vTaskGetInfo( xTask, pxTaskStatus, xGetFreeStackSpace, eState )
2101 #ifndef traceRETURN_vTaskGetInfo
2102 #define traceRETURN_vTaskGetInfo()
2105 #ifndef traceENTER_uxTaskGetStackHighWaterMark2
2106 #define traceENTER_uxTaskGetStackHighWaterMark2( xTask )
2109 #ifndef traceRETURN_uxTaskGetStackHighWaterMark2
2110 #define traceRETURN_uxTaskGetStackHighWaterMark2( uxReturn )
2113 #ifndef traceENTER_uxTaskGetStackHighWaterMark
2114 #define traceENTER_uxTaskGetStackHighWaterMark( xTask )
2117 #ifndef traceRETURN_uxTaskGetStackHighWaterMark
2118 #define traceRETURN_uxTaskGetStackHighWaterMark( uxReturn )
2121 #ifndef traceENTER_xTaskGetCurrentTaskHandle
2122 #define traceENTER_xTaskGetCurrentTaskHandle()
2125 #ifndef traceRETURN_xTaskGetCurrentTaskHandle
2126 #define traceRETURN_xTaskGetCurrentTaskHandle( xReturn )
2129 #ifndef traceENTER_xTaskGetCurrentTaskHandleForCore
2130 #define traceENTER_xTaskGetCurrentTaskHandleForCore( xCoreID )
2133 #ifndef traceRETURN_xTaskGetCurrentTaskHandleForCore
2134 #define traceRETURN_xTaskGetCurrentTaskHandleForCore( xReturn )
2137 #ifndef traceENTER_xTaskGetSchedulerState
2138 #define traceENTER_xTaskGetSchedulerState()
2141 #ifndef traceRETURN_xTaskGetSchedulerState
2142 #define traceRETURN_xTaskGetSchedulerState( xReturn )
2145 #ifndef traceENTER_xTaskPriorityInherit
2146 #define traceENTER_xTaskPriorityInherit( pxMutexHolder )
2149 #ifndef traceRETURN_xTaskPriorityInherit
2150 #define traceRETURN_xTaskPriorityInherit( xReturn )
2153 #ifndef traceENTER_xTaskPriorityDisinherit
2154 #define traceENTER_xTaskPriorityDisinherit( pxMutexHolder )
2157 #ifndef traceRETURN_xTaskPriorityDisinherit
2158 #define traceRETURN_xTaskPriorityDisinherit( xReturn )
2161 #ifndef traceENTER_vTaskPriorityDisinheritAfterTimeout
2162 #define traceENTER_vTaskPriorityDisinheritAfterTimeout( pxMutexHolder, uxHighestPriorityWaitingTask )
2165 #ifndef traceRETURN_vTaskPriorityDisinheritAfterTimeout
2166 #define traceRETURN_vTaskPriorityDisinheritAfterTimeout()
2169 #ifndef traceENTER_vTaskYieldWithinAPI
2170 #define traceENTER_vTaskYieldWithinAPI()
2173 #ifndef traceRETURN_vTaskYieldWithinAPI
2174 #define traceRETURN_vTaskYieldWithinAPI()
2177 #ifndef traceENTER_vTaskEnterCritical
2178 #define traceENTER_vTaskEnterCritical()
2181 #ifndef traceRETURN_vTaskEnterCritical
2182 #define traceRETURN_vTaskEnterCritical()
2185 #ifndef traceENTER_vTaskEnterCriticalFromISR
2186 #define traceENTER_vTaskEnterCriticalFromISR()
2189 #ifndef traceRETURN_vTaskEnterCriticalFromISR
2190 #define traceRETURN_vTaskEnterCriticalFromISR( uxSavedInterruptStatus )
2193 #ifndef traceENTER_vTaskExitCritical
2194 #define traceENTER_vTaskExitCritical()
2197 #ifndef traceRETURN_vTaskExitCritical
2198 #define traceRETURN_vTaskExitCritical()
2201 #ifndef traceENTER_vTaskExitCriticalFromISR
2202 #define traceENTER_vTaskExitCriticalFromISR( uxSavedInterruptStatus )
2205 #ifndef traceRETURN_vTaskExitCriticalFromISR
2206 #define traceRETURN_vTaskExitCriticalFromISR()
2209 #ifndef traceENTER_vTaskListTasks
2210 #define traceENTER_vTaskListTasks( pcWriteBuffer, uxBufferLength )
2213 #ifndef traceRETURN_vTaskListTasks
2214 #define traceRETURN_vTaskListTasks()
2217 #ifndef traceENTER_vTaskGetRunTimeStatistics
2218 #define traceENTER_vTaskGetRunTimeStatistics( pcWriteBuffer, uxBufferLength )
2221 #ifndef traceRETURN_vTaskGetRunTimeStatistics
2222 #define traceRETURN_vTaskGetRunTimeStatistics()
2225 #ifndef traceENTER_uxTaskResetEventItemValue
2226 #define traceENTER_uxTaskResetEventItemValue()
2229 #ifndef traceRETURN_uxTaskResetEventItemValue
2230 #define traceRETURN_uxTaskResetEventItemValue( uxReturn )
2233 #ifndef traceENTER_pvTaskIncrementMutexHeldCount
2234 #define traceENTER_pvTaskIncrementMutexHeldCount()
2237 #ifndef traceRETURN_pvTaskIncrementMutexHeldCount
2238 #define traceRETURN_pvTaskIncrementMutexHeldCount( pxTCB )
2241 #ifndef traceENTER_ulTaskGenericNotifyTake
2242 #define traceENTER_ulTaskGenericNotifyTake( uxIndexToWaitOn, xClearCountOnExit, xTicksToWait )
2245 #ifndef traceRETURN_ulTaskGenericNotifyTake
2246 #define traceRETURN_ulTaskGenericNotifyTake( ulReturn )
2249 #ifndef traceENTER_xTaskGenericNotifyWait
2250 #define traceENTER_xTaskGenericNotifyWait( uxIndexToWaitOn, ulBitsToClearOnEntry, ulBitsToClearOnExit, pulNotificationValue, xTicksToWait )
2253 #ifndef traceRETURN_xTaskGenericNotifyWait
2254 #define traceRETURN_xTaskGenericNotifyWait( xReturn )
2257 #ifndef traceENTER_xTaskGenericNotify
2258 #define traceENTER_xTaskGenericNotify( xTaskToNotify, uxIndexToNotify, ulValue, eAction, pulPreviousNotificationValue )
2261 #ifndef traceRETURN_xTaskGenericNotify
2262 #define traceRETURN_xTaskGenericNotify( xReturn )
2265 #ifndef traceENTER_xTaskGenericNotifyFromISR
2266 #define traceENTER_xTaskGenericNotifyFromISR( xTaskToNotify, uxIndexToNotify, ulValue, eAction, pulPreviousNotificationValue, pxHigherPriorityTaskWoken )
2269 #ifndef traceRETURN_xTaskGenericNotifyFromISR
2270 #define traceRETURN_xTaskGenericNotifyFromISR( xReturn )
2273 #ifndef traceENTER_vTaskGenericNotifyGiveFromISR
2274 #define traceENTER_vTaskGenericNotifyGiveFromISR( xTaskToNotify, uxIndexToNotify, pxHigherPriorityTaskWoken )
2277 #ifndef traceRETURN_vTaskGenericNotifyGiveFromISR
2278 #define traceRETURN_vTaskGenericNotifyGiveFromISR()
2281 #ifndef traceENTER_xTaskGenericNotifyStateClear
2282 #define traceENTER_xTaskGenericNotifyStateClear( xTask, uxIndexToClear )
2285 #ifndef traceRETURN_xTaskGenericNotifyStateClear
2286 #define traceRETURN_xTaskGenericNotifyStateClear( xReturn )
2289 #ifndef traceENTER_ulTaskGenericNotifyValueClear
2290 #define traceENTER_ulTaskGenericNotifyValueClear( xTask, uxIndexToClear, ulBitsToClear )
2293 #ifndef traceRETURN_ulTaskGenericNotifyValueClear
2294 #define traceRETURN_ulTaskGenericNotifyValueClear( ulReturn )
2297 #ifndef traceENTER_ulTaskGetRunTimeCounter
2298 #define traceENTER_ulTaskGetRunTimeCounter( xTask )
2301 #ifndef traceRETURN_ulTaskGetRunTimeCounter
2302 #define traceRETURN_ulTaskGetRunTimeCounter( ulRunTimeCounter )
2305 #ifndef traceENTER_ulTaskGetRunTimePercent
2306 #define traceENTER_ulTaskGetRunTimePercent( xTask )
2309 #ifndef traceRETURN_ulTaskGetRunTimePercent
2310 #define traceRETURN_ulTaskGetRunTimePercent( ulReturn )
2313 #ifndef traceENTER_ulTaskGetIdleRunTimeCounter
2314 #define traceENTER_ulTaskGetIdleRunTimeCounter()
2317 #ifndef traceRETURN_ulTaskGetIdleRunTimeCounter
2318 #define traceRETURN_ulTaskGetIdleRunTimeCounter( ulReturn )
2321 #ifndef traceENTER_ulTaskGetIdleRunTimePercent
2322 #define traceENTER_ulTaskGetIdleRunTimePercent()
2325 #ifndef traceRETURN_ulTaskGetIdleRunTimePercent
2326 #define traceRETURN_ulTaskGetIdleRunTimePercent( ulReturn )
2329 #ifndef traceENTER_xTaskGetMPUSettings
2330 #define traceENTER_xTaskGetMPUSettings( xTask )
2333 #ifndef traceRETURN_xTaskGetMPUSettings
2334 #define traceRETURN_xTaskGetMPUSettings( xMPUSettings )
2337 #ifndef traceENTER_xStreamBufferGenericCreate
2338 #define traceENTER_xStreamBufferGenericCreate( xBufferSizeBytes, xTriggerLevelBytes, xIsMessageBuffer, pxSendCompletedCallback, pxReceiveCompletedCallback )
2341 #ifndef traceRETURN_xStreamBufferGenericCreate
2342 #define traceRETURN_xStreamBufferGenericCreate( pvAllocatedMemory )
2345 #ifndef traceENTER_xStreamBufferGenericCreateStatic
2346 #define traceENTER_xStreamBufferGenericCreateStatic( xBufferSizeBytes, xTriggerLevelBytes, xIsMessageBuffer, pucStreamBufferStorageArea, pxStaticStreamBuffer, pxSendCompletedCallback, pxReceiveCompletedCallback )
2349 #ifndef traceRETURN_xStreamBufferGenericCreateStatic
2350 #define traceRETURN_xStreamBufferGenericCreateStatic( xReturn )
2353 #ifndef traceENTER_xStreamBufferGetStaticBuffers
2354 #define traceENTER_xStreamBufferGetStaticBuffers( xStreamBuffer, ppucStreamBufferStorageArea, ppxStaticStreamBuffer )
2357 #ifndef traceRETURN_xStreamBufferGetStaticBuffers
2358 #define traceRETURN_xStreamBufferGetStaticBuffers( xReturn )
2361 #ifndef traceENTER_vStreamBufferDelete
2362 #define traceENTER_vStreamBufferDelete( xStreamBuffer )
2365 #ifndef traceRETURN_vStreamBufferDelete
2366 #define traceRETURN_vStreamBufferDelete()
2369 #ifndef traceENTER_xStreamBufferReset
2370 #define traceENTER_xStreamBufferReset( xStreamBuffer )
2373 #ifndef traceRETURN_xStreamBufferReset
2374 #define traceRETURN_xStreamBufferReset( xReturn )
2377 #ifndef traceENTER_xStreamBufferSetTriggerLevel
2378 #define traceENTER_xStreamBufferSetTriggerLevel( xStreamBuffer, xTriggerLevel )
2381 #ifndef traceRETURN_xStreamBufferSetTriggerLevel
2382 #define traceRETURN_xStreamBufferSetTriggerLevel( xReturn )
2385 #ifndef traceENTER_xStreamBufferSpacesAvailable
2386 #define traceENTER_xStreamBufferSpacesAvailable( xStreamBuffer )
2389 #ifndef traceRETURN_xStreamBufferSpacesAvailable
2390 #define traceRETURN_xStreamBufferSpacesAvailable( xSpace )
2393 #ifndef traceENTER_xStreamBufferBytesAvailable
2394 #define traceENTER_xStreamBufferBytesAvailable( xStreamBuffer )
2397 #ifndef traceRETURN_xStreamBufferBytesAvailable
2398 #define traceRETURN_xStreamBufferBytesAvailable( xReturn )
2401 #ifndef traceENTER_xStreamBufferSend
2402 #define traceENTER_xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait )
2405 #ifndef traceRETURN_xStreamBufferSend
2406 #define traceRETURN_xStreamBufferSend( xReturn )
2409 #ifndef traceENTER_xStreamBufferSendFromISR
2410 #define traceENTER_xStreamBufferSendFromISR( xStreamBuffer, pvTxData, xDataLengthBytes, pxHigherPriorityTaskWoken )
2413 #ifndef traceRETURN_xStreamBufferSendFromISR
2414 #define traceRETURN_xStreamBufferSendFromISR( xReturn )
2417 #ifndef traceENTER_xStreamBufferReceive
2418 #define traceENTER_xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait )
2421 #ifndef traceRETURN_xStreamBufferReceive
2422 #define traceRETURN_xStreamBufferReceive( xReceivedLength )
2425 #ifndef traceENTER_xStreamBufferNextMessageLengthBytes
2426 #define traceENTER_xStreamBufferNextMessageLengthBytes( xStreamBuffer )
2429 #ifndef traceRETURN_xStreamBufferNextMessageLengthBytes
2430 #define traceRETURN_xStreamBufferNextMessageLengthBytes( xReturn )
2433 #ifndef traceENTER_xStreamBufferReceiveFromISR
2434 #define traceENTER_xStreamBufferReceiveFromISR( xStreamBuffer, pvRxData, xBufferLengthBytes, pxHigherPriorityTaskWoken )
2437 #ifndef traceRETURN_xStreamBufferReceiveFromISR
2438 #define traceRETURN_xStreamBufferReceiveFromISR( xReceivedLength )
2441 #ifndef traceENTER_xStreamBufferIsEmpty
2442 #define traceENTER_xStreamBufferIsEmpty( xStreamBuffer )
2445 #ifndef traceRETURN_xStreamBufferIsEmpty
2446 #define traceRETURN_xStreamBufferIsEmpty( xReturn )
2449 #ifndef traceENTER_xStreamBufferIsFull
2450 #define traceENTER_xStreamBufferIsFull( xStreamBuffer )
2453 #ifndef traceRETURN_xStreamBufferIsFull
2454 #define traceRETURN_xStreamBufferIsFull( xReturn )
2457 #ifndef traceENTER_xStreamBufferSendCompletedFromISR
2458 #define traceENTER_xStreamBufferSendCompletedFromISR( xStreamBuffer, pxHigherPriorityTaskWoken )
2461 #ifndef traceRETURN_xStreamBufferSendCompletedFromISR
2462 #define traceRETURN_xStreamBufferSendCompletedFromISR( xReturn )
2465 #ifndef traceENTER_xStreamBufferReceiveCompletedFromISR
2466 #define traceENTER_xStreamBufferReceiveCompletedFromISR( xStreamBuffer, pxHigherPriorityTaskWoken )
2469 #ifndef traceRETURN_xStreamBufferReceiveCompletedFromISR
2470 #define traceRETURN_xStreamBufferReceiveCompletedFromISR( xReturn )
2473 #ifndef traceENTER_uxStreamBufferGetStreamBufferNumber
2474 #define traceENTER_uxStreamBufferGetStreamBufferNumber( xStreamBuffer )
2477 #ifndef traceRETURN_uxStreamBufferGetStreamBufferNumber
2478 #define traceRETURN_uxStreamBufferGetStreamBufferNumber( uxStreamBufferNumber )
2481 #ifndef traceENTER_vStreamBufferSetStreamBufferNumber
2482 #define traceENTER_vStreamBufferSetStreamBufferNumber( xStreamBuffer, uxStreamBufferNumber )
2485 #ifndef traceRETURN_vStreamBufferSetStreamBufferNumber
2486 #define traceRETURN_vStreamBufferSetStreamBufferNumber()
2489 #ifndef traceENTER_ucStreamBufferGetStreamBufferType
2490 #define traceENTER_ucStreamBufferGetStreamBufferType( xStreamBuffer )
2493 #ifndef traceRETURN_ucStreamBufferGetStreamBufferType
2494 #define traceRETURN_ucStreamBufferGetStreamBufferType( ucStreamBufferType )
2497 #ifndef traceENTER_vListInitialise
2498 #define traceENTER_vListInitialise( pxList )
2501 #ifndef traceRETURN_vListInitialise
2502 #define traceRETURN_vListInitialise()
2505 #ifndef traceENTER_vListInitialiseItem
2506 #define traceENTER_vListInitialiseItem( pxItem )
2509 #ifndef traceRETURN_vListInitialiseItem
2510 #define traceRETURN_vListInitialiseItem()
2513 #ifndef traceENTER_vListInsertEnd
2514 #define traceENTER_vListInsertEnd( pxList, pxNewListItem )
2517 #ifndef traceRETURN_vListInsertEnd
2518 #define traceRETURN_vListInsertEnd()
2521 #ifndef traceENTER_vListInsert
2522 #define traceENTER_vListInsert( pxList, pxNewListItem )
2525 #ifndef traceRETURN_vListInsert
2526 #define traceRETURN_vListInsert()
2529 #ifndef traceENTER_uxListRemove
2530 #define traceENTER_uxListRemove( pxItemToRemove )
2533 #ifndef traceRETURN_uxListRemove
2534 #define traceRETURN_uxListRemove( uxNumberOfItems )
2537 #ifndef traceENTER_xCoRoutineCreate
2538 #define traceENTER_xCoRoutineCreate( pxCoRoutineCode, uxPriority, uxIndex )
2541 #ifndef traceRETURN_xCoRoutineCreate
2542 #define traceRETURN_xCoRoutineCreate( xReturn )
2545 #ifndef traceENTER_vCoRoutineAddToDelayedList
2546 #define traceENTER_vCoRoutineAddToDelayedList( xTicksToDelay, pxEventList )
2549 #ifndef traceRETURN_vCoRoutineAddToDelayedList
2550 #define traceRETURN_vCoRoutineAddToDelayedList()
2553 #ifndef traceENTER_vCoRoutineSchedule
2554 #define traceENTER_vCoRoutineSchedule()
2557 #ifndef traceRETURN_vCoRoutineSchedule
2558 #define traceRETURN_vCoRoutineSchedule()
2561 #ifndef traceENTER_xCoRoutineRemoveFromEventList
2562 #define traceENTER_xCoRoutineRemoveFromEventList( pxEventList )
2565 #ifndef traceRETURN_xCoRoutineRemoveFromEventList
2566 #define traceRETURN_xCoRoutineRemoveFromEventList( xReturn )
2569 #ifndef configGENERATE_RUN_TIME_STATS
2570 #define configGENERATE_RUN_TIME_STATS 0
2573 #if ( configGENERATE_RUN_TIME_STATS == 1 )
2575 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS
2576 #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.
2577 #endif /* portCONFIGURE_TIMER_FOR_RUN_TIME_STATS */
2579 #ifndef portGET_RUN_TIME_COUNTER_VALUE
2580 #ifndef portALT_GET_RUN_TIME_COUNTER_VALUE
2581 #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.
2582 #endif /* portALT_GET_RUN_TIME_COUNTER_VALUE */
2583 #endif /* portGET_RUN_TIME_COUNTER_VALUE */
2585 #endif /* configGENERATE_RUN_TIME_STATS */
2587 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS
2588 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()
2591 #ifndef configUSE_MALLOC_FAILED_HOOK
2592 #define configUSE_MALLOC_FAILED_HOOK 0
2595 #ifndef portPRIVILEGE_BIT
2596 #define portPRIVILEGE_BIT ( ( UBaseType_t ) 0x00 )
2599 #ifndef portYIELD_WITHIN_API
2600 #define portYIELD_WITHIN_API portYIELD
2603 #ifndef portSUPPRESS_TICKS_AND_SLEEP
2604 #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )
2607 #ifndef configEXPECTED_IDLE_TIME_BEFORE_SLEEP
2608 #define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2
2611 #if configEXPECTED_IDLE_TIME_BEFORE_SLEEP < 2
2612 #error configEXPECTED_IDLE_TIME_BEFORE_SLEEP must not be less than 2
2615 #ifndef configUSE_TICKLESS_IDLE
2616 #define configUSE_TICKLESS_IDLE 0
2619 #ifndef configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING
2620 #define configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING( x )
2623 #ifndef configPRE_SLEEP_PROCESSING
2624 #define configPRE_SLEEP_PROCESSING( x )
2627 #ifndef configPOST_SLEEP_PROCESSING
2628 #define configPOST_SLEEP_PROCESSING( x )
2631 #ifndef configUSE_QUEUE_SETS
2632 #define configUSE_QUEUE_SETS 0
2635 #ifndef portTASK_USES_FLOATING_POINT
2636 #define portTASK_USES_FLOATING_POINT()
2639 #ifndef portALLOCATE_SECURE_CONTEXT
2640 #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )
2643 #ifndef portDONT_DISCARD
2644 #define portDONT_DISCARD
2647 #ifndef configUSE_TIME_SLICING
2648 #define configUSE_TIME_SLICING 1
2651 #ifndef configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS
2652 #define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 0
2655 #ifndef configUSE_STATS_FORMATTING_FUNCTIONS
2656 #define configUSE_STATS_FORMATTING_FUNCTIONS 0
2659 #ifndef portASSERT_IF_INTERRUPT_PRIORITY_INVALID
2660 #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID()
2663 #ifndef configUSE_TRACE_FACILITY
2664 #define configUSE_TRACE_FACILITY 0
2667 #ifndef mtCOVERAGE_TEST_MARKER
2668 #define mtCOVERAGE_TEST_MARKER()
2671 #ifndef mtCOVERAGE_TEST_DELAY
2672 #define mtCOVERAGE_TEST_DELAY()
2675 #ifndef portASSERT_IF_IN_ISR
2676 #define portASSERT_IF_IN_ISR()
2679 #ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION
2680 #define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
2683 #ifndef configAPPLICATION_ALLOCATED_HEAP
2684 #define configAPPLICATION_ALLOCATED_HEAP 0
2687 #ifndef configENABLE_HEAP_PROTECTOR
2688 #define configENABLE_HEAP_PROTECTOR 0
2691 #ifndef configUSE_TASK_NOTIFICATIONS
2692 #define configUSE_TASK_NOTIFICATIONS 1
2695 #ifndef configTASK_NOTIFICATION_ARRAY_ENTRIES
2696 #define configTASK_NOTIFICATION_ARRAY_ENTRIES 1
2699 #if configTASK_NOTIFICATION_ARRAY_ENTRIES < 1
2700 #error configTASK_NOTIFICATION_ARRAY_ENTRIES must be at least 1
2703 #ifndef configUSE_POSIX_ERRNO
2704 #define configUSE_POSIX_ERRNO 0
2707 #ifndef configUSE_SB_COMPLETED_CALLBACK
2709 /* By default per-instance callbacks are not enabled for stream buffer or message buffer. */
2710 #define configUSE_SB_COMPLETED_CALLBACK 0
2713 #ifndef portTICK_TYPE_IS_ATOMIC
2714 #define portTICK_TYPE_IS_ATOMIC 0
2717 #ifndef configSUPPORT_STATIC_ALLOCATION
2718 /* Defaults to 0 for backward compatibility. */
2719 #define configSUPPORT_STATIC_ALLOCATION 0
2722 #ifndef configKERNEL_PROVIDED_STATIC_MEMORY
2723 #define configKERNEL_PROVIDED_STATIC_MEMORY 0
2726 #ifndef configSUPPORT_DYNAMIC_ALLOCATION
2727 /* Defaults to 1 for backward compatibility. */
2728 #define configSUPPORT_DYNAMIC_ALLOCATION 1
2731 #if ( ( configUSE_STATS_FORMATTING_FUNCTIONS > 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION != 1 ) )
2732 #error configUSE_STATS_FORMATTING_FUNCTIONS cannot be used without dynamic allocation, but configSUPPORT_DYNAMIC_ALLOCATION is not set to 1.
2735 #if ( configUSE_STATS_FORMATTING_FUNCTIONS > 0 )
2736 #if ( ( configUSE_TRACE_FACILITY != 1 ) && ( configGENERATE_RUN_TIME_STATS != 1 ) )
2737 #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.
2741 #ifndef configSTATS_BUFFER_MAX_LENGTH
2742 #define configSTATS_BUFFER_MAX_LENGTH 0xFFFF
2745 #ifndef configSTACK_DEPTH_TYPE
2747 /* Defaults to uint16_t for backward compatibility, but can be overridden
2748 * in FreeRTOSConfig.h if uint16_t is too restrictive. */
2749 #define configSTACK_DEPTH_TYPE uint16_t
2752 #ifndef configRUN_TIME_COUNTER_TYPE
2754 /* Defaults to uint32_t for backward compatibility, but can be overridden in
2755 * FreeRTOSConfig.h if uint32_t is too restrictive. */
2757 #define configRUN_TIME_COUNTER_TYPE uint32_t
2760 #ifndef configMESSAGE_BUFFER_LENGTH_TYPE
2762 /* Defaults to size_t for backward compatibility, but can be overridden
2763 * in FreeRTOSConfig.h if lengths will always be less than the number of bytes
2765 #define configMESSAGE_BUFFER_LENGTH_TYPE size_t
2768 /* Sanity check the configuration. */
2769 #if ( ( configSUPPORT_STATIC_ALLOCATION == 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 0 ) )
2770 #error configSUPPORT_STATIC_ALLOCATION and configSUPPORT_DYNAMIC_ALLOCATION cannot both be 0, but can both be 1.
2773 #if ( ( configUSE_RECURSIVE_MUTEXES == 1 ) && ( configUSE_MUTEXES != 1 ) )
2774 #error configUSE_MUTEXES must be set to 1 to use recursive mutexes
2777 #if ( ( configRUN_MULTIPLE_PRIORITIES == 0 ) && ( configUSE_TASK_PREEMPTION_DISABLE != 0 ) )
2778 #error configRUN_MULTIPLE_PRIORITIES must be set to 1 to use task preemption disable
2781 #if ( ( configUSE_PREEMPTION == 0 ) && ( configUSE_TASK_PREEMPTION_DISABLE != 0 ) )
2782 #error configUSE_PREEMPTION must be set to 1 to use task preemption disable
2785 #if ( ( configNUMBER_OF_CORES == 1 ) && ( configUSE_TASK_PREEMPTION_DISABLE != 0 ) )
2786 #error configUSE_TASK_PREEMPTION_DISABLE is not supported in single core FreeRTOS
2789 #if ( ( configNUMBER_OF_CORES == 1 ) && ( configUSE_CORE_AFFINITY != 0 ) )
2790 #error configUSE_CORE_AFFINITY is not supported in single core FreeRTOS
2793 #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_PORT_OPTIMISED_TASK_SELECTION != 0 ) )
2794 #error configUSE_PORT_OPTIMISED_TASK_SELECTION is not supported in SMP FreeRTOS
2797 #ifndef configINITIAL_TICK_COUNT
2798 #define configINITIAL_TICK_COUNT 0
2801 #if ( portTICK_TYPE_IS_ATOMIC == 0 )
2803 /* Either variables of tick type cannot be read atomically, or
2804 * portTICK_TYPE_IS_ATOMIC was not set - map the critical sections used when
2805 * the tick count is returned to the standard critical section macros. */
2806 #define portTICK_TYPE_ENTER_CRITICAL() portENTER_CRITICAL()
2807 #define portTICK_TYPE_EXIT_CRITICAL() portEXIT_CRITICAL()
2808 #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() portSET_INTERRUPT_MASK_FROM_ISR()
2809 #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) portCLEAR_INTERRUPT_MASK_FROM_ISR( ( x ) )
2812 /* The tick type can be read atomically, so critical sections used when the
2813 * tick count is returned can be defined away. */
2814 #define portTICK_TYPE_ENTER_CRITICAL()
2815 #define portTICK_TYPE_EXIT_CRITICAL()
2816 #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() 0
2817 #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) ( void ) ( x )
2818 #endif /* if ( portTICK_TYPE_IS_ATOMIC == 0 ) */
2820 /* Definitions to allow backward compatibility with FreeRTOS versions prior to
2822 #ifndef configENABLE_BACKWARD_COMPATIBILITY
2823 #define configENABLE_BACKWARD_COMPATIBILITY 1
2826 #ifndef configPRINTF
2828 /* configPRINTF() was not defined, so define it away to nothing. To use
2829 * configPRINTF() then define it as follows (where MyPrintFunction() is
2830 * provided by the application writer):
2832 * void MyPrintFunction(const char *pcFormat, ... );
2833 #define configPRINTF( X ) MyPrintFunction X
2835 * Then call like a standard printf() function, but placing brackets around
2836 * all parameters so they are passed as a single parameter. For example:
2837 * configPRINTF( ("Value = %d", MyVariable) ); */
2838 #define configPRINTF( X )
2843 /* The application writer has not provided their own MAX macro, so define
2844 * the following generic implementation. */
2845 #define configMAX( a, b ) ( ( ( a ) > ( b ) ) ? ( a ) : ( b ) )
2850 /* The application writer has not provided their own MIN macro, so define
2851 * the following generic implementation. */
2852 #define configMIN( a, b ) ( ( ( a ) < ( b ) ) ? ( a ) : ( b ) )
2855 #if configENABLE_BACKWARD_COMPATIBILITY == 1
2856 #define eTaskStateGet eTaskGetState
2857 #define portTickType TickType_t
2858 #define xTaskHandle TaskHandle_t
2859 #define xQueueHandle QueueHandle_t
2860 #define xSemaphoreHandle SemaphoreHandle_t
2861 #define xQueueSetHandle QueueSetHandle_t
2862 #define xQueueSetMemberHandle QueueSetMemberHandle_t
2863 #define xTimeOutType TimeOut_t
2864 #define xMemoryRegion MemoryRegion_t
2865 #define xTaskParameters TaskParameters_t
2866 #define xTaskStatusType TaskStatus_t
2867 #define xTimerHandle TimerHandle_t
2868 #define xCoRoutineHandle CoRoutineHandle_t
2869 #define pdTASK_HOOK_CODE TaskHookFunction_t
2870 #define portTICK_RATE_MS portTICK_PERIOD_MS
2871 #define pcTaskGetTaskName pcTaskGetName
2872 #define pcTimerGetTimerName pcTimerGetName
2873 #define pcQueueGetQueueName pcQueueGetName
2874 #define vTaskGetTaskInfo vTaskGetInfo
2875 #define xTaskGetIdleRunTimeCounter ulTaskGetIdleRunTimeCounter
2877 /* Backward compatibility within the scheduler code only - these definitions
2878 * are not really required but are included for completeness. */
2879 #define tmrTIMER_CALLBACK TimerCallbackFunction_t
2880 #define pdTASK_CODE TaskFunction_t
2881 #define xListItem ListItem_t
2882 #define xList List_t
2884 /* For libraries that break the list data hiding, and access list structure
2885 * members directly (which is not supposed to be done). */
2886 #define pxContainer pvContainer
2887 #endif /* configENABLE_BACKWARD_COMPATIBILITY */
2889 #if ( configUSE_ALTERNATIVE_API != 0 )
2890 #error The alternative API was deprecated some time ago, and was removed in FreeRTOS V9.0 0
2893 /* Set configUSE_TASK_FPU_SUPPORT to 0 to omit floating point support even
2894 * if floating point hardware is otherwise supported by the FreeRTOS port in use.
2895 * This constant is not supported by all FreeRTOS ports that include floating
2897 #ifndef configUSE_TASK_FPU_SUPPORT
2898 #define configUSE_TASK_FPU_SUPPORT 1
2901 /* Set configENABLE_MPU to 1 to enable MPU support and 0 to disable it. This is
2902 * currently used in ARMv8M ports. */
2903 #ifndef configENABLE_MPU
2904 #define configENABLE_MPU 0
2907 /* Set configENABLE_FPU to 1 to enable FPU support and 0 to disable it. This is
2908 * currently used in ARMv8M ports. */
2909 #ifndef configENABLE_FPU
2910 #define configENABLE_FPU 1
2913 /* Set configENABLE_MVE to 1 to enable MVE support and 0 to disable it. This is
2914 * currently used in ARMv8M ports. */
2915 #ifndef configENABLE_MVE
2916 #define configENABLE_MVE 0
2919 /* Set configENABLE_TRUSTZONE to 1 enable TrustZone support and 0 to disable it.
2920 * This is currently used in ARMv8M ports. */
2921 #ifndef configENABLE_TRUSTZONE
2922 #define configENABLE_TRUSTZONE 1
2925 /* Set configRUN_FREERTOS_SECURE_ONLY to 1 to run the FreeRTOS ARMv8M port on
2926 * the Secure Side only. */
2927 #ifndef configRUN_FREERTOS_SECURE_ONLY
2928 #define configRUN_FREERTOS_SECURE_ONLY 0
2931 #ifndef configRUN_ADDITIONAL_TESTS
2932 #define configRUN_ADDITIONAL_TESTS 0
2935 /* The following config allows infinite loop control. For example, control the
2936 * infinite loop in idle task function when performing unit tests. */
2937 #ifndef configCONTROL_INFINITE_LOOP
2938 #define configCONTROL_INFINITE_LOOP()
2941 /* Sometimes the FreeRTOSConfig.h settings only allow a task to be created using
2942 * dynamically allocated RAM, in which case when any task is deleted it is known
2943 * that both the task's stack and TCB need to be freed. Sometimes the
2944 * FreeRTOSConfig.h settings only allow a task to be created using statically
2945 * allocated RAM, in which case when any task is deleted it is known that neither
2946 * the task's stack or TCB should be freed. Sometimes the FreeRTOSConfig.h
2947 * settings allow a task to be created using either statically or dynamically
2948 * allocated RAM, in which case a member of the TCB is used to record whether the
2949 * stack and/or TCB were allocated statically or dynamically, so when a task is
2950 * deleted the RAM that was allocated dynamically is freed again and no attempt is
2951 * made to free the RAM that was allocated statically.
2952 * tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE is only true if it is possible for a
2953 * task to be created using either statically or dynamically allocated RAM. Note
2954 * that if portUSING_MPU_WRAPPERS is 1 then a protected task can be created with
2955 * a statically allocated stack and a dynamically allocated TCB.
2957 * The following table lists various combinations of portUSING_MPU_WRAPPERS,
2958 * configSUPPORT_DYNAMIC_ALLOCATION and configSUPPORT_STATIC_ALLOCATION and
2959 * when it is possible to have both static and dynamic allocation:
2960 * +-----+---------+--------+-----------------------------+-----------------------------------+------------------+-----------+
2961 * | MPU | Dynamic | Static | Available Functions | Possible Allocations | Both Dynamic and | Need Free |
2962 * | | | | | | Static Possible | |
2963 * +-----+---------+--------+-----------------------------+-----------------------------------+------------------+-----------+
2964 * | 0 | 0 | 1 | xTaskCreateStatic | TCB - Static, Stack - Static | No | No |
2965 * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|
2966 * | 0 | 1 | 0 | xTaskCreate | TCB - Dynamic, Stack - Dynamic | No | Yes |
2967 * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|
2968 * | 0 | 1 | 1 | xTaskCreate, | 1. TCB - Dynamic, Stack - Dynamic | Yes | Yes |
2969 * | | | | xTaskCreateStatic | 2. TCB - Static, Stack - Static | | |
2970 * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|
2971 * | 1 | 0 | 1 | xTaskCreateStatic, | TCB - Static, Stack - Static | No | No |
2972 * | | | | xTaskCreateRestrictedStatic | | | |
2973 * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|
2974 * | 1 | 1 | 0 | xTaskCreate, | 1. TCB - Dynamic, Stack - Dynamic | Yes | Yes |
2975 * | | | | xTaskCreateRestricted | 2. TCB - Dynamic, Stack - Static | | |
2976 * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|
2977 * | 1 | 1 | 1 | xTaskCreate, | 1. TCB - Dynamic, Stack - Dynamic | Yes | Yes |
2978 * | | | | xTaskCreateStatic, | 2. TCB - Dynamic, Stack - Static | | |
2979 * | | | | xTaskCreateRestricted, | 3. TCB - Static, Stack - Static | | |
2980 * | | | | xTaskCreateRestrictedStatic | | | |
2981 * +-----+---------+--------+-----------------------------+-----------------------------------+------------------+-----------+
2983 #define tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE \
2984 ( ( ( portUSING_MPU_WRAPPERS == 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) || \
2985 ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) )
2988 * In line with software engineering best practice, FreeRTOS implements a strict
2989 * data hiding policy, so the real structures used by FreeRTOS to maintain the
2990 * state of tasks, queues, semaphores, etc. are not accessible to the application
2991 * code. However, if the application writer wants to statically allocate such
2992 * an object then the size of the object needs to be known. Dummy structures
2993 * that are guaranteed to have the same size and alignment requirements of the
2994 * real objects are used for this purpose. The dummy list and list item
2995 * structures below are used for inclusion in such a dummy structure.
2997 struct xSTATIC_LIST_ITEM
2999 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
3003 void * pvDummy3[ 4 ];
3004 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
3008 typedef struct xSTATIC_LIST_ITEM StaticListItem_t;
3010 #if ( configUSE_MINI_LIST_ITEM == 1 )
3011 /* See the comments above the struct xSTATIC_LIST_ITEM definition. */
3012 struct xSTATIC_MINI_LIST_ITEM
3014 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
3018 void * pvDummy3[ 2 ];
3020 typedef struct xSTATIC_MINI_LIST_ITEM StaticMiniListItem_t;
3021 #else /* if ( configUSE_MINI_LIST_ITEM == 1 ) */
3022 typedef struct xSTATIC_LIST_ITEM StaticMiniListItem_t;
3023 #endif /* if ( configUSE_MINI_LIST_ITEM == 1 ) */
3025 /* See the comments above the struct xSTATIC_LIST_ITEM definition. */
3026 typedef struct xSTATIC_LIST
3028 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
3031 UBaseType_t uxDummy2;
3033 StaticMiniListItem_t xDummy4;
3034 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
3040 * In line with software engineering best practice, especially when supplying a
3041 * library that is likely to change in future versions, FreeRTOS implements a
3042 * strict data hiding policy. This means the Task structure used internally by
3043 * FreeRTOS is not accessible to application code. However, if the application
3044 * writer wants to statically allocate the memory required to create a task then
3045 * the size of the task object needs to be known. The StaticTask_t structure
3046 * below is provided for this purpose. Its sizes and alignment requirements are
3047 * guaranteed to match those of the genuine structure, no matter which
3048 * architecture is being used, and no matter how the values in FreeRTOSConfig.h
3049 * are set. Its contents are somewhat obfuscated in the hope users will
3050 * recognise that it would be unwise to make direct use of the structure members.
3052 typedef struct xSTATIC_TCB
3055 #if ( portUSING_MPU_WRAPPERS == 1 )
3056 xMPU_SETTINGS xDummy2;
3058 #if ( configUSE_CORE_AFFINITY == 1 ) && ( configNUMBER_OF_CORES > 1 )
3059 UBaseType_t uxDummy26;
3061 StaticListItem_t xDummy3[ 2 ];
3062 UBaseType_t uxDummy5;
3064 #if ( configNUMBER_OF_CORES > 1 )
3065 BaseType_t xDummy23;
3066 UBaseType_t uxDummy24;
3068 uint8_t ucDummy7[ configMAX_TASK_NAME_LEN ];
3069 #if ( configUSE_TASK_PREEMPTION_DISABLE == 1 )
3070 BaseType_t xDummy25;
3072 #if ( ( portSTACK_GROWTH > 0 ) || ( configRECORD_STACK_HIGH_ADDRESS == 1 ) )
3075 #if ( portCRITICAL_NESTING_IN_TCB == 1 )
3076 UBaseType_t uxDummy9;
3078 #if ( configUSE_TRACE_FACILITY == 1 )
3079 UBaseType_t uxDummy10[ 2 ];
3081 #if ( configUSE_MUTEXES == 1 )
3082 UBaseType_t uxDummy12[ 2 ];
3084 #if ( configUSE_APPLICATION_TASK_TAG == 1 )
3087 #if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS > 0 )
3088 void * pvDummy15[ configNUM_THREAD_LOCAL_STORAGE_POINTERS ];
3090 #if ( configGENERATE_RUN_TIME_STATS == 1 )
3091 configRUN_TIME_COUNTER_TYPE ulDummy16;
3093 #if ( configUSE_C_RUNTIME_TLS_SUPPORT == 1 )
3094 configTLS_BLOCK_TYPE xDummy17;
3096 #if ( configUSE_TASK_NOTIFICATIONS == 1 )
3097 uint32_t ulDummy18[ configTASK_NOTIFICATION_ARRAY_ENTRIES ];
3098 uint8_t ucDummy19[ configTASK_NOTIFICATION_ARRAY_ENTRIES ];
3100 #if ( tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE != 0 )
3104 #if ( INCLUDE_xTaskAbortDelay == 1 )
3107 #if ( configUSE_POSIX_ERRNO == 1 )
3113 * In line with software engineering best practice, especially when supplying a
3114 * library that is likely to change in future versions, FreeRTOS implements a
3115 * strict data hiding policy. This means the Queue structure used internally by
3116 * FreeRTOS is not accessible to application code. However, if the application
3117 * writer wants to statically allocate the memory required to create a queue
3118 * then the size of the queue object needs to be known. The StaticQueue_t
3119 * structure below is provided for this purpose. Its sizes and alignment
3120 * requirements are guaranteed to match those of the genuine structure, no
3121 * matter which architecture is being used, and no matter how the values in
3122 * FreeRTOSConfig.h are set. Its contents are somewhat obfuscated in the hope
3123 * users will recognise that it would be unwise to make direct use of the
3124 * structure members.
3126 typedef struct xSTATIC_QUEUE
3128 void * pvDummy1[ 3 ];
3133 UBaseType_t uxDummy2;
3136 StaticList_t xDummy3[ 2 ];
3137 UBaseType_t uxDummy4[ 3 ];
3138 uint8_t ucDummy5[ 2 ];
3140 #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
3144 #if ( configUSE_QUEUE_SETS == 1 )
3148 #if ( configUSE_TRACE_FACILITY == 1 )
3149 UBaseType_t uxDummy8;
3153 typedef StaticQueue_t StaticSemaphore_t;
3156 * In line with software engineering best practice, especially when supplying a
3157 * library that is likely to change in future versions, FreeRTOS implements a
3158 * strict data hiding policy. This means the event group structure used
3159 * internally by FreeRTOS is not accessible to application code. However, if
3160 * the application writer wants to statically allocate the memory required to
3161 * create an event group then the size of the event group object needs to be
3162 * know. The StaticEventGroup_t structure below is provided for this purpose.
3163 * Its sizes and alignment requirements are guaranteed to match those of the
3164 * genuine structure, no matter which architecture is being used, and no matter
3165 * how the values in FreeRTOSConfig.h are set. Its contents are somewhat
3166 * obfuscated in the hope users will recognise that it would be unwise to make
3167 * direct use of the structure members.
3169 typedef struct xSTATIC_EVENT_GROUP
3172 StaticList_t xDummy2;
3174 #if ( configUSE_TRACE_FACILITY == 1 )
3175 UBaseType_t uxDummy3;
3178 #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
3181 } StaticEventGroup_t;
3184 * In line with software engineering best practice, especially when supplying a
3185 * library that is likely to change in future versions, FreeRTOS implements a
3186 * strict data hiding policy. This means the software timer structure used
3187 * internally by FreeRTOS is not accessible to application code. However, if
3188 * the application writer wants to statically allocate the memory required to
3189 * create a software timer then the size of the queue object needs to be known.
3190 * The StaticTimer_t structure below is provided for this purpose. Its sizes
3191 * and alignment requirements are guaranteed to match those of the genuine
3192 * structure, no matter which architecture is being used, and no matter how the
3193 * values in FreeRTOSConfig.h are set. Its contents are somewhat obfuscated in
3194 * the hope users will recognise that it would be unwise to make direct use of
3195 * the structure members.
3197 typedef struct xSTATIC_TIMER
3200 StaticListItem_t xDummy2;
3203 TaskFunction_t pvDummy6;
3204 #if ( configUSE_TRACE_FACILITY == 1 )
3205 UBaseType_t uxDummy7;
3211 * In line with software engineering best practice, especially when supplying a
3212 * library that is likely to change in future versions, FreeRTOS implements a
3213 * strict data hiding policy. This means the stream buffer structure used
3214 * internally by FreeRTOS is not accessible to application code. However, if
3215 * the application writer wants to statically allocate the memory required to
3216 * create a stream buffer then the size of the stream buffer object needs to be
3217 * known. The StaticStreamBuffer_t structure below is provided for this
3218 * purpose. Its size and alignment requirements are guaranteed to match those
3219 * of the genuine structure, no matter which architecture is being used, and
3220 * no matter how the values in FreeRTOSConfig.h are set. Its contents are
3221 * somewhat obfuscated in the hope users will recognise that it would be unwise
3222 * to make direct use of the structure members.
3224 typedef struct xSTATIC_STREAM_BUFFER
3226 size_t uxDummy1[ 4 ];
3227 void * pvDummy2[ 3 ];
3229 #if ( configUSE_TRACE_FACILITY == 1 )
3230 UBaseType_t uxDummy4;
3232 #if ( configUSE_SB_COMPLETED_CALLBACK == 1 )
3233 void * pvDummy5[ 2 ];
3235 } StaticStreamBuffer_t;
3237 /* Message buffers are built on stream buffers. */
3238 typedef StaticStreamBuffer_t StaticMessageBuffer_t;
3246 #endif /* INC_FREERTOS_H */