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 #ifndef configUSE_MALLOC_FAILED_HOOK
100 #define configUSE_MALLOC_FAILED_HOOK 0
103 /* Basic FreeRTOS definitions. */
104 #include "projdefs.h"
106 /* Definitions specific to the port being used. */
107 #include "portable.h"
109 /* Must be defaulted before configUSE_NEWLIB_REENTRANT is used below. */
110 #ifndef configUSE_NEWLIB_REENTRANT
111 #define configUSE_NEWLIB_REENTRANT 0
114 /* Required if struct _reent is used. */
115 #if ( configUSE_NEWLIB_REENTRANT == 1 )
117 #include "newlib-freertos.h"
119 #endif /* if ( configUSE_NEWLIB_REENTRANT == 1 ) */
121 /* Must be defaulted before configUSE_PICOLIBC_TLS is used below. */
122 #ifndef configUSE_PICOLIBC_TLS
123 #define configUSE_PICOLIBC_TLS 0
126 #if ( configUSE_PICOLIBC_TLS == 1 )
128 #include "picolibc-freertos.h"
130 #endif /* if ( configUSE_PICOLIBC_TLS == 1 ) */
132 #ifndef configUSE_C_RUNTIME_TLS_SUPPORT
133 #define configUSE_C_RUNTIME_TLS_SUPPORT 0
136 #if ( configUSE_C_RUNTIME_TLS_SUPPORT == 1 )
138 #ifndef configTLS_BLOCK_TYPE
139 #error Missing definition: configTLS_BLOCK_TYPE must be defined in FreeRTOSConfig.h when configUSE_C_RUNTIME_TLS_SUPPORT is set to 1.
142 #ifndef configINIT_TLS_BLOCK
143 #error Missing definition: configINIT_TLS_BLOCK must be defined in FreeRTOSConfig.h when configUSE_C_RUNTIME_TLS_SUPPORT is set to 1.
146 #ifndef configSET_TLS_BLOCK
147 #error Missing definition: configSET_TLS_BLOCK must be defined in FreeRTOSConfig.h when configUSE_C_RUNTIME_TLS_SUPPORT is set to 1.
150 #ifndef configDEINIT_TLS_BLOCK
151 #error Missing definition: configDEINIT_TLS_BLOCK must be defined in FreeRTOSConfig.h when configUSE_C_RUNTIME_TLS_SUPPORT is set to 1.
153 #endif /* if ( configUSE_C_RUNTIME_TLS_SUPPORT == 1 ) */
156 * Check all the required application specific macros have been defined.
157 * These macros are application specific and (as downloaded) are defined
158 * within FreeRTOSConfig.h.
161 #ifndef configMINIMAL_STACK_SIZE
162 #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.
165 #ifndef configMAX_PRIORITIES
166 #error Missing definition: configMAX_PRIORITIES must be defined in FreeRTOSConfig.h. See the Configuration section of the FreeRTOS API documentation for details.
169 #if configMAX_PRIORITIES < 1
170 #error configMAX_PRIORITIES must be defined to be greater than or equal to 1.
173 #ifndef configUSE_PREEMPTION
174 #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.
177 #ifndef configUSE_IDLE_HOOK
178 #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.
181 #if ( configNUMBER_OF_CORES > 1 )
182 #ifndef configUSE_PASSIVE_IDLE_HOOK
183 #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.
187 #ifndef configUSE_TICK_HOOK
188 #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.
191 #if ( ( configTICK_TYPE_WIDTH_IN_BITS != TICK_TYPE_WIDTH_16_BITS ) && \
192 ( configTICK_TYPE_WIDTH_IN_BITS != TICK_TYPE_WIDTH_32_BITS ) && \
193 ( configTICK_TYPE_WIDTH_IN_BITS != TICK_TYPE_WIDTH_64_BITS ) )
194 #error Macro configTICK_TYPE_WIDTH_IN_BITS is defined to incorrect value. See the Configuration section of the FreeRTOS API documentation for details.
197 #ifndef configUSE_CO_ROUTINES
198 #define configUSE_CO_ROUTINES 0
201 #ifndef INCLUDE_vTaskPrioritySet
202 #define INCLUDE_vTaskPrioritySet 0
205 #ifndef INCLUDE_uxTaskPriorityGet
206 #define INCLUDE_uxTaskPriorityGet 0
209 #ifndef INCLUDE_vTaskDelete
210 #define INCLUDE_vTaskDelete 0
213 #ifndef INCLUDE_vTaskSuspend
214 #define INCLUDE_vTaskSuspend 0
217 #ifdef INCLUDE_xTaskDelayUntil
218 #ifdef INCLUDE_vTaskDelayUntil
220 /* INCLUDE_vTaskDelayUntil was replaced by INCLUDE_xTaskDelayUntil. Backward
221 * compatibility is maintained if only one or the other is defined, but
222 * there is a conflict if both are defined. */
223 #error INCLUDE_vTaskDelayUntil and INCLUDE_xTaskDelayUntil are both defined. INCLUDE_vTaskDelayUntil is no longer required and should be removed
227 #ifndef INCLUDE_xTaskDelayUntil
228 #ifdef INCLUDE_vTaskDelayUntil
230 /* If INCLUDE_vTaskDelayUntil is set but INCLUDE_xTaskDelayUntil is not then
231 * the project's FreeRTOSConfig.h probably pre-dates the introduction of
232 * xTaskDelayUntil and setting INCLUDE_xTaskDelayUntil to whatever
233 * INCLUDE_vTaskDelayUntil is set to will ensure backward compatibility.
235 #define INCLUDE_xTaskDelayUntil INCLUDE_vTaskDelayUntil
239 #ifndef INCLUDE_xTaskDelayUntil
240 #define INCLUDE_xTaskDelayUntil 0
243 #ifndef INCLUDE_vTaskDelay
244 #define INCLUDE_vTaskDelay 0
247 #ifndef INCLUDE_xTaskGetIdleTaskHandle
248 #define INCLUDE_xTaskGetIdleTaskHandle 0
251 #ifndef INCLUDE_xTaskAbortDelay
252 #define INCLUDE_xTaskAbortDelay 0
255 #ifndef INCLUDE_xQueueGetMutexHolder
256 #define INCLUDE_xQueueGetMutexHolder 0
259 #ifndef INCLUDE_xSemaphoreGetMutexHolder
260 #define INCLUDE_xSemaphoreGetMutexHolder INCLUDE_xQueueGetMutexHolder
263 #ifndef INCLUDE_xTaskGetHandle
264 #define INCLUDE_xTaskGetHandle 0
267 #ifndef INCLUDE_uxTaskGetStackHighWaterMark
268 #define INCLUDE_uxTaskGetStackHighWaterMark 0
271 #ifndef INCLUDE_uxTaskGetStackHighWaterMark2
272 #define INCLUDE_uxTaskGetStackHighWaterMark2 0
275 #ifndef INCLUDE_eTaskGetState
276 #define INCLUDE_eTaskGetState 0
279 #ifndef INCLUDE_xTaskResumeFromISR
280 #define INCLUDE_xTaskResumeFromISR 1
283 #ifndef INCLUDE_xTimerPendFunctionCall
284 #define INCLUDE_xTimerPendFunctionCall 0
287 #ifndef INCLUDE_xTaskGetSchedulerState
288 #define INCLUDE_xTaskGetSchedulerState 0
291 #ifndef INCLUDE_xTaskGetCurrentTaskHandle
292 #define INCLUDE_xTaskGetCurrentTaskHandle 1
295 #if configUSE_CO_ROUTINES != 0
296 #ifndef configMAX_CO_ROUTINE_PRIORITIES
297 #error configMAX_CO_ROUTINE_PRIORITIES must be greater than or equal to 1.
301 #ifndef configUSE_DAEMON_TASK_STARTUP_HOOK
302 #define configUSE_DAEMON_TASK_STARTUP_HOOK 0
305 #ifndef configUSE_APPLICATION_TASK_TAG
306 #define configUSE_APPLICATION_TASK_TAG 0
309 #ifndef configNUM_THREAD_LOCAL_STORAGE_POINTERS
310 #define configNUM_THREAD_LOCAL_STORAGE_POINTERS 0
313 #ifndef configUSE_RECURSIVE_MUTEXES
314 #define configUSE_RECURSIVE_MUTEXES 0
317 #ifndef configUSE_MUTEXES
318 #define configUSE_MUTEXES 0
321 #ifndef configUSE_TIMERS
322 #define configUSE_TIMERS 0
325 #ifndef configUSE_COUNTING_SEMAPHORES
326 #define configUSE_COUNTING_SEMAPHORES 0
329 #ifndef configUSE_TASK_PREEMPTION_DISABLE
330 #define configUSE_TASK_PREEMPTION_DISABLE 0
333 #ifndef configUSE_ALTERNATIVE_API
334 #define configUSE_ALTERNATIVE_API 0
337 #ifndef portCRITICAL_NESTING_IN_TCB
338 #define portCRITICAL_NESTING_IN_TCB 0
341 #ifndef configMAX_TASK_NAME_LEN
342 #define configMAX_TASK_NAME_LEN 16
345 #ifndef configIDLE_SHOULD_YIELD
346 #define configIDLE_SHOULD_YIELD 1
349 #if configMAX_TASK_NAME_LEN < 1
350 #error configMAX_TASK_NAME_LEN must be set to a minimum of 1 in FreeRTOSConfig.h
354 #define configASSERT( x )
355 #define configASSERT_DEFINED 0
357 #define configASSERT_DEFINED 1
360 /* configPRECONDITION should be defined as configASSERT.
361 * The CBMC proofs need a way to track assumptions and assertions.
362 * A configPRECONDITION statement should express an implicit invariant or
363 * assumption made. A configASSERT statement should express an invariant that must
364 * hold explicit before calling the code. */
365 #ifndef configPRECONDITION
366 #define configPRECONDITION( X ) configASSERT( X )
367 #define configPRECONDITION_DEFINED 0
369 #define configPRECONDITION_DEFINED 1
372 #ifndef configCHECK_HANDLER_INSTALLATION
373 #define configCHECK_HANDLER_INSTALLATION 1
376 /* The application has explicitly defined configCHECK_HANDLER_INSTALLATION
377 * to 1. The checks requires configASSERT() to be defined. */
378 #if ( ( configCHECK_HANDLER_INSTALLATION == 1 ) && ( configASSERT_DEFINED == 0 ) )
379 #error You must define configASSERT() when configCHECK_HANDLER_INSTALLATION is 1.
383 #ifndef portMEMORY_BARRIER
384 #define portMEMORY_BARRIER()
387 #ifndef portSOFTWARE_BARRIER
388 #define portSOFTWARE_BARRIER()
391 #ifndef configRUN_MULTIPLE_PRIORITIES
392 #define configRUN_MULTIPLE_PRIORITIES 0
395 #ifndef portGET_CORE_ID
397 #if ( configNUMBER_OF_CORES == 1 )
398 #define portGET_CORE_ID() 0
400 #error configNUMBER_OF_CORES is set to more than 1 then portGET_CORE_ID must also be defined.
401 #endif /* configNUMBER_OF_CORES */
403 #endif /* portGET_CORE_ID */
405 #ifndef portYIELD_CORE
407 #if ( configNUMBER_OF_CORES == 1 )
408 #define portYIELD_CORE( x ) portYIELD()
410 #error configNUMBER_OF_CORES is set to more than 1 then portYIELD_CORE must also be defined.
411 #endif /* configNUMBER_OF_CORES */
413 #endif /* portYIELD_CORE */
415 #ifndef portSET_INTERRUPT_MASK
417 #if ( configNUMBER_OF_CORES > 1 )
418 #error portSET_INTERRUPT_MASK is required in SMP
421 #endif /* portSET_INTERRUPT_MASK */
423 #ifndef portCLEAR_INTERRUPT_MASK
425 #if ( configNUMBER_OF_CORES > 1 )
426 #error portCLEAR_INTERRUPT_MASK is required in SMP
429 #endif /* portCLEAR_INTERRUPT_MASK */
431 #ifndef portRELEASE_TASK_LOCK
433 #if ( configNUMBER_OF_CORES == 1 )
434 #define portRELEASE_TASK_LOCK()
436 #error portRELEASE_TASK_LOCK is required in SMP
439 #endif /* portRELEASE_TASK_LOCK */
441 #ifndef portGET_TASK_LOCK
443 #if ( configNUMBER_OF_CORES == 1 )
444 #define portGET_TASK_LOCK()
446 #error portGET_TASK_LOCK is required in SMP
449 #endif /* portGET_TASK_LOCK */
451 #ifndef portRELEASE_ISR_LOCK
453 #if ( configNUMBER_OF_CORES == 1 )
454 #define portRELEASE_ISR_LOCK()
456 #error portRELEASE_ISR_LOCK is required in SMP
459 #endif /* portRELEASE_ISR_LOCK */
461 #ifndef portGET_ISR_LOCK
463 #if ( configNUMBER_OF_CORES == 1 )
464 #define portGET_ISR_LOCK()
466 #error portGET_ISR_LOCK is required in SMP
469 #endif /* portGET_ISR_LOCK */
471 #ifndef portENTER_CRITICAL_FROM_ISR
473 #if ( configNUMBER_OF_CORES > 1 )
474 #error portENTER_CRITICAL_FROM_ISR is required in SMP
479 #ifndef portEXIT_CRITICAL_FROM_ISR
481 #if ( configNUMBER_OF_CORES > 1 )
482 #error portEXIT_CRITICAL_FROM_ISR is required in SMP
487 #ifndef configUSE_CORE_AFFINITY
488 #define configUSE_CORE_AFFINITY 0
489 #endif /* configUSE_CORE_AFFINITY */
491 #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
492 #ifndef configTASK_DEFAULT_CORE_AFFINITY
493 #define configTASK_DEFAULT_CORE_AFFINITY tskNO_AFFINITY
497 #ifndef configUSE_PASSIVE_IDLE_HOOK
498 #define configUSE_PASSIVE_IDLE_HOOK 0
499 #endif /* configUSE_PASSIVE_IDLE_HOOK */
501 /* The timers module relies on xTaskGetSchedulerState(). */
502 #if configUSE_TIMERS == 1
504 #ifndef configTIMER_TASK_PRIORITY
505 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_PRIORITY must also be defined.
506 #endif /* configTIMER_TASK_PRIORITY */
508 #ifndef configTIMER_QUEUE_LENGTH
509 #error If configUSE_TIMERS is set to 1 then configTIMER_QUEUE_LENGTH must also be defined.
510 #endif /* configTIMER_QUEUE_LENGTH */
512 #ifndef configTIMER_TASK_STACK_DEPTH
513 #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_STACK_DEPTH must also be defined.
514 #endif /* configTIMER_TASK_STACK_DEPTH */
516 #ifndef portTIMER_CALLBACK_ATTRIBUTE
517 #define portTIMER_CALLBACK_ATTRIBUTE
518 #endif /* portTIMER_CALLBACK_ATTRIBUTE */
520 #endif /* configUSE_TIMERS */
522 #ifndef portHAS_NESTED_INTERRUPTS
523 #if defined( portSET_INTERRUPT_MASK_FROM_ISR ) && defined( portCLEAR_INTERRUPT_MASK_FROM_ISR )
524 #define portHAS_NESTED_INTERRUPTS 1
526 #define portHAS_NESTED_INTERRUPTS 0
530 #ifndef portSET_INTERRUPT_MASK_FROM_ISR
531 #if ( portHAS_NESTED_INTERRUPTS == 1 )
532 #error portSET_INTERRUPT_MASK_FROM_ISR must be defined for ports that support nested interrupts (i.e. portHAS_NESTED_INTERRUPTS is set to 1)
534 #define portSET_INTERRUPT_MASK_FROM_ISR() 0
537 #if ( portHAS_NESTED_INTERRUPTS == 0 )
538 #error portSET_INTERRUPT_MASK_FROM_ISR must not be defined for ports that do not support nested interrupts (i.e. portHAS_NESTED_INTERRUPTS is set to 0)
542 #ifndef portCLEAR_INTERRUPT_MASK_FROM_ISR
543 #if ( portHAS_NESTED_INTERRUPTS == 1 )
544 #error portCLEAR_INTERRUPT_MASK_FROM_ISR must be defined for ports that support nested interrupts (i.e. portHAS_NESTED_INTERRUPTS is set to 1)
546 #define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusValue ) ( void ) ( uxSavedStatusValue )
549 #if ( portHAS_NESTED_INTERRUPTS == 0 )
550 #error portCLEAR_INTERRUPT_MASK_FROM_ISR must not be defined for ports that do not support nested interrupts (i.e. portHAS_NESTED_INTERRUPTS is set to 0)
554 #ifndef portCLEAN_UP_TCB
555 #define portCLEAN_UP_TCB( pxTCB ) ( void ) ( pxTCB )
558 #ifndef portPRE_TASK_DELETE_HOOK
559 #define portPRE_TASK_DELETE_HOOK( pvTaskToDelete, pxYieldPending )
562 #ifndef portSETUP_TCB
563 #define portSETUP_TCB( pxTCB ) ( void ) ( pxTCB )
566 #ifndef portTASK_SWITCH_HOOK
567 #define portTASK_SWITCH_HOOK( pxTCB ) ( void ) ( pxTCB )
570 #ifndef configQUEUE_REGISTRY_SIZE
571 #define configQUEUE_REGISTRY_SIZE 0U
574 #if ( configQUEUE_REGISTRY_SIZE < 1 )
575 #define vQueueAddToRegistry( xQueue, pcName )
576 #define vQueueUnregisterQueue( xQueue )
577 #define pcQueueGetName( xQueue )
580 #ifndef configUSE_MINI_LIST_ITEM
581 #define configUSE_MINI_LIST_ITEM 1
584 #ifndef portPOINTER_SIZE_TYPE
585 #define portPOINTER_SIZE_TYPE uint32_t
588 /* Remove any unused trace macros. */
591 /* Used to perform any necessary initialisation - for example, open a file
592 * into which trace is to be written. */
598 /* Use to close a trace, for example close a file into which trace has been
603 #ifndef traceTASK_SWITCHED_IN
605 /* Called after a task has been selected to run. pxCurrentTCB holds a pointer
606 * to the task control block of the selected task. */
607 #define traceTASK_SWITCHED_IN()
610 #ifndef traceINCREASE_TICK_COUNT
612 /* Called before stepping the tick count after waking from tickless idle
614 #define traceINCREASE_TICK_COUNT( x )
617 #ifndef traceLOW_POWER_IDLE_BEGIN
618 /* Called immediately before entering tickless idle. */
619 #define traceLOW_POWER_IDLE_BEGIN()
622 #ifndef traceLOW_POWER_IDLE_END
623 /* Called when returning to the Idle task after a tickless idle. */
624 #define traceLOW_POWER_IDLE_END()
627 #ifndef traceTASK_SWITCHED_OUT
629 /* Called before a task has been selected to run. pxCurrentTCB holds a pointer
630 * to the task control block of the task being switched out. */
631 #define traceTASK_SWITCHED_OUT()
634 #ifndef traceTASK_PRIORITY_INHERIT
636 /* Called when a task attempts to take a mutex that is already held by a
637 * lower priority task. pxTCBOfMutexHolder is a pointer to the TCB of the task
638 * that holds the mutex. uxInheritedPriority is the priority the mutex holder
639 * will inherit (the priority of the task that is attempting to obtain the
641 #define traceTASK_PRIORITY_INHERIT( pxTCBOfMutexHolder, uxInheritedPriority )
644 #ifndef traceTASK_PRIORITY_DISINHERIT
646 /* Called when a task releases a mutex, the holding of which had resulted in
647 * the task inheriting the priority of a higher priority task.
648 * pxTCBOfMutexHolder is a pointer to the TCB of the task that is releasing the
649 * mutex. uxOriginalPriority is the task's configured (base) priority. */
650 #define traceTASK_PRIORITY_DISINHERIT( pxTCBOfMutexHolder, uxOriginalPriority )
653 #ifndef traceBLOCKING_ON_QUEUE_RECEIVE
655 /* Task is about to block because it cannot read from a
656 * queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore
657 * upon which the read was attempted. pxCurrentTCB points to the TCB of the
658 * task that attempted the read. */
659 #define traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue )
662 #ifndef traceBLOCKING_ON_QUEUE_PEEK
664 /* Task is about to block because it cannot read from a
665 * queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore
666 * upon which the read was attempted. pxCurrentTCB points to the TCB of the
667 * task that attempted the read. */
668 #define traceBLOCKING_ON_QUEUE_PEEK( pxQueue )
671 #ifndef traceBLOCKING_ON_QUEUE_SEND
673 /* Task is about to block because it cannot write to a
674 * queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore
675 * upon which the write was attempted. pxCurrentTCB points to the TCB of the
676 * task that attempted the write. */
677 #define traceBLOCKING_ON_QUEUE_SEND( pxQueue )
680 #ifndef configCHECK_FOR_STACK_OVERFLOW
681 #define configCHECK_FOR_STACK_OVERFLOW 0
684 #ifndef configRECORD_STACK_HIGH_ADDRESS
685 #define configRECORD_STACK_HIGH_ADDRESS 0
688 #ifndef configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H
689 #define configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H 0
692 /* The following event macros are embedded in the kernel API calls. */
694 #ifndef traceMOVED_TASK_TO_READY_STATE
695 #define traceMOVED_TASK_TO_READY_STATE( pxTCB )
698 #ifndef tracePOST_MOVED_TASK_TO_READY_STATE
699 #define tracePOST_MOVED_TASK_TO_READY_STATE( pxTCB )
702 #ifndef traceMOVED_TASK_TO_DELAYED_LIST
703 #define traceMOVED_TASK_TO_DELAYED_LIST()
706 #ifndef traceMOVED_TASK_TO_OVERFLOW_DELAYED_LIST
707 #define traceMOVED_TASK_TO_OVERFLOW_DELAYED_LIST()
710 #ifndef traceQUEUE_CREATE
711 #define traceQUEUE_CREATE( pxNewQueue )
714 #ifndef traceQUEUE_CREATE_FAILED
715 #define traceQUEUE_CREATE_FAILED( ucQueueType )
718 #ifndef traceCREATE_MUTEX
719 #define traceCREATE_MUTEX( pxNewQueue )
722 #ifndef traceCREATE_MUTEX_FAILED
723 #define traceCREATE_MUTEX_FAILED()
726 #ifndef traceGIVE_MUTEX_RECURSIVE
727 #define traceGIVE_MUTEX_RECURSIVE( pxMutex )
730 #ifndef traceGIVE_MUTEX_RECURSIVE_FAILED
731 #define traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex )
734 #ifndef traceTAKE_MUTEX_RECURSIVE
735 #define traceTAKE_MUTEX_RECURSIVE( pxMutex )
738 #ifndef traceTAKE_MUTEX_RECURSIVE_FAILED
739 #define traceTAKE_MUTEX_RECURSIVE_FAILED( pxMutex )
742 #ifndef traceCREATE_COUNTING_SEMAPHORE
743 #define traceCREATE_COUNTING_SEMAPHORE()
746 #ifndef traceCREATE_COUNTING_SEMAPHORE_FAILED
747 #define traceCREATE_COUNTING_SEMAPHORE_FAILED()
750 #ifndef traceQUEUE_SET_SEND
751 #define traceQUEUE_SET_SEND traceQUEUE_SEND
754 #ifndef traceQUEUE_SEND
755 #define traceQUEUE_SEND( pxQueue )
758 #ifndef traceQUEUE_SEND_FAILED
759 #define traceQUEUE_SEND_FAILED( pxQueue )
762 #ifndef traceQUEUE_RECEIVE
763 #define traceQUEUE_RECEIVE( pxQueue )
766 #ifndef traceQUEUE_PEEK
767 #define traceQUEUE_PEEK( pxQueue )
770 #ifndef traceQUEUE_PEEK_FAILED
771 #define traceQUEUE_PEEK_FAILED( pxQueue )
774 #ifndef traceQUEUE_PEEK_FROM_ISR
775 #define traceQUEUE_PEEK_FROM_ISR( pxQueue )
778 #ifndef traceQUEUE_RECEIVE_FAILED
779 #define traceQUEUE_RECEIVE_FAILED( pxQueue )
782 #ifndef traceQUEUE_SEND_FROM_ISR
783 #define traceQUEUE_SEND_FROM_ISR( pxQueue )
786 #ifndef traceQUEUE_SEND_FROM_ISR_FAILED
787 #define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue )
790 #ifndef traceQUEUE_RECEIVE_FROM_ISR
791 #define traceQUEUE_RECEIVE_FROM_ISR( pxQueue )
794 #ifndef traceQUEUE_RECEIVE_FROM_ISR_FAILED
795 #define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue )
798 #ifndef traceQUEUE_PEEK_FROM_ISR_FAILED
799 #define traceQUEUE_PEEK_FROM_ISR_FAILED( pxQueue )
802 #ifndef traceQUEUE_DELETE
803 #define traceQUEUE_DELETE( pxQueue )
806 #ifndef traceTASK_CREATE
807 #define traceTASK_CREATE( pxNewTCB )
810 #ifndef traceTASK_CREATE_FAILED
811 #define traceTASK_CREATE_FAILED()
814 #ifndef traceTASK_DELETE
815 #define traceTASK_DELETE( pxTaskToDelete )
818 #ifndef traceTASK_DELAY_UNTIL
819 #define traceTASK_DELAY_UNTIL( x )
822 #ifndef traceTASK_DELAY
823 #define traceTASK_DELAY()
826 #ifndef traceTASK_PRIORITY_SET
827 #define traceTASK_PRIORITY_SET( pxTask, uxNewPriority )
830 #ifndef traceTASK_SUSPEND
831 #define traceTASK_SUSPEND( pxTaskToSuspend )
834 #ifndef traceTASK_RESUME
835 #define traceTASK_RESUME( pxTaskToResume )
838 #ifndef traceTASK_RESUME_FROM_ISR
839 #define traceTASK_RESUME_FROM_ISR( pxTaskToResume )
842 #ifndef traceTASK_INCREMENT_TICK
843 #define traceTASK_INCREMENT_TICK( xTickCount )
846 #ifndef traceTIMER_CREATE
847 #define traceTIMER_CREATE( pxNewTimer )
850 #ifndef traceTIMER_CREATE_FAILED
851 #define traceTIMER_CREATE_FAILED()
854 #ifndef traceTIMER_COMMAND_SEND
855 #define traceTIMER_COMMAND_SEND( xTimer, xMessageID, xMessageValueValue, xReturn )
858 #ifndef traceTIMER_EXPIRED
859 #define traceTIMER_EXPIRED( pxTimer )
862 #ifndef traceTIMER_COMMAND_RECEIVED
863 #define traceTIMER_COMMAND_RECEIVED( pxTimer, xMessageID, xMessageValue )
867 #define traceMALLOC( pvAddress, uiSize )
871 #define traceFREE( pvAddress, uiSize )
874 #ifndef traceEVENT_GROUP_CREATE
875 #define traceEVENT_GROUP_CREATE( xEventGroup )
878 #ifndef traceEVENT_GROUP_CREATE_FAILED
879 #define traceEVENT_GROUP_CREATE_FAILED()
882 #ifndef traceEVENT_GROUP_SYNC_BLOCK
883 #define traceEVENT_GROUP_SYNC_BLOCK( xEventGroup, uxBitsToSet, uxBitsToWaitFor )
886 #ifndef traceEVENT_GROUP_SYNC_END
887 #define traceEVENT_GROUP_SYNC_END( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) ( xTimeoutOccurred )
890 #ifndef traceEVENT_GROUP_WAIT_BITS_BLOCK
891 #define traceEVENT_GROUP_WAIT_BITS_BLOCK( xEventGroup, uxBitsToWaitFor )
894 #ifndef traceEVENT_GROUP_WAIT_BITS_END
895 #define traceEVENT_GROUP_WAIT_BITS_END( xEventGroup, uxBitsToWaitFor, xTimeoutOccurred ) ( void ) ( xTimeoutOccurred )
898 #ifndef traceEVENT_GROUP_CLEAR_BITS
899 #define traceEVENT_GROUP_CLEAR_BITS( xEventGroup, uxBitsToClear )
902 #ifndef traceEVENT_GROUP_CLEAR_BITS_FROM_ISR
903 #define traceEVENT_GROUP_CLEAR_BITS_FROM_ISR( xEventGroup, uxBitsToClear )
906 #ifndef traceEVENT_GROUP_SET_BITS
907 #define traceEVENT_GROUP_SET_BITS( xEventGroup, uxBitsToSet )
910 #ifndef traceEVENT_GROUP_SET_BITS_FROM_ISR
911 #define traceEVENT_GROUP_SET_BITS_FROM_ISR( xEventGroup, uxBitsToSet )
914 #ifndef traceEVENT_GROUP_DELETE
915 #define traceEVENT_GROUP_DELETE( xEventGroup )
918 #ifndef tracePEND_FUNC_CALL
919 #define tracePEND_FUNC_CALL( xFunctionToPend, pvParameter1, ulParameter2, ret )
922 #ifndef tracePEND_FUNC_CALL_FROM_ISR
923 #define tracePEND_FUNC_CALL_FROM_ISR( xFunctionToPend, pvParameter1, ulParameter2, ret )
926 #ifndef traceQUEUE_REGISTRY_ADD
927 #define traceQUEUE_REGISTRY_ADD( xQueue, pcQueueName )
930 #ifndef traceTASK_NOTIFY_TAKE_BLOCK
931 #define traceTASK_NOTIFY_TAKE_BLOCK( uxIndexToWait )
934 #ifndef traceTASK_NOTIFY_TAKE
935 #define traceTASK_NOTIFY_TAKE( uxIndexToWait )
938 #ifndef traceTASK_NOTIFY_WAIT_BLOCK
939 #define traceTASK_NOTIFY_WAIT_BLOCK( uxIndexToWait )
942 #ifndef traceTASK_NOTIFY_WAIT
943 #define traceTASK_NOTIFY_WAIT( uxIndexToWait )
946 #ifndef traceTASK_NOTIFY
947 #define traceTASK_NOTIFY( uxIndexToNotify )
950 #ifndef traceTASK_NOTIFY_FROM_ISR
951 #define traceTASK_NOTIFY_FROM_ISR( uxIndexToNotify )
954 #ifndef traceTASK_NOTIFY_GIVE_FROM_ISR
955 #define traceTASK_NOTIFY_GIVE_FROM_ISR( uxIndexToNotify )
958 #ifndef traceISR_EXIT_TO_SCHEDULER
959 #define traceISR_EXIT_TO_SCHEDULER()
962 #ifndef traceISR_EXIT
963 #define traceISR_EXIT()
966 #ifndef traceISR_ENTER
967 #define traceISR_ENTER()
970 #ifndef traceSTREAM_BUFFER_CREATE_FAILED
971 #define traceSTREAM_BUFFER_CREATE_FAILED( xIsMessageBuffer )
974 #ifndef traceSTREAM_BUFFER_CREATE_STATIC_FAILED
975 #define traceSTREAM_BUFFER_CREATE_STATIC_FAILED( xReturn, xIsMessageBuffer )
978 #ifndef traceSTREAM_BUFFER_CREATE
979 #define traceSTREAM_BUFFER_CREATE( pxStreamBuffer, xIsMessageBuffer )
982 #ifndef traceSTREAM_BUFFER_DELETE
983 #define traceSTREAM_BUFFER_DELETE( xStreamBuffer )
986 #ifndef traceSTREAM_BUFFER_RESET
987 #define traceSTREAM_BUFFER_RESET( xStreamBuffer )
990 #ifndef traceBLOCKING_ON_STREAM_BUFFER_SEND
991 #define traceBLOCKING_ON_STREAM_BUFFER_SEND( xStreamBuffer )
994 #ifndef traceSTREAM_BUFFER_SEND
995 #define traceSTREAM_BUFFER_SEND( xStreamBuffer, xBytesSent )
998 #ifndef traceSTREAM_BUFFER_SEND_FAILED
999 #define traceSTREAM_BUFFER_SEND_FAILED( xStreamBuffer )
1002 #ifndef traceSTREAM_BUFFER_SEND_FROM_ISR
1003 #define traceSTREAM_BUFFER_SEND_FROM_ISR( xStreamBuffer, xBytesSent )
1006 #ifndef traceBLOCKING_ON_STREAM_BUFFER_RECEIVE
1007 #define traceBLOCKING_ON_STREAM_BUFFER_RECEIVE( xStreamBuffer )
1010 #ifndef traceSTREAM_BUFFER_RECEIVE
1011 #define traceSTREAM_BUFFER_RECEIVE( xStreamBuffer, xReceivedLength )
1014 #ifndef traceSTREAM_BUFFER_RECEIVE_FAILED
1015 #define traceSTREAM_BUFFER_RECEIVE_FAILED( xStreamBuffer )
1018 #ifndef traceSTREAM_BUFFER_RECEIVE_FROM_ISR
1019 #define traceSTREAM_BUFFER_RECEIVE_FROM_ISR( xStreamBuffer, xReceivedLength )
1022 #ifndef traceENTER_xEventGroupCreateStatic
1023 #define traceENTER_xEventGroupCreateStatic( pxEventGroupBuffer )
1026 #ifndef traceRETURN_xEventGroupCreateStatic
1027 #define traceRETURN_xEventGroupCreateStatic( pxEventBits )
1030 #ifndef traceENTER_xEventGroupCreate
1031 #define traceENTER_xEventGroupCreate()
1034 #ifndef traceRETURN_xEventGroupCreate
1035 #define traceRETURN_xEventGroupCreate( pxEventBits )
1038 #ifndef traceENTER_xEventGroupSync
1039 #define traceENTER_xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait )
1042 #ifndef traceRETURN_xEventGroupSync
1043 #define traceRETURN_xEventGroupSync( uxReturn )
1046 #ifndef traceENTER_xEventGroupWaitBits
1047 #define traceENTER_xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait )
1050 #ifndef traceRETURN_xEventGroupWaitBits
1051 #define traceRETURN_xEventGroupWaitBits( uxReturn )
1054 #ifndef traceENTER_xEventGroupClearBits
1055 #define traceENTER_xEventGroupClearBits( xEventGroup, uxBitsToClear )
1058 #ifndef traceRETURN_xEventGroupClearBits
1059 #define traceRETURN_xEventGroupClearBits( uxReturn )
1062 #ifndef traceENTER_xEventGroupClearBitsFromISR
1063 #define traceENTER_xEventGroupClearBitsFromISR( xEventGroup, uxBitsToClear )
1066 #ifndef traceRETURN_xEventGroupClearBitsFromISR
1067 #define traceRETURN_xEventGroupClearBitsFromISR( xReturn )
1070 #ifndef traceENTER_xEventGroupGetBitsFromISR
1071 #define traceENTER_xEventGroupGetBitsFromISR( xEventGroup )
1074 #ifndef traceRETURN_xEventGroupGetBitsFromISR
1075 #define traceRETURN_xEventGroupGetBitsFromISR( uxReturn )
1078 #ifndef traceENTER_xEventGroupSetBits
1079 #define traceENTER_xEventGroupSetBits( xEventGroup, uxBitsToSet )
1082 #ifndef traceRETURN_xEventGroupSetBits
1083 #define traceRETURN_xEventGroupSetBits( uxEventBits )
1086 #ifndef traceENTER_vEventGroupDelete
1087 #define traceENTER_vEventGroupDelete( xEventGroup )
1090 #ifndef traceRETURN_vEventGroupDelete
1091 #define traceRETURN_vEventGroupDelete()
1094 #ifndef traceENTER_xEventGroupGetStaticBuffer
1095 #define traceENTER_xEventGroupGetStaticBuffer( xEventGroup, ppxEventGroupBuffer )
1098 #ifndef traceRETURN_xEventGroupGetStaticBuffer
1099 #define traceRETURN_xEventGroupGetStaticBuffer( xReturn )
1102 #ifndef traceENTER_vEventGroupSetBitsCallback
1103 #define traceENTER_vEventGroupSetBitsCallback( pvEventGroup, ulBitsToSet )
1106 #ifndef traceRETURN_vEventGroupSetBitsCallback
1107 #define traceRETURN_vEventGroupSetBitsCallback()
1110 #ifndef traceENTER_vEventGroupClearBitsCallback
1111 #define traceENTER_vEventGroupClearBitsCallback( pvEventGroup, ulBitsToClear )
1114 #ifndef traceRETURN_vEventGroupClearBitsCallback
1115 #define traceRETURN_vEventGroupClearBitsCallback()
1118 #ifndef traceENTER_xEventGroupSetBitsFromISR
1119 #define traceENTER_xEventGroupSetBitsFromISR( xEventGroup, uxBitsToSet, pxHigherPriorityTaskWoken )
1122 #ifndef traceRETURN_xEventGroupSetBitsFromISR
1123 #define traceRETURN_xEventGroupSetBitsFromISR( xReturn )
1126 #ifndef traceENTER_uxEventGroupGetNumber
1127 #define traceENTER_uxEventGroupGetNumber( xEventGroup )
1130 #ifndef traceRETURN_uxEventGroupGetNumber
1131 #define traceRETURN_uxEventGroupGetNumber( xReturn )
1134 #ifndef traceENTER_vEventGroupSetNumber
1135 #define traceENTER_vEventGroupSetNumber( xEventGroup, uxEventGroupNumber )
1138 #ifndef traceRETURN_vEventGroupSetNumber
1139 #define traceRETURN_vEventGroupSetNumber()
1142 #ifndef traceENTER_xQueueGenericReset
1143 #define traceENTER_xQueueGenericReset( xQueue, xNewQueue )
1146 #ifndef traceRETURN_xQueueGenericReset
1147 #define traceRETURN_xQueueGenericReset( xReturn )
1150 #ifndef traceENTER_xQueueGenericCreateStatic
1151 #define traceENTER_xQueueGenericCreateStatic( uxQueueLength, uxItemSize, pucQueueStorage, pxStaticQueue, ucQueueType )
1154 #ifndef traceRETURN_xQueueGenericCreateStatic
1155 #define traceRETURN_xQueueGenericCreateStatic( pxNewQueue )
1158 #ifndef traceENTER_xQueueGenericGetStaticBuffers
1159 #define traceENTER_xQueueGenericGetStaticBuffers( xQueue, ppucQueueStorage, ppxStaticQueue )
1162 #ifndef traceRETURN_xQueueGenericGetStaticBuffers
1163 #define traceRETURN_xQueueGenericGetStaticBuffers( xReturn )
1166 #ifndef traceENTER_xQueueGenericCreate
1167 #define traceENTER_xQueueGenericCreate( uxQueueLength, uxItemSize, ucQueueType )
1170 #ifndef traceRETURN_xQueueGenericCreate
1171 #define traceRETURN_xQueueGenericCreate( pxNewQueue )
1174 #ifndef traceENTER_xQueueCreateMutex
1175 #define traceENTER_xQueueCreateMutex( ucQueueType )
1178 #ifndef traceRETURN_xQueueCreateMutex
1179 #define traceRETURN_xQueueCreateMutex( xNewQueue )
1182 #ifndef traceENTER_xQueueCreateMutexStatic
1183 #define traceENTER_xQueueCreateMutexStatic( ucQueueType, pxStaticQueue )
1186 #ifndef traceRETURN_xQueueCreateMutexStatic
1187 #define traceRETURN_xQueueCreateMutexStatic( xNewQueue )
1190 #ifndef traceENTER_xQueueGetMutexHolder
1191 #define traceENTER_xQueueGetMutexHolder( xSemaphore )
1194 #ifndef traceRETURN_xQueueGetMutexHolder
1195 #define traceRETURN_xQueueGetMutexHolder( pxReturn )
1198 #ifndef traceENTER_xQueueGetMutexHolderFromISR
1199 #define traceENTER_xQueueGetMutexHolderFromISR( xSemaphore )
1202 #ifndef traceRETURN_xQueueGetMutexHolderFromISR
1203 #define traceRETURN_xQueueGetMutexHolderFromISR( pxReturn )
1206 #ifndef traceENTER_xQueueGiveMutexRecursive
1207 #define traceENTER_xQueueGiveMutexRecursive( xMutex )
1210 #ifndef traceRETURN_xQueueGiveMutexRecursive
1211 #define traceRETURN_xQueueGiveMutexRecursive( xReturn )
1214 #ifndef traceENTER_xQueueTakeMutexRecursive
1215 #define traceENTER_xQueueTakeMutexRecursive( xMutex, xTicksToWait )
1218 #ifndef traceRETURN_xQueueTakeMutexRecursive
1219 #define traceRETURN_xQueueTakeMutexRecursive( xReturn )
1222 #ifndef traceENTER_xQueueCreateCountingSemaphoreStatic
1223 #define traceENTER_xQueueCreateCountingSemaphoreStatic( uxMaxCount, uxInitialCount, pxStaticQueue )
1226 #ifndef traceRETURN_xQueueCreateCountingSemaphoreStatic
1227 #define traceRETURN_xQueueCreateCountingSemaphoreStatic( xHandle )
1230 #ifndef traceENTER_xQueueCreateCountingSemaphore
1231 #define traceENTER_xQueueCreateCountingSemaphore( uxMaxCount, uxInitialCount )
1234 #ifndef traceRETURN_xQueueCreateCountingSemaphore
1235 #define traceRETURN_xQueueCreateCountingSemaphore( xHandle )
1238 #ifndef traceENTER_xQueueGenericSend
1239 #define traceENTER_xQueueGenericSend( xQueue, pvItemToQueue, xTicksToWait, xCopyPosition )
1242 #ifndef traceRETURN_xQueueGenericSend
1243 #define traceRETURN_xQueueGenericSend( xReturn )
1246 #ifndef traceENTER_xQueueGenericSendFromISR
1247 #define traceENTER_xQueueGenericSendFromISR( xQueue, pvItemToQueue, pxHigherPriorityTaskWoken, xCopyPosition )
1250 #ifndef traceRETURN_xQueueGenericSendFromISR
1251 #define traceRETURN_xQueueGenericSendFromISR( xReturn )
1254 #ifndef traceENTER_xQueueGiveFromISR
1255 #define traceENTER_xQueueGiveFromISR( xQueue, pxHigherPriorityTaskWoken )
1258 #ifndef traceRETURN_xQueueGiveFromISR
1259 #define traceRETURN_xQueueGiveFromISR( xReturn )
1262 #ifndef traceENTER_xQueueReceive
1263 #define traceENTER_xQueueReceive( xQueue, pvBuffer, xTicksToWait )
1266 #ifndef traceRETURN_xQueueReceive
1267 #define traceRETURN_xQueueReceive( xReturn )
1270 #ifndef traceENTER_xQueueSemaphoreTake
1271 #define traceENTER_xQueueSemaphoreTake( xQueue, xTicksToWait )
1274 #ifndef traceRETURN_xQueueSemaphoreTake
1275 #define traceRETURN_xQueueSemaphoreTake( xReturn )
1278 #ifndef traceENTER_xQueuePeek
1279 #define traceENTER_xQueuePeek( xQueue, pvBuffer, xTicksToWait )
1282 #ifndef traceRETURN_xQueuePeek
1283 #define traceRETURN_xQueuePeek( xReturn )
1286 #ifndef traceENTER_xQueueReceiveFromISR
1287 #define traceENTER_xQueueReceiveFromISR( xQueue, pvBuffer, pxHigherPriorityTaskWoken )
1290 #ifndef traceRETURN_xQueueReceiveFromISR
1291 #define traceRETURN_xQueueReceiveFromISR( xReturn )
1294 #ifndef traceENTER_xQueuePeekFromISR
1295 #define traceENTER_xQueuePeekFromISR( xQueue, pvBuffer )
1298 #ifndef traceRETURN_xQueuePeekFromISR
1299 #define traceRETURN_xQueuePeekFromISR( xReturn )
1302 #ifndef traceENTER_uxQueueMessagesWaiting
1303 #define traceENTER_uxQueueMessagesWaiting( xQueue )
1306 #ifndef traceRETURN_uxQueueMessagesWaiting
1307 #define traceRETURN_uxQueueMessagesWaiting( uxReturn )
1310 #ifndef traceENTER_uxQueueSpacesAvailable
1311 #define traceENTER_uxQueueSpacesAvailable( xQueue )
1314 #ifndef traceRETURN_uxQueueSpacesAvailable
1315 #define traceRETURN_uxQueueSpacesAvailable( uxReturn )
1318 #ifndef traceENTER_uxQueueMessagesWaitingFromISR
1319 #define traceENTER_uxQueueMessagesWaitingFromISR( xQueue )
1322 #ifndef traceRETURN_uxQueueMessagesWaitingFromISR
1323 #define traceRETURN_uxQueueMessagesWaitingFromISR( uxReturn )
1326 #ifndef traceENTER_vQueueDelete
1327 #define traceENTER_vQueueDelete( xQueue )
1330 #ifndef traceRETURN_vQueueDelete
1331 #define traceRETURN_vQueueDelete()
1334 #ifndef traceENTER_uxQueueGetQueueNumber
1335 #define traceENTER_uxQueueGetQueueNumber( xQueue )
1338 #ifndef traceRETURN_uxQueueGetQueueNumber
1339 #define traceRETURN_uxQueueGetQueueNumber( uxQueueNumber )
1342 #ifndef traceENTER_vQueueSetQueueNumber
1343 #define traceENTER_vQueueSetQueueNumber( xQueue, uxQueueNumber )
1346 #ifndef traceRETURN_vQueueSetQueueNumber
1347 #define traceRETURN_vQueueSetQueueNumber()
1350 #ifndef traceENTER_ucQueueGetQueueType
1351 #define traceENTER_ucQueueGetQueueType( xQueue )
1354 #ifndef traceRETURN_ucQueueGetQueueType
1355 #define traceRETURN_ucQueueGetQueueType( ucQueueType )
1358 #ifndef traceENTER_uxQueueGetQueueItemSize
1359 #define traceENTER_uxQueueGetQueueItemSize( xQueue )
1362 #ifndef traceRETURN_uxQueueGetQueueItemSize
1363 #define traceRETURN_uxQueueGetQueueItemSize( uxItemSize )
1366 #ifndef traceENTER_uxQueueGetQueueLength
1367 #define traceENTER_uxQueueGetQueueLength( xQueue )
1370 #ifndef traceRETURN_uxQueueGetQueueLength
1371 #define traceRETURN_uxQueueGetQueueLength( uxLength )
1374 #ifndef traceENTER_xQueueIsQueueEmptyFromISR
1375 #define traceENTER_xQueueIsQueueEmptyFromISR( xQueue )
1378 #ifndef traceRETURN_xQueueIsQueueEmptyFromISR
1379 #define traceRETURN_xQueueIsQueueEmptyFromISR( xReturn )
1382 #ifndef traceENTER_xQueueIsQueueFullFromISR
1383 #define traceENTER_xQueueIsQueueFullFromISR( xQueue )
1386 #ifndef traceRETURN_xQueueIsQueueFullFromISR
1387 #define traceRETURN_xQueueIsQueueFullFromISR( xReturn )
1390 #ifndef traceENTER_xQueueCRSend
1391 #define traceENTER_xQueueCRSend( xQueue, pvItemToQueue, xTicksToWait )
1394 #ifndef traceRETURN_xQueueCRSend
1395 #define traceRETURN_xQueueCRSend( xReturn )
1398 #ifndef traceENTER_xQueueCRReceive
1399 #define traceENTER_xQueueCRReceive( xQueue, pvBuffer, xTicksToWait )
1402 #ifndef traceRETURN_xQueueCRReceive
1403 #define traceRETURN_xQueueCRReceive( xReturn )
1406 #ifndef traceENTER_xQueueCRSendFromISR
1407 #define traceENTER_xQueueCRSendFromISR( xQueue, pvItemToQueue, xCoRoutinePreviouslyWoken )
1410 #ifndef traceRETURN_xQueueCRSendFromISR
1411 #define traceRETURN_xQueueCRSendFromISR( xCoRoutinePreviouslyWoken )
1414 #ifndef traceENTER_xQueueCRReceiveFromISR
1415 #define traceENTER_xQueueCRReceiveFromISR( xQueue, pvBuffer, pxCoRoutineWoken )
1418 #ifndef traceRETURN_xQueueCRReceiveFromISR
1419 #define traceRETURN_xQueueCRReceiveFromISR( xReturn )
1422 #ifndef traceENTER_vQueueAddToRegistry
1423 #define traceENTER_vQueueAddToRegistry( xQueue, pcQueueName )
1426 #ifndef traceRETURN_vQueueAddToRegistry
1427 #define traceRETURN_vQueueAddToRegistry()
1430 #ifndef traceENTER_pcQueueGetName
1431 #define traceENTER_pcQueueGetName( xQueue )
1434 #ifndef traceRETURN_pcQueueGetName
1435 #define traceRETURN_pcQueueGetName( pcReturn )
1438 #ifndef traceENTER_vQueueUnregisterQueue
1439 #define traceENTER_vQueueUnregisterQueue( xQueue )
1442 #ifndef traceRETURN_vQueueUnregisterQueue
1443 #define traceRETURN_vQueueUnregisterQueue()
1446 #ifndef traceENTER_vQueueWaitForMessageRestricted
1447 #define traceENTER_vQueueWaitForMessageRestricted( xQueue, xTicksToWait, xWaitIndefinitely )
1450 #ifndef traceRETURN_vQueueWaitForMessageRestricted
1451 #define traceRETURN_vQueueWaitForMessageRestricted()
1454 #ifndef traceENTER_xQueueCreateSet
1455 #define traceENTER_xQueueCreateSet( uxEventQueueLength )
1458 #ifndef traceRETURN_xQueueCreateSet
1459 #define traceRETURN_xQueueCreateSet( pxQueue )
1462 #ifndef traceENTER_xQueueAddToSet
1463 #define traceENTER_xQueueAddToSet( xQueueOrSemaphore, xQueueSet )
1466 #ifndef traceRETURN_xQueueAddToSet
1467 #define traceRETURN_xQueueAddToSet( xReturn )
1470 #ifndef traceENTER_xQueueRemoveFromSet
1471 #define traceENTER_xQueueRemoveFromSet( xQueueOrSemaphore, xQueueSet )
1474 #ifndef traceRETURN_xQueueRemoveFromSet
1475 #define traceRETURN_xQueueRemoveFromSet( xReturn )
1478 #ifndef traceENTER_xQueueSelectFromSet
1479 #define traceENTER_xQueueSelectFromSet( xQueueSet, xTicksToWait )
1482 #ifndef traceRETURN_xQueueSelectFromSet
1483 #define traceRETURN_xQueueSelectFromSet( xReturn )
1486 #ifndef traceENTER_xQueueSelectFromSetFromISR
1487 #define traceENTER_xQueueSelectFromSetFromISR( xQueueSet )
1490 #ifndef traceRETURN_xQueueSelectFromSetFromISR
1491 #define traceRETURN_xQueueSelectFromSetFromISR( xReturn )
1494 #ifndef traceENTER_xTimerCreateTimerTask
1495 #define traceENTER_xTimerCreateTimerTask()
1498 #ifndef traceRETURN_xTimerCreateTimerTask
1499 #define traceRETURN_xTimerCreateTimerTask( xReturn )
1502 #ifndef traceENTER_xTimerCreate
1503 #define traceENTER_xTimerCreate( pcTimerName, xTimerPeriodInTicks, xAutoReload, pvTimerID, pxCallbackFunction )
1506 #ifndef traceRETURN_xTimerCreate
1507 #define traceRETURN_xTimerCreate( pxNewTimer )
1510 #ifndef traceENTER_xTimerCreateStatic
1511 #define traceENTER_xTimerCreateStatic( pcTimerName, xTimerPeriodInTicks, xAutoReload, pvTimerID, pxCallbackFunction, pxTimerBuffer )
1514 #ifndef traceRETURN_xTimerCreateStatic
1515 #define traceRETURN_xTimerCreateStatic( pxNewTimer )
1518 #ifndef traceENTER_xTimerGenericCommandFromTask
1519 #define traceENTER_xTimerGenericCommandFromTask( xTimer, xCommandID, xOptionalValue, pxHigherPriorityTaskWoken, xTicksToWait )
1522 #ifndef traceRETURN_xTimerGenericCommandFromTask
1523 #define traceRETURN_xTimerGenericCommandFromTask( xReturn )
1526 #ifndef traceENTER_xTimerGenericCommandFromISR
1527 #define traceENTER_xTimerGenericCommandFromISR( xTimer, xCommandID, xOptionalValue, pxHigherPriorityTaskWoken, xTicksToWait )
1530 #ifndef traceRETURN_xTimerGenericCommandFromISR
1531 #define traceRETURN_xTimerGenericCommandFromISR( xReturn )
1534 #ifndef traceENTER_xTimerGetTimerDaemonTaskHandle
1535 #define traceENTER_xTimerGetTimerDaemonTaskHandle()
1538 #ifndef traceRETURN_xTimerGetTimerDaemonTaskHandle
1539 #define traceRETURN_xTimerGetTimerDaemonTaskHandle( xTimerTaskHandle )
1542 #ifndef traceENTER_xTimerGetPeriod
1543 #define traceENTER_xTimerGetPeriod( xTimer )
1546 #ifndef traceRETURN_xTimerGetPeriod
1547 #define traceRETURN_xTimerGetPeriod( xTimerPeriodInTicks )
1550 #ifndef traceENTER_vTimerSetReloadMode
1551 #define traceENTER_vTimerSetReloadMode( xTimer, xAutoReload )
1554 #ifndef traceRETURN_vTimerSetReloadMode
1555 #define traceRETURN_vTimerSetReloadMode()
1558 #ifndef traceENTER_xTimerGetReloadMode
1559 #define traceENTER_xTimerGetReloadMode( xTimer )
1562 #ifndef traceRETURN_xTimerGetReloadMode
1563 #define traceRETURN_xTimerGetReloadMode( xReturn )
1566 #ifndef traceENTER_uxTimerGetReloadMode
1567 #define traceENTER_uxTimerGetReloadMode( xTimer )
1570 #ifndef traceRETURN_uxTimerGetReloadMode
1571 #define traceRETURN_uxTimerGetReloadMode( uxReturn )
1574 #ifndef traceENTER_xTimerGetExpiryTime
1575 #define traceENTER_xTimerGetExpiryTime( xTimer )
1578 #ifndef traceRETURN_xTimerGetExpiryTime
1579 #define traceRETURN_xTimerGetExpiryTime( xReturn )
1582 #ifndef traceENTER_xTimerGetStaticBuffer
1583 #define traceENTER_xTimerGetStaticBuffer( xTimer, ppxTimerBuffer )
1586 #ifndef traceRETURN_xTimerGetStaticBuffer
1587 #define traceRETURN_xTimerGetStaticBuffer( xReturn )
1590 #ifndef traceENTER_pcTimerGetName
1591 #define traceENTER_pcTimerGetName( xTimer )
1594 #ifndef traceRETURN_pcTimerGetName
1595 #define traceRETURN_pcTimerGetName( pcTimerName )
1598 #ifndef traceENTER_xTimerIsTimerActive
1599 #define traceENTER_xTimerIsTimerActive( xTimer )
1602 #ifndef traceRETURN_xTimerIsTimerActive
1603 #define traceRETURN_xTimerIsTimerActive( xReturn )
1606 #ifndef traceENTER_pvTimerGetTimerID
1607 #define traceENTER_pvTimerGetTimerID( xTimer )
1610 #ifndef traceRETURN_pvTimerGetTimerID
1611 #define traceRETURN_pvTimerGetTimerID( pvReturn )
1614 #ifndef traceENTER_vTimerSetTimerID
1615 #define traceENTER_vTimerSetTimerID( xTimer, pvNewID )
1618 #ifndef traceRETURN_vTimerSetTimerID
1619 #define traceRETURN_vTimerSetTimerID()
1622 #ifndef traceENTER_xTimerPendFunctionCallFromISR
1623 #define traceENTER_xTimerPendFunctionCallFromISR( xFunctionToPend, pvParameter1, ulParameter2, pxHigherPriorityTaskWoken )
1626 #ifndef traceRETURN_xTimerPendFunctionCallFromISR
1627 #define traceRETURN_xTimerPendFunctionCallFromISR( xReturn )
1630 #ifndef traceENTER_xTimerPendFunctionCall
1631 #define traceENTER_xTimerPendFunctionCall( xFunctionToPend, pvParameter1, ulParameter2, xTicksToWait )
1634 #ifndef traceRETURN_xTimerPendFunctionCall
1635 #define traceRETURN_xTimerPendFunctionCall( xReturn )
1638 #ifndef traceENTER_uxTimerGetTimerNumber
1639 #define traceENTER_uxTimerGetTimerNumber( xTimer )
1642 #ifndef traceRETURN_uxTimerGetTimerNumber
1643 #define traceRETURN_uxTimerGetTimerNumber( uxTimerNumber )
1646 #ifndef traceENTER_vTimerSetTimerNumber
1647 #define traceENTER_vTimerSetTimerNumber( xTimer, uxTimerNumber )
1650 #ifndef traceRETURN_vTimerSetTimerNumber
1651 #define traceRETURN_vTimerSetTimerNumber()
1654 #ifndef traceENTER_xTaskCreateStatic
1655 #define traceENTER_xTaskCreateStatic( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer )
1658 #ifndef traceRETURN_xTaskCreateStatic
1659 #define traceRETURN_xTaskCreateStatic( xReturn )
1662 #ifndef traceENTER_xTaskCreateStaticAffinitySet
1663 #define traceENTER_xTaskCreateStaticAffinitySet( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer, uxCoreAffinityMask )
1666 #ifndef traceRETURN_xTaskCreateStaticAffinitySet
1667 #define traceRETURN_xTaskCreateStaticAffinitySet( xReturn )
1670 #ifndef traceENTER_xTaskCreateRestrictedStatic
1671 #define traceENTER_xTaskCreateRestrictedStatic( pxTaskDefinition, pxCreatedTask )
1674 #ifndef traceRETURN_xTaskCreateRestrictedStatic
1675 #define traceRETURN_xTaskCreateRestrictedStatic( xReturn )
1678 #ifndef traceENTER_xTaskCreateRestrictedStaticAffinitySet
1679 #define traceENTER_xTaskCreateRestrictedStaticAffinitySet( pxTaskDefinition, uxCoreAffinityMask, pxCreatedTask )
1682 #ifndef traceRETURN_xTaskCreateRestrictedStaticAffinitySet
1683 #define traceRETURN_xTaskCreateRestrictedStaticAffinitySet( xReturn )
1686 #ifndef traceENTER_xTaskCreateRestricted
1687 #define traceENTER_xTaskCreateRestricted( pxTaskDefinition, pxCreatedTask )
1690 #ifndef traceRETURN_xTaskCreateRestricted
1691 #define traceRETURN_xTaskCreateRestricted( xReturn )
1694 #ifndef traceENTER_xTaskCreateRestrictedAffinitySet
1695 #define traceENTER_xTaskCreateRestrictedAffinitySet( pxTaskDefinition, uxCoreAffinityMask, pxCreatedTask )
1698 #ifndef traceRETURN_xTaskCreateRestrictedAffinitySet
1699 #define traceRETURN_xTaskCreateRestrictedAffinitySet( xReturn )
1702 #ifndef traceENTER_xTaskCreate
1703 #define traceENTER_xTaskCreate( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, pxCreatedTask )
1706 #ifndef traceRETURN_xTaskCreate
1707 #define traceRETURN_xTaskCreate( xReturn )
1710 #ifndef traceENTER_xTaskCreateAffinitySet
1711 #define traceENTER_xTaskCreateAffinitySet( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, uxCoreAffinityMask, pxCreatedTask )
1714 #ifndef traceRETURN_xTaskCreateAffinitySet
1715 #define traceRETURN_xTaskCreateAffinitySet( xReturn )
1718 #ifndef traceENTER_vTaskDelete
1719 #define traceENTER_vTaskDelete( xTaskToDelete )
1722 #ifndef traceRETURN_vTaskDelete
1723 #define traceRETURN_vTaskDelete()
1726 #ifndef traceENTER_xTaskDelayUntil
1727 #define traceENTER_xTaskDelayUntil( pxPreviousWakeTime, xTimeIncrement )
1730 #ifndef traceRETURN_xTaskDelayUntil
1731 #define traceRETURN_xTaskDelayUntil( xShouldDelay )
1734 #ifndef traceENTER_vTaskDelay
1735 #define traceENTER_vTaskDelay( xTicksToDelay )
1738 #ifndef traceRETURN_vTaskDelay
1739 #define traceRETURN_vTaskDelay()
1742 #ifndef traceENTER_eTaskGetState
1743 #define traceENTER_eTaskGetState( xTask )
1746 #ifndef traceRETURN_eTaskGetState
1747 #define traceRETURN_eTaskGetState( eReturn )
1750 #ifndef traceENTER_uxTaskPriorityGet
1751 #define traceENTER_uxTaskPriorityGet( xTask )
1754 #ifndef traceRETURN_uxTaskPriorityGet
1755 #define traceRETURN_uxTaskPriorityGet( uxReturn )
1758 #ifndef traceENTER_uxTaskPriorityGetFromISR
1759 #define traceENTER_uxTaskPriorityGetFromISR( xTask )
1762 #ifndef traceRETURN_uxTaskPriorityGetFromISR
1763 #define traceRETURN_uxTaskPriorityGetFromISR( uxReturn )
1766 #ifndef traceENTER_uxTaskBasePriorityGet
1767 #define traceENTER_uxTaskBasePriorityGet( xTask )
1770 #ifndef traceRETURN_uxTaskBasePriorityGet
1771 #define traceRETURN_uxTaskBasePriorityGet( uxReturn )
1774 #ifndef traceENTER_uxTaskBasePriorityGetFromISR
1775 #define traceENTER_uxTaskBasePriorityGetFromISR( xTask )
1778 #ifndef traceRETURN_uxTaskBasePriorityGetFromISR
1779 #define traceRETURN_uxTaskBasePriorityGetFromISR( uxReturn )
1782 #ifndef traceENTER_vTaskPrioritySet
1783 #define traceENTER_vTaskPrioritySet( xTask, uxNewPriority )
1786 #ifndef traceRETURN_vTaskPrioritySet
1787 #define traceRETURN_vTaskPrioritySet()
1790 #ifndef traceENTER_vTaskCoreAffinitySet
1791 #define traceENTER_vTaskCoreAffinitySet( xTask, uxCoreAffinityMask )
1794 #ifndef traceRETURN_vTaskCoreAffinitySet
1795 #define traceRETURN_vTaskCoreAffinitySet()
1798 #ifndef traceENTER_vTaskCoreAffinityGet
1799 #define traceENTER_vTaskCoreAffinityGet( xTask )
1802 #ifndef traceRETURN_vTaskCoreAffinityGet
1803 #define traceRETURN_vTaskCoreAffinityGet( uxCoreAffinityMask )
1806 #ifndef traceENTER_vTaskPreemptionDisable
1807 #define traceENTER_vTaskPreemptionDisable( xTask )
1810 #ifndef traceRETURN_vTaskPreemptionDisable
1811 #define traceRETURN_vTaskPreemptionDisable()
1814 #ifndef traceENTER_vTaskPreemptionEnable
1815 #define traceENTER_vTaskPreemptionEnable( xTask )
1818 #ifndef traceRETURN_vTaskPreemptionEnable
1819 #define traceRETURN_vTaskPreemptionEnable()
1822 #ifndef traceENTER_vTaskSuspend
1823 #define traceENTER_vTaskSuspend( xTaskToSuspend )
1826 #ifndef traceRETURN_vTaskSuspend
1827 #define traceRETURN_vTaskSuspend()
1830 #ifndef traceENTER_vTaskResume
1831 #define traceENTER_vTaskResume( xTaskToResume )
1834 #ifndef traceRETURN_vTaskResume
1835 #define traceRETURN_vTaskResume()
1838 #ifndef traceENTER_xTaskResumeFromISR
1839 #define traceENTER_xTaskResumeFromISR( xTaskToResume )
1842 #ifndef traceRETURN_xTaskResumeFromISR
1843 #define traceRETURN_xTaskResumeFromISR( xYieldRequired )
1846 #ifndef traceENTER_vTaskStartScheduler
1847 #define traceENTER_vTaskStartScheduler()
1850 #ifndef traceRETURN_vTaskStartScheduler
1851 #define traceRETURN_vTaskStartScheduler()
1854 #ifndef traceENTER_vTaskEndScheduler
1855 #define traceENTER_vTaskEndScheduler()
1858 #ifndef traceRETURN_vTaskEndScheduler
1859 #define traceRETURN_vTaskEndScheduler()
1862 #ifndef traceENTER_vTaskSuspendAll
1863 #define traceENTER_vTaskSuspendAll()
1866 #ifndef traceRETURN_vTaskSuspendAll
1867 #define traceRETURN_vTaskSuspendAll()
1870 #ifndef traceENTER_xTaskResumeAll
1871 #define traceENTER_xTaskResumeAll()
1874 #ifndef traceRETURN_xTaskResumeAll
1875 #define traceRETURN_xTaskResumeAll( xAlreadyYielded )
1878 #ifndef traceENTER_xTaskGetTickCount
1879 #define traceENTER_xTaskGetTickCount()
1882 #ifndef traceRETURN_xTaskGetTickCount
1883 #define traceRETURN_xTaskGetTickCount( xTicks )
1886 #ifndef traceENTER_xTaskGetTickCountFromISR
1887 #define traceENTER_xTaskGetTickCountFromISR()
1890 #ifndef traceRETURN_xTaskGetTickCountFromISR
1891 #define traceRETURN_xTaskGetTickCountFromISR( xReturn )
1894 #ifndef traceENTER_uxTaskGetNumberOfTasks
1895 #define traceENTER_uxTaskGetNumberOfTasks()
1898 #ifndef traceRETURN_uxTaskGetNumberOfTasks
1899 #define traceRETURN_uxTaskGetNumberOfTasks( uxCurrentNumberOfTasks )
1902 #ifndef traceENTER_pcTaskGetName
1903 #define traceENTER_pcTaskGetName( xTaskToQuery )
1906 #ifndef traceRETURN_pcTaskGetName
1907 #define traceRETURN_pcTaskGetName( pcTaskName )
1910 #ifndef traceENTER_xTaskGetHandle
1911 #define traceENTER_xTaskGetHandle( pcNameToQuery )
1914 #ifndef traceRETURN_xTaskGetHandle
1915 #define traceRETURN_xTaskGetHandle( pxTCB )
1918 #ifndef traceENTER_xTaskGetStaticBuffers
1919 #define traceENTER_xTaskGetStaticBuffers( xTask, ppuxStackBuffer, ppxTaskBuffer )
1922 #ifndef traceRETURN_xTaskGetStaticBuffers
1923 #define traceRETURN_xTaskGetStaticBuffers( xReturn )
1926 #ifndef traceENTER_uxTaskGetSystemState
1927 #define traceENTER_uxTaskGetSystemState( pxTaskStatusArray, uxArraySize, pulTotalRunTime )
1930 #ifndef traceRETURN_uxTaskGetSystemState
1931 #define traceRETURN_uxTaskGetSystemState( uxTask )
1934 #if ( configNUMBER_OF_CORES == 1 )
1935 #ifndef traceENTER_xTaskGetIdleTaskHandle
1936 #define traceENTER_xTaskGetIdleTaskHandle()
1940 #if ( configNUMBER_OF_CORES == 1 )
1941 #ifndef traceRETURN_xTaskGetIdleTaskHandle
1942 #define traceRETURN_xTaskGetIdleTaskHandle( xIdleTaskHandle )
1946 #ifndef traceENTER_xTaskGetIdleTaskHandleForCore
1947 #define traceENTER_xTaskGetIdleTaskHandleForCore( xCoreID )
1950 #ifndef traceRETURN_xTaskGetIdleTaskHandleForCore
1951 #define traceRETURN_xTaskGetIdleTaskHandleForCore( xIdleTaskHandle )
1954 #ifndef traceENTER_vTaskStepTick
1955 #define traceENTER_vTaskStepTick( xTicksToJump )
1958 #ifndef traceRETURN_vTaskStepTick
1959 #define traceRETURN_vTaskStepTick()
1962 #ifndef traceENTER_xTaskCatchUpTicks
1963 #define traceENTER_xTaskCatchUpTicks( xTicksToCatchUp )
1966 #ifndef traceRETURN_xTaskCatchUpTicks
1967 #define traceRETURN_xTaskCatchUpTicks( xYieldOccurred )
1970 #ifndef traceENTER_xTaskAbortDelay
1971 #define traceENTER_xTaskAbortDelay( xTask )
1974 #ifndef traceRETURN_xTaskAbortDelay
1975 #define traceRETURN_xTaskAbortDelay( xReturn )
1978 #ifndef traceENTER_xTaskIncrementTick
1979 #define traceENTER_xTaskIncrementTick()
1982 #ifndef traceRETURN_xTaskIncrementTick
1983 #define traceRETURN_xTaskIncrementTick( xSwitchRequired )
1986 #ifndef traceENTER_vTaskSetApplicationTaskTag
1987 #define traceENTER_vTaskSetApplicationTaskTag( xTask, pxHookFunction )
1990 #ifndef traceRETURN_vTaskSetApplicationTaskTag
1991 #define traceRETURN_vTaskSetApplicationTaskTag()
1994 #ifndef traceENTER_xTaskGetApplicationTaskTag
1995 #define traceENTER_xTaskGetApplicationTaskTag( xTask )
1998 #ifndef traceRETURN_xTaskGetApplicationTaskTag
1999 #define traceRETURN_xTaskGetApplicationTaskTag( xReturn )
2002 #ifndef traceENTER_xTaskGetApplicationTaskTagFromISR
2003 #define traceENTER_xTaskGetApplicationTaskTagFromISR( xTask )
2006 #ifndef traceRETURN_xTaskGetApplicationTaskTagFromISR
2007 #define traceRETURN_xTaskGetApplicationTaskTagFromISR( xReturn )
2010 #ifndef traceENTER_xTaskCallApplicationTaskHook
2011 #define traceENTER_xTaskCallApplicationTaskHook( xTask, pvParameter )
2014 #ifndef traceRETURN_xTaskCallApplicationTaskHook
2015 #define traceRETURN_xTaskCallApplicationTaskHook( xReturn )
2018 #ifndef traceENTER_vTaskSwitchContext
2019 #define traceENTER_vTaskSwitchContext()
2022 #ifndef traceRETURN_vTaskSwitchContext
2023 #define traceRETURN_vTaskSwitchContext()
2026 #ifndef traceENTER_vTaskPlaceOnEventList
2027 #define traceENTER_vTaskPlaceOnEventList( pxEventList, xTicksToWait )
2030 #ifndef traceRETURN_vTaskPlaceOnEventList
2031 #define traceRETURN_vTaskPlaceOnEventList()
2034 #ifndef traceENTER_vTaskPlaceOnUnorderedEventList
2035 #define traceENTER_vTaskPlaceOnUnorderedEventList( pxEventList, xItemValue, xTicksToWait )
2038 #ifndef traceRETURN_vTaskPlaceOnUnorderedEventList
2039 #define traceRETURN_vTaskPlaceOnUnorderedEventList()
2042 #ifndef traceENTER_vTaskPlaceOnEventListRestricted
2043 #define traceENTER_vTaskPlaceOnEventListRestricted( pxEventList, xTicksToWait, xWaitIndefinitely )
2046 #ifndef traceRETURN_vTaskPlaceOnEventListRestricted
2047 #define traceRETURN_vTaskPlaceOnEventListRestricted()
2050 #ifndef traceENTER_xTaskRemoveFromEventList
2051 #define traceENTER_xTaskRemoveFromEventList( pxEventList )
2054 #ifndef traceRETURN_xTaskRemoveFromEventList
2055 #define traceRETURN_xTaskRemoveFromEventList( xReturn )
2058 #ifndef traceENTER_vTaskRemoveFromUnorderedEventList
2059 #define traceENTER_vTaskRemoveFromUnorderedEventList( pxEventListItem, xItemValue )
2062 #ifndef traceRETURN_vTaskRemoveFromUnorderedEventList
2063 #define traceRETURN_vTaskRemoveFromUnorderedEventList()
2066 #ifndef traceENTER_vTaskSetTimeOutState
2067 #define traceENTER_vTaskSetTimeOutState( pxTimeOut )
2070 #ifndef traceRETURN_vTaskSetTimeOutState
2071 #define traceRETURN_vTaskSetTimeOutState()
2074 #ifndef traceENTER_vTaskInternalSetTimeOutState
2075 #define traceENTER_vTaskInternalSetTimeOutState( pxTimeOut )
2078 #ifndef traceRETURN_vTaskInternalSetTimeOutState
2079 #define traceRETURN_vTaskInternalSetTimeOutState()
2082 #ifndef traceENTER_xTaskCheckForTimeOut
2083 #define traceENTER_xTaskCheckForTimeOut( pxTimeOut, pxTicksToWait )
2086 #ifndef traceRETURN_xTaskCheckForTimeOut
2087 #define traceRETURN_xTaskCheckForTimeOut( xReturn )
2090 #ifndef traceENTER_vTaskMissedYield
2091 #define traceENTER_vTaskMissedYield()
2094 #ifndef traceRETURN_vTaskMissedYield
2095 #define traceRETURN_vTaskMissedYield()
2098 #ifndef traceENTER_uxTaskGetTaskNumber
2099 #define traceENTER_uxTaskGetTaskNumber( xTask )
2102 #ifndef traceRETURN_uxTaskGetTaskNumber
2103 #define traceRETURN_uxTaskGetTaskNumber( uxReturn )
2106 #ifndef traceENTER_vTaskSetTaskNumber
2107 #define traceENTER_vTaskSetTaskNumber( xTask, uxHandle )
2110 #ifndef traceRETURN_vTaskSetTaskNumber
2111 #define traceRETURN_vTaskSetTaskNumber()
2114 #ifndef traceENTER_eTaskConfirmSleepModeStatus
2115 #define traceENTER_eTaskConfirmSleepModeStatus()
2118 #ifndef traceRETURN_eTaskConfirmSleepModeStatus
2119 #define traceRETURN_eTaskConfirmSleepModeStatus( eReturn )
2122 #ifndef traceENTER_vTaskSetThreadLocalStoragePointer
2123 #define traceENTER_vTaskSetThreadLocalStoragePointer( xTaskToSet, xIndex, pvValue )
2126 #ifndef traceRETURN_vTaskSetThreadLocalStoragePointer
2127 #define traceRETURN_vTaskSetThreadLocalStoragePointer()
2130 #ifndef traceENTER_pvTaskGetThreadLocalStoragePointer
2131 #define traceENTER_pvTaskGetThreadLocalStoragePointer( xTaskToQuery, xIndex )
2134 #ifndef traceRETURN_pvTaskGetThreadLocalStoragePointer
2135 #define traceRETURN_pvTaskGetThreadLocalStoragePointer( pvReturn )
2138 #ifndef traceENTER_vTaskAllocateMPURegions
2139 #define traceENTER_vTaskAllocateMPURegions( xTaskToModify, pxRegions )
2142 #ifndef traceRETURN_vTaskAllocateMPURegions
2143 #define traceRETURN_vTaskAllocateMPURegions()
2146 #ifndef traceENTER_vTaskGetInfo
2147 #define traceENTER_vTaskGetInfo( xTask, pxTaskStatus, xGetFreeStackSpace, eState )
2150 #ifndef traceRETURN_vTaskGetInfo
2151 #define traceRETURN_vTaskGetInfo()
2154 #ifndef traceENTER_uxTaskGetStackHighWaterMark2
2155 #define traceENTER_uxTaskGetStackHighWaterMark2( xTask )
2158 #ifndef traceRETURN_uxTaskGetStackHighWaterMark2
2159 #define traceRETURN_uxTaskGetStackHighWaterMark2( uxReturn )
2162 #ifndef traceENTER_uxTaskGetStackHighWaterMark
2163 #define traceENTER_uxTaskGetStackHighWaterMark( xTask )
2166 #ifndef traceRETURN_uxTaskGetStackHighWaterMark
2167 #define traceRETURN_uxTaskGetStackHighWaterMark( uxReturn )
2170 #ifndef traceENTER_xTaskGetCurrentTaskHandle
2171 #define traceENTER_xTaskGetCurrentTaskHandle()
2174 #ifndef traceRETURN_xTaskGetCurrentTaskHandle
2175 #define traceRETURN_xTaskGetCurrentTaskHandle( xReturn )
2178 #ifndef traceENTER_xTaskGetCurrentTaskHandleForCore
2179 #define traceENTER_xTaskGetCurrentTaskHandleForCore( xCoreID )
2182 #ifndef traceRETURN_xTaskGetCurrentTaskHandleForCore
2183 #define traceRETURN_xTaskGetCurrentTaskHandleForCore( xReturn )
2186 #ifndef traceENTER_xTaskGetSchedulerState
2187 #define traceENTER_xTaskGetSchedulerState()
2190 #ifndef traceRETURN_xTaskGetSchedulerState
2191 #define traceRETURN_xTaskGetSchedulerState( xReturn )
2194 #ifndef traceENTER_xTaskPriorityInherit
2195 #define traceENTER_xTaskPriorityInherit( pxMutexHolder )
2198 #ifndef traceRETURN_xTaskPriorityInherit
2199 #define traceRETURN_xTaskPriorityInherit( xReturn )
2202 #ifndef traceENTER_xTaskPriorityDisinherit
2203 #define traceENTER_xTaskPriorityDisinherit( pxMutexHolder )
2206 #ifndef traceRETURN_xTaskPriorityDisinherit
2207 #define traceRETURN_xTaskPriorityDisinherit( xReturn )
2210 #ifndef traceENTER_vTaskPriorityDisinheritAfterTimeout
2211 #define traceENTER_vTaskPriorityDisinheritAfterTimeout( pxMutexHolder, uxHighestPriorityWaitingTask )
2214 #ifndef traceRETURN_vTaskPriorityDisinheritAfterTimeout
2215 #define traceRETURN_vTaskPriorityDisinheritAfterTimeout()
2218 #ifndef traceENTER_vTaskYieldWithinAPI
2219 #define traceENTER_vTaskYieldWithinAPI()
2222 #ifndef traceRETURN_vTaskYieldWithinAPI
2223 #define traceRETURN_vTaskYieldWithinAPI()
2226 #ifndef traceENTER_vTaskEnterCritical
2227 #define traceENTER_vTaskEnterCritical()
2230 #ifndef traceRETURN_vTaskEnterCritical
2231 #define traceRETURN_vTaskEnterCritical()
2234 #ifndef traceENTER_vTaskEnterCriticalFromISR
2235 #define traceENTER_vTaskEnterCriticalFromISR()
2238 #ifndef traceRETURN_vTaskEnterCriticalFromISR
2239 #define traceRETURN_vTaskEnterCriticalFromISR( uxSavedInterruptStatus )
2242 #ifndef traceENTER_vTaskExitCritical
2243 #define traceENTER_vTaskExitCritical()
2246 #ifndef traceRETURN_vTaskExitCritical
2247 #define traceRETURN_vTaskExitCritical()
2250 #ifndef traceENTER_vTaskExitCriticalFromISR
2251 #define traceENTER_vTaskExitCriticalFromISR( uxSavedInterruptStatus )
2254 #ifndef traceRETURN_vTaskExitCriticalFromISR
2255 #define traceRETURN_vTaskExitCriticalFromISR()
2258 #ifndef traceENTER_vTaskListTasks
2259 #define traceENTER_vTaskListTasks( pcWriteBuffer, uxBufferLength )
2262 #ifndef traceRETURN_vTaskListTasks
2263 #define traceRETURN_vTaskListTasks()
2266 #ifndef traceENTER_vTaskGetRunTimeStatistics
2267 #define traceENTER_vTaskGetRunTimeStatistics( pcWriteBuffer, uxBufferLength )
2270 #ifndef traceRETURN_vTaskGetRunTimeStatistics
2271 #define traceRETURN_vTaskGetRunTimeStatistics()
2274 #ifndef traceENTER_uxTaskResetEventItemValue
2275 #define traceENTER_uxTaskResetEventItemValue()
2278 #ifndef traceRETURN_uxTaskResetEventItemValue
2279 #define traceRETURN_uxTaskResetEventItemValue( uxReturn )
2282 #ifndef traceENTER_pvTaskIncrementMutexHeldCount
2283 #define traceENTER_pvTaskIncrementMutexHeldCount()
2286 #ifndef traceRETURN_pvTaskIncrementMutexHeldCount
2287 #define traceRETURN_pvTaskIncrementMutexHeldCount( pxTCB )
2290 #ifndef traceENTER_ulTaskGenericNotifyTake
2291 #define traceENTER_ulTaskGenericNotifyTake( uxIndexToWaitOn, xClearCountOnExit, xTicksToWait )
2294 #ifndef traceRETURN_ulTaskGenericNotifyTake
2295 #define traceRETURN_ulTaskGenericNotifyTake( ulReturn )
2298 #ifndef traceENTER_xTaskGenericNotifyWait
2299 #define traceENTER_xTaskGenericNotifyWait( uxIndexToWaitOn, ulBitsToClearOnEntry, ulBitsToClearOnExit, pulNotificationValue, xTicksToWait )
2302 #ifndef traceRETURN_xTaskGenericNotifyWait
2303 #define traceRETURN_xTaskGenericNotifyWait( xReturn )
2306 #ifndef traceENTER_xTaskGenericNotify
2307 #define traceENTER_xTaskGenericNotify( xTaskToNotify, uxIndexToNotify, ulValue, eAction, pulPreviousNotificationValue )
2310 #ifndef traceRETURN_xTaskGenericNotify
2311 #define traceRETURN_xTaskGenericNotify( xReturn )
2314 #ifndef traceENTER_xTaskGenericNotifyFromISR
2315 #define traceENTER_xTaskGenericNotifyFromISR( xTaskToNotify, uxIndexToNotify, ulValue, eAction, pulPreviousNotificationValue, pxHigherPriorityTaskWoken )
2318 #ifndef traceRETURN_xTaskGenericNotifyFromISR
2319 #define traceRETURN_xTaskGenericNotifyFromISR( xReturn )
2322 #ifndef traceENTER_vTaskGenericNotifyGiveFromISR
2323 #define traceENTER_vTaskGenericNotifyGiveFromISR( xTaskToNotify, uxIndexToNotify, pxHigherPriorityTaskWoken )
2326 #ifndef traceRETURN_vTaskGenericNotifyGiveFromISR
2327 #define traceRETURN_vTaskGenericNotifyGiveFromISR()
2330 #ifndef traceENTER_xTaskGenericNotifyStateClear
2331 #define traceENTER_xTaskGenericNotifyStateClear( xTask, uxIndexToClear )
2334 #ifndef traceRETURN_xTaskGenericNotifyStateClear
2335 #define traceRETURN_xTaskGenericNotifyStateClear( xReturn )
2338 #ifndef traceENTER_ulTaskGenericNotifyValueClear
2339 #define traceENTER_ulTaskGenericNotifyValueClear( xTask, uxIndexToClear, ulBitsToClear )
2342 #ifndef traceRETURN_ulTaskGenericNotifyValueClear
2343 #define traceRETURN_ulTaskGenericNotifyValueClear( ulReturn )
2346 #ifndef traceENTER_ulTaskGetRunTimeCounter
2347 #define traceENTER_ulTaskGetRunTimeCounter( xTask )
2350 #ifndef traceRETURN_ulTaskGetRunTimeCounter
2351 #define traceRETURN_ulTaskGetRunTimeCounter( ulRunTimeCounter )
2354 #ifndef traceENTER_ulTaskGetRunTimePercent
2355 #define traceENTER_ulTaskGetRunTimePercent( xTask )
2358 #ifndef traceRETURN_ulTaskGetRunTimePercent
2359 #define traceRETURN_ulTaskGetRunTimePercent( ulReturn )
2362 #ifndef traceENTER_ulTaskGetIdleRunTimeCounter
2363 #define traceENTER_ulTaskGetIdleRunTimeCounter()
2366 #ifndef traceRETURN_ulTaskGetIdleRunTimeCounter
2367 #define traceRETURN_ulTaskGetIdleRunTimeCounter( ulReturn )
2370 #ifndef traceENTER_ulTaskGetIdleRunTimePercent
2371 #define traceENTER_ulTaskGetIdleRunTimePercent()
2374 #ifndef traceRETURN_ulTaskGetIdleRunTimePercent
2375 #define traceRETURN_ulTaskGetIdleRunTimePercent( ulReturn )
2378 #ifndef traceENTER_xTaskGetMPUSettings
2379 #define traceENTER_xTaskGetMPUSettings( xTask )
2382 #ifndef traceRETURN_xTaskGetMPUSettings
2383 #define traceRETURN_xTaskGetMPUSettings( xMPUSettings )
2386 #ifndef traceENTER_xStreamBufferGenericCreate
2387 #define traceENTER_xStreamBufferGenericCreate( xBufferSizeBytes, xTriggerLevelBytes, xIsMessageBuffer, pxSendCompletedCallback, pxReceiveCompletedCallback )
2390 #ifndef traceRETURN_xStreamBufferGenericCreate
2391 #define traceRETURN_xStreamBufferGenericCreate( pvAllocatedMemory )
2394 #ifndef traceENTER_xStreamBufferGenericCreateStatic
2395 #define traceENTER_xStreamBufferGenericCreateStatic( xBufferSizeBytes, xTriggerLevelBytes, xIsMessageBuffer, pucStreamBufferStorageArea, pxStaticStreamBuffer, pxSendCompletedCallback, pxReceiveCompletedCallback )
2398 #ifndef traceRETURN_xStreamBufferGenericCreateStatic
2399 #define traceRETURN_xStreamBufferGenericCreateStatic( xReturn )
2402 #ifndef traceENTER_xStreamBufferGetStaticBuffers
2403 #define traceENTER_xStreamBufferGetStaticBuffers( xStreamBuffer, ppucStreamBufferStorageArea, ppxStaticStreamBuffer )
2406 #ifndef traceRETURN_xStreamBufferGetStaticBuffers
2407 #define traceRETURN_xStreamBufferGetStaticBuffers( xReturn )
2410 #ifndef traceENTER_vStreamBufferDelete
2411 #define traceENTER_vStreamBufferDelete( xStreamBuffer )
2414 #ifndef traceRETURN_vStreamBufferDelete
2415 #define traceRETURN_vStreamBufferDelete()
2418 #ifndef traceENTER_xStreamBufferReset
2419 #define traceENTER_xStreamBufferReset( xStreamBuffer )
2422 #ifndef traceRETURN_xStreamBufferReset
2423 #define traceRETURN_xStreamBufferReset( xReturn )
2426 #ifndef traceENTER_xStreamBufferSetTriggerLevel
2427 #define traceENTER_xStreamBufferSetTriggerLevel( xStreamBuffer, xTriggerLevel )
2430 #ifndef traceRETURN_xStreamBufferSetTriggerLevel
2431 #define traceRETURN_xStreamBufferSetTriggerLevel( xReturn )
2434 #ifndef traceENTER_xStreamBufferSpacesAvailable
2435 #define traceENTER_xStreamBufferSpacesAvailable( xStreamBuffer )
2438 #ifndef traceRETURN_xStreamBufferSpacesAvailable
2439 #define traceRETURN_xStreamBufferSpacesAvailable( xSpace )
2442 #ifndef traceENTER_xStreamBufferBytesAvailable
2443 #define traceENTER_xStreamBufferBytesAvailable( xStreamBuffer )
2446 #ifndef traceRETURN_xStreamBufferBytesAvailable
2447 #define traceRETURN_xStreamBufferBytesAvailable( xReturn )
2450 #ifndef traceENTER_xStreamBufferSend
2451 #define traceENTER_xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait )
2454 #ifndef traceRETURN_xStreamBufferSend
2455 #define traceRETURN_xStreamBufferSend( xReturn )
2458 #ifndef traceENTER_xStreamBufferSendFromISR
2459 #define traceENTER_xStreamBufferSendFromISR( xStreamBuffer, pvTxData, xDataLengthBytes, pxHigherPriorityTaskWoken )
2462 #ifndef traceRETURN_xStreamBufferSendFromISR
2463 #define traceRETURN_xStreamBufferSendFromISR( xReturn )
2466 #ifndef traceENTER_xStreamBufferReceive
2467 #define traceENTER_xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait )
2470 #ifndef traceRETURN_xStreamBufferReceive
2471 #define traceRETURN_xStreamBufferReceive( xReceivedLength )
2474 #ifndef traceENTER_xStreamBufferNextMessageLengthBytes
2475 #define traceENTER_xStreamBufferNextMessageLengthBytes( xStreamBuffer )
2478 #ifndef traceRETURN_xStreamBufferNextMessageLengthBytes
2479 #define traceRETURN_xStreamBufferNextMessageLengthBytes( xReturn )
2482 #ifndef traceENTER_xStreamBufferReceiveFromISR
2483 #define traceENTER_xStreamBufferReceiveFromISR( xStreamBuffer, pvRxData, xBufferLengthBytes, pxHigherPriorityTaskWoken )
2486 #ifndef traceRETURN_xStreamBufferReceiveFromISR
2487 #define traceRETURN_xStreamBufferReceiveFromISR( xReceivedLength )
2490 #ifndef traceENTER_xStreamBufferIsEmpty
2491 #define traceENTER_xStreamBufferIsEmpty( xStreamBuffer )
2494 #ifndef traceRETURN_xStreamBufferIsEmpty
2495 #define traceRETURN_xStreamBufferIsEmpty( xReturn )
2498 #ifndef traceENTER_xStreamBufferIsFull
2499 #define traceENTER_xStreamBufferIsFull( xStreamBuffer )
2502 #ifndef traceRETURN_xStreamBufferIsFull
2503 #define traceRETURN_xStreamBufferIsFull( xReturn )
2506 #ifndef traceENTER_xStreamBufferSendCompletedFromISR
2507 #define traceENTER_xStreamBufferSendCompletedFromISR( xStreamBuffer, pxHigherPriorityTaskWoken )
2510 #ifndef traceRETURN_xStreamBufferSendCompletedFromISR
2511 #define traceRETURN_xStreamBufferSendCompletedFromISR( xReturn )
2514 #ifndef traceENTER_xStreamBufferReceiveCompletedFromISR
2515 #define traceENTER_xStreamBufferReceiveCompletedFromISR( xStreamBuffer, pxHigherPriorityTaskWoken )
2518 #ifndef traceRETURN_xStreamBufferReceiveCompletedFromISR
2519 #define traceRETURN_xStreamBufferReceiveCompletedFromISR( xReturn )
2522 #ifndef traceENTER_uxStreamBufferGetStreamBufferNotificationIndex
2523 #define traceENTER_uxStreamBufferGetStreamBufferNotificationIndex( xStreamBuffer )
2526 #ifndef traceRETURN_uxStreamBufferGetStreamBufferNotificationIndex
2527 #define traceRETURN_uxStreamBufferGetStreamBufferNotificationIndex( uxNotificationIndex )
2530 #ifndef traceENTER_vStreamBufferSetStreamBufferNotificationIndex
2531 #define traceENTER_vStreamBufferSetStreamBufferNotificationIndex( xStreamBuffer, uxNotificationIndex )
2534 #ifndef traceRETURN_vStreamBufferSetStreamBufferNotificationIndex
2535 #define traceRETURN_vStreamBufferSetStreamBufferNotificationIndex()
2538 #ifndef traceENTER_uxStreamBufferGetStreamBufferNumber
2539 #define traceENTER_uxStreamBufferGetStreamBufferNumber( xStreamBuffer )
2542 #ifndef traceRETURN_uxStreamBufferGetStreamBufferNumber
2543 #define traceRETURN_uxStreamBufferGetStreamBufferNumber( uxStreamBufferNumber )
2546 #ifndef traceENTER_vStreamBufferSetStreamBufferNumber
2547 #define traceENTER_vStreamBufferSetStreamBufferNumber( xStreamBuffer, uxStreamBufferNumber )
2550 #ifndef traceRETURN_vStreamBufferSetStreamBufferNumber
2551 #define traceRETURN_vStreamBufferSetStreamBufferNumber()
2554 #ifndef traceENTER_ucStreamBufferGetStreamBufferType
2555 #define traceENTER_ucStreamBufferGetStreamBufferType( xStreamBuffer )
2558 #ifndef traceRETURN_ucStreamBufferGetStreamBufferType
2559 #define traceRETURN_ucStreamBufferGetStreamBufferType( ucStreamBufferType )
2562 #ifndef traceENTER_vListInitialise
2563 #define traceENTER_vListInitialise( pxList )
2566 #ifndef traceRETURN_vListInitialise
2567 #define traceRETURN_vListInitialise()
2570 #ifndef traceENTER_vListInitialiseItem
2571 #define traceENTER_vListInitialiseItem( pxItem )
2574 #ifndef traceRETURN_vListInitialiseItem
2575 #define traceRETURN_vListInitialiseItem()
2578 #ifndef traceENTER_vListInsertEnd
2579 #define traceENTER_vListInsertEnd( pxList, pxNewListItem )
2582 #ifndef traceRETURN_vListInsertEnd
2583 #define traceRETURN_vListInsertEnd()
2586 #ifndef traceENTER_vListInsert
2587 #define traceENTER_vListInsert( pxList, pxNewListItem )
2590 #ifndef traceRETURN_vListInsert
2591 #define traceRETURN_vListInsert()
2594 #ifndef traceENTER_uxListRemove
2595 #define traceENTER_uxListRemove( pxItemToRemove )
2598 #ifndef traceRETURN_uxListRemove
2599 #define traceRETURN_uxListRemove( uxNumberOfItems )
2602 #ifndef traceENTER_xCoRoutineCreate
2603 #define traceENTER_xCoRoutineCreate( pxCoRoutineCode, uxPriority, uxIndex )
2606 #ifndef traceRETURN_xCoRoutineCreate
2607 #define traceRETURN_xCoRoutineCreate( xReturn )
2610 #ifndef traceENTER_vCoRoutineAddToDelayedList
2611 #define traceENTER_vCoRoutineAddToDelayedList( xTicksToDelay, pxEventList )
2614 #ifndef traceRETURN_vCoRoutineAddToDelayedList
2615 #define traceRETURN_vCoRoutineAddToDelayedList()
2618 #ifndef traceENTER_vCoRoutineSchedule
2619 #define traceENTER_vCoRoutineSchedule()
2622 #ifndef traceRETURN_vCoRoutineSchedule
2623 #define traceRETURN_vCoRoutineSchedule()
2626 #ifndef traceENTER_xCoRoutineRemoveFromEventList
2627 #define traceENTER_xCoRoutineRemoveFromEventList( pxEventList )
2630 #ifndef traceRETURN_xCoRoutineRemoveFromEventList
2631 #define traceRETURN_xCoRoutineRemoveFromEventList( xReturn )
2634 #ifndef configGENERATE_RUN_TIME_STATS
2635 #define configGENERATE_RUN_TIME_STATS 0
2638 #if ( configGENERATE_RUN_TIME_STATS == 1 )
2640 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS
2641 #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.
2642 #endif /* portCONFIGURE_TIMER_FOR_RUN_TIME_STATS */
2644 #ifndef portGET_RUN_TIME_COUNTER_VALUE
2645 #ifndef portALT_GET_RUN_TIME_COUNTER_VALUE
2646 #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.
2647 #endif /* portALT_GET_RUN_TIME_COUNTER_VALUE */
2648 #endif /* portGET_RUN_TIME_COUNTER_VALUE */
2650 #endif /* configGENERATE_RUN_TIME_STATS */
2652 #ifndef portCONFIGURE_TIMER_FOR_RUN_TIME_STATS
2653 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()
2656 #ifndef portPRIVILEGE_BIT
2657 #define portPRIVILEGE_BIT ( ( UBaseType_t ) 0x00 )
2660 #ifndef portYIELD_WITHIN_API
2661 #define portYIELD_WITHIN_API portYIELD
2664 #ifndef portSUPPRESS_TICKS_AND_SLEEP
2665 #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )
2668 #ifndef configEXPECTED_IDLE_TIME_BEFORE_SLEEP
2669 #define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2
2672 #if configEXPECTED_IDLE_TIME_BEFORE_SLEEP < 2
2673 #error configEXPECTED_IDLE_TIME_BEFORE_SLEEP must not be less than 2
2676 #ifndef configUSE_TICKLESS_IDLE
2677 #define configUSE_TICKLESS_IDLE 0
2680 #ifndef configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING
2681 #define configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING( x )
2684 #ifndef configPRE_SLEEP_PROCESSING
2685 #define configPRE_SLEEP_PROCESSING( x )
2688 #ifndef configPOST_SLEEP_PROCESSING
2689 #define configPOST_SLEEP_PROCESSING( x )
2692 #ifndef configUSE_QUEUE_SETS
2693 #define configUSE_QUEUE_SETS 0
2696 #ifndef portTASK_USES_FLOATING_POINT
2697 #define portTASK_USES_FLOATING_POINT()
2700 #ifndef portALLOCATE_SECURE_CONTEXT
2701 #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )
2704 #ifndef portDONT_DISCARD
2705 #define portDONT_DISCARD
2708 #ifndef configUSE_TIME_SLICING
2709 #define configUSE_TIME_SLICING 1
2712 #ifndef configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS
2713 #define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 0
2716 #ifndef configUSE_STATS_FORMATTING_FUNCTIONS
2717 #define configUSE_STATS_FORMATTING_FUNCTIONS 0
2720 #ifndef portASSERT_IF_INTERRUPT_PRIORITY_INVALID
2721 #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID()
2724 #ifndef configUSE_TRACE_FACILITY
2725 #define configUSE_TRACE_FACILITY 0
2728 #ifndef mtCOVERAGE_TEST_MARKER
2729 #define mtCOVERAGE_TEST_MARKER()
2732 #ifndef mtCOVERAGE_TEST_DELAY
2733 #define mtCOVERAGE_TEST_DELAY()
2736 #ifndef portASSERT_IF_IN_ISR
2737 #define portASSERT_IF_IN_ISR()
2740 #ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION
2741 #define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
2744 #ifndef configAPPLICATION_ALLOCATED_HEAP
2745 #define configAPPLICATION_ALLOCATED_HEAP 0
2748 #ifndef configENABLE_HEAP_PROTECTOR
2749 #define configENABLE_HEAP_PROTECTOR 0
2752 #ifndef configUSE_TASK_NOTIFICATIONS
2753 #define configUSE_TASK_NOTIFICATIONS 1
2756 #ifndef configTASK_NOTIFICATION_ARRAY_ENTRIES
2757 #define configTASK_NOTIFICATION_ARRAY_ENTRIES 1
2760 #if configTASK_NOTIFICATION_ARRAY_ENTRIES < 1
2761 #error configTASK_NOTIFICATION_ARRAY_ENTRIES must be at least 1
2764 #ifndef configUSE_POSIX_ERRNO
2765 #define configUSE_POSIX_ERRNO 0
2768 #ifndef configUSE_SB_COMPLETED_CALLBACK
2770 /* By default per-instance callbacks are not enabled for stream buffer or message buffer. */
2771 #define configUSE_SB_COMPLETED_CALLBACK 0
2774 #ifndef portTICK_TYPE_IS_ATOMIC
2775 #define portTICK_TYPE_IS_ATOMIC 0
2778 #ifndef configSUPPORT_STATIC_ALLOCATION
2779 /* Defaults to 0 for backward compatibility. */
2780 #define configSUPPORT_STATIC_ALLOCATION 0
2783 #ifndef configKERNEL_PROVIDED_STATIC_MEMORY
2784 #define configKERNEL_PROVIDED_STATIC_MEMORY 0
2787 #ifndef configSUPPORT_DYNAMIC_ALLOCATION
2788 /* Defaults to 1 for backward compatibility. */
2789 #define configSUPPORT_DYNAMIC_ALLOCATION 1
2792 #if ( ( configUSE_STATS_FORMATTING_FUNCTIONS > 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION != 1 ) )
2793 #error configUSE_STATS_FORMATTING_FUNCTIONS cannot be used without dynamic allocation, but configSUPPORT_DYNAMIC_ALLOCATION is not set to 1.
2796 #if ( configUSE_STATS_FORMATTING_FUNCTIONS > 0 )
2797 #if ( ( configUSE_TRACE_FACILITY != 1 ) && ( configGENERATE_RUN_TIME_STATS != 1 ) )
2798 #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.
2802 #ifndef configSTATS_BUFFER_MAX_LENGTH
2803 #define configSTATS_BUFFER_MAX_LENGTH 0xFFFF
2806 #ifndef configSTACK_DEPTH_TYPE
2808 /* Defaults to StackType_t for backward compatibility, but can be overridden
2809 * in FreeRTOSConfig.h if StackType_t is too restrictive. */
2810 #define configSTACK_DEPTH_TYPE StackType_t
2813 #ifndef configRUN_TIME_COUNTER_TYPE
2815 /* Defaults to uint32_t for backward compatibility, but can be overridden in
2816 * FreeRTOSConfig.h if uint32_t is too restrictive. */
2818 #define configRUN_TIME_COUNTER_TYPE uint32_t
2821 #ifndef configMESSAGE_BUFFER_LENGTH_TYPE
2823 /* Defaults to size_t for backward compatibility, but can be overridden
2824 * in FreeRTOSConfig.h if lengths will always be less than the number of bytes
2826 #define configMESSAGE_BUFFER_LENGTH_TYPE size_t
2829 /* Sanity check the configuration. */
2830 #if ( ( configSUPPORT_STATIC_ALLOCATION == 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 0 ) )
2831 #error configSUPPORT_STATIC_ALLOCATION and configSUPPORT_DYNAMIC_ALLOCATION cannot both be 0, but can both be 1.
2834 #if ( ( configUSE_RECURSIVE_MUTEXES == 1 ) && ( configUSE_MUTEXES != 1 ) )
2835 #error configUSE_MUTEXES must be set to 1 to use recursive mutexes
2838 #if ( ( configRUN_MULTIPLE_PRIORITIES == 0 ) && ( configUSE_TASK_PREEMPTION_DISABLE != 0 ) )
2839 #error configRUN_MULTIPLE_PRIORITIES must be set to 1 to use task preemption disable
2842 #if ( ( configUSE_PREEMPTION == 0 ) && ( configUSE_TASK_PREEMPTION_DISABLE != 0 ) )
2843 #error configUSE_PREEMPTION must be set to 1 to use task preemption disable
2846 #if ( ( configNUMBER_OF_CORES == 1 ) && ( configUSE_TASK_PREEMPTION_DISABLE != 0 ) )
2847 #error configUSE_TASK_PREEMPTION_DISABLE is not supported in single core FreeRTOS
2850 #if ( ( configNUMBER_OF_CORES == 1 ) && ( configUSE_CORE_AFFINITY != 0 ) )
2851 #error configUSE_CORE_AFFINITY is not supported in single core FreeRTOS
2854 #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_PORT_OPTIMISED_TASK_SELECTION != 0 ) )
2855 #error configUSE_PORT_OPTIMISED_TASK_SELECTION is not supported in SMP FreeRTOS
2858 #ifndef configINITIAL_TICK_COUNT
2859 #define configINITIAL_TICK_COUNT 0
2862 #if ( portTICK_TYPE_IS_ATOMIC == 0 )
2864 /* Either variables of tick type cannot be read atomically, or
2865 * portTICK_TYPE_IS_ATOMIC was not set - map the critical sections used when
2866 * the tick count is returned to the standard critical section macros. */
2867 #define portTICK_TYPE_ENTER_CRITICAL() portENTER_CRITICAL()
2868 #define portTICK_TYPE_EXIT_CRITICAL() portEXIT_CRITICAL()
2869 #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() portSET_INTERRUPT_MASK_FROM_ISR()
2870 #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) portCLEAR_INTERRUPT_MASK_FROM_ISR( ( x ) )
2873 /* The tick type can be read atomically, so critical sections used when the
2874 * tick count is returned can be defined away. */
2875 #define portTICK_TYPE_ENTER_CRITICAL()
2876 #define portTICK_TYPE_EXIT_CRITICAL()
2877 #define portTICK_TYPE_SET_INTERRUPT_MASK_FROM_ISR() 0
2878 #define portTICK_TYPE_CLEAR_INTERRUPT_MASK_FROM_ISR( x ) ( void ) ( x )
2879 #endif /* if ( portTICK_TYPE_IS_ATOMIC == 0 ) */
2881 /* Definitions to allow backward compatibility with FreeRTOS versions prior to
2883 #ifndef configENABLE_BACKWARD_COMPATIBILITY
2884 #define configENABLE_BACKWARD_COMPATIBILITY 1
2887 #ifndef configPRINTF
2889 /* configPRINTF() was not defined, so define it away to nothing. To use
2890 * configPRINTF() then define it as follows (where MyPrintFunction() is
2891 * provided by the application writer):
2893 * void MyPrintFunction(const char *pcFormat, ... );
2894 #define configPRINTF( X ) MyPrintFunction X
2896 * Then call like a standard printf() function, but placing brackets around
2897 * all parameters so they are passed as a single parameter. For example:
2898 * configPRINTF( ("Value = %d", MyVariable) ); */
2899 #define configPRINTF( X )
2904 /* The application writer has not provided their own MAX macro, so define
2905 * the following generic implementation. */
2906 #define configMAX( a, b ) ( ( ( a ) > ( b ) ) ? ( a ) : ( b ) )
2911 /* The application writer has not provided their own MIN macro, so define
2912 * the following generic implementation. */
2913 #define configMIN( a, b ) ( ( ( a ) < ( b ) ) ? ( a ) : ( b ) )
2916 #if configENABLE_BACKWARD_COMPATIBILITY == 1
2917 #define eTaskStateGet eTaskGetState
2918 #define portTickType TickType_t
2919 #define xTaskHandle TaskHandle_t
2920 #define xQueueHandle QueueHandle_t
2921 #define xSemaphoreHandle SemaphoreHandle_t
2922 #define xQueueSetHandle QueueSetHandle_t
2923 #define xQueueSetMemberHandle QueueSetMemberHandle_t
2924 #define xTimeOutType TimeOut_t
2925 #define xMemoryRegion MemoryRegion_t
2926 #define xTaskParameters TaskParameters_t
2927 #define xTaskStatusType TaskStatus_t
2928 #define xTimerHandle TimerHandle_t
2929 #define xCoRoutineHandle CoRoutineHandle_t
2930 #define pdTASK_HOOK_CODE TaskHookFunction_t
2931 #define portTICK_RATE_MS portTICK_PERIOD_MS
2932 #define pcTaskGetTaskName pcTaskGetName
2933 #define pcTimerGetTimerName pcTimerGetName
2934 #define pcQueueGetQueueName pcQueueGetName
2935 #define vTaskGetTaskInfo vTaskGetInfo
2936 #define xTaskGetIdleRunTimeCounter ulTaskGetIdleRunTimeCounter
2938 /* Backward compatibility within the scheduler code only - these definitions
2939 * are not really required but are included for completeness. */
2940 #define tmrTIMER_CALLBACK TimerCallbackFunction_t
2941 #define pdTASK_CODE TaskFunction_t
2942 #define xListItem ListItem_t
2943 #define xList List_t
2945 /* For libraries that break the list data hiding, and access list structure
2946 * members directly (which is not supposed to be done). */
2947 #define pxContainer pvContainer
2948 #endif /* configENABLE_BACKWARD_COMPATIBILITY */
2950 #if ( configUSE_ALTERNATIVE_API != 0 )
2951 #error The alternative API was deprecated some time ago, and was removed in FreeRTOS V9.0 0
2954 /* Set configUSE_TASK_FPU_SUPPORT to 0 to omit floating point support even
2955 * if floating point hardware is otherwise supported by the FreeRTOS port in use.
2956 * This constant is not supported by all FreeRTOS ports that include floating
2958 #ifndef configUSE_TASK_FPU_SUPPORT
2959 #define configUSE_TASK_FPU_SUPPORT 1
2962 /* Set configENABLE_MPU to 1 to enable MPU support and 0 to disable it. This is
2963 * currently used in ARMv8M ports. */
2964 #ifndef configENABLE_MPU
2965 #define configENABLE_MPU 0
2968 /* Set configENABLE_FPU to 1 to enable FPU support and 0 to disable it. This is
2969 * currently used in ARMv8M ports. */
2970 #ifndef configENABLE_FPU
2971 #define configENABLE_FPU 1
2974 /* Set configENABLE_MVE to 1 to enable MVE support and 0 to disable it. This is
2975 * currently used in ARMv8M ports. */
2976 #ifndef configENABLE_MVE
2977 #define configENABLE_MVE 0
2980 /* Set configENABLE_TRUSTZONE to 1 enable TrustZone support and 0 to disable it.
2981 * This is currently used in ARMv8M ports. */
2982 #ifndef configENABLE_TRUSTZONE
2983 #define configENABLE_TRUSTZONE 1
2986 /* Set configRUN_FREERTOS_SECURE_ONLY to 1 to run the FreeRTOS ARMv8M port on
2987 * the Secure Side only. */
2988 #ifndef configRUN_FREERTOS_SECURE_ONLY
2989 #define configRUN_FREERTOS_SECURE_ONLY 0
2992 #ifndef configRUN_ADDITIONAL_TESTS
2993 #define configRUN_ADDITIONAL_TESTS 0
2996 /* The following config allows infinite loop control. For example, control the
2997 * infinite loop in idle task function when performing unit tests. */
2998 #ifndef configCONTROL_INFINITE_LOOP
2999 #define configCONTROL_INFINITE_LOOP()
3002 /* Sometimes the FreeRTOSConfig.h settings only allow a task to be created using
3003 * dynamically allocated RAM, in which case when any task is deleted it is known
3004 * that both the task's stack and TCB need to be freed. Sometimes the
3005 * FreeRTOSConfig.h settings only allow a task to be created using statically
3006 * allocated RAM, in which case when any task is deleted it is known that neither
3007 * the task's stack or TCB should be freed. Sometimes the FreeRTOSConfig.h
3008 * settings allow a task to be created using either statically or dynamically
3009 * allocated RAM, in which case a member of the TCB is used to record whether the
3010 * stack and/or TCB were allocated statically or dynamically, so when a task is
3011 * deleted the RAM that was allocated dynamically is freed again and no attempt is
3012 * made to free the RAM that was allocated statically.
3013 * tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE is only true if it is possible for a
3014 * task to be created using either statically or dynamically allocated RAM. Note
3015 * that if portUSING_MPU_WRAPPERS is 1 then a protected task can be created with
3016 * a statically allocated stack and a dynamically allocated TCB.
3018 * The following table lists various combinations of portUSING_MPU_WRAPPERS,
3019 * configSUPPORT_DYNAMIC_ALLOCATION and configSUPPORT_STATIC_ALLOCATION and
3020 * when it is possible to have both static and dynamic allocation:
3021 * +-----+---------+--------+-----------------------------+-----------------------------------+------------------+-----------+
3022 * | MPU | Dynamic | Static | Available Functions | Possible Allocations | Both Dynamic and | Need Free |
3023 * | | | | | | Static Possible | |
3024 * +-----+---------+--------+-----------------------------+-----------------------------------+------------------+-----------+
3025 * | 0 | 0 | 1 | xTaskCreateStatic | TCB - Static, Stack - Static | No | No |
3026 * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|
3027 * | 0 | 1 | 0 | xTaskCreate | TCB - Dynamic, Stack - Dynamic | No | Yes |
3028 * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|
3029 * | 0 | 1 | 1 | xTaskCreate, | 1. TCB - Dynamic, Stack - Dynamic | Yes | Yes |
3030 * | | | | xTaskCreateStatic | 2. TCB - Static, Stack - Static | | |
3031 * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|
3032 * | 1 | 0 | 1 | xTaskCreateStatic, | TCB - Static, Stack - Static | No | No |
3033 * | | | | xTaskCreateRestrictedStatic | | | |
3034 * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|
3035 * | 1 | 1 | 0 | xTaskCreate, | 1. TCB - Dynamic, Stack - Dynamic | Yes | Yes |
3036 * | | | | xTaskCreateRestricted | 2. TCB - Dynamic, Stack - Static | | |
3037 * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|
3038 * | 1 | 1 | 1 | xTaskCreate, | 1. TCB - Dynamic, Stack - Dynamic | Yes | Yes |
3039 * | | | | xTaskCreateStatic, | 2. TCB - Dynamic, Stack - Static | | |
3040 * | | | | xTaskCreateRestricted, | 3. TCB - Static, Stack - Static | | |
3041 * | | | | xTaskCreateRestrictedStatic | | | |
3042 * +-----+---------+--------+-----------------------------+-----------------------------------+------------------+-----------+
3044 #define tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE \
3045 ( ( ( portUSING_MPU_WRAPPERS == 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) || \
3046 ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) )
3049 * In line with software engineering best practice, FreeRTOS implements a strict
3050 * data hiding policy, so the real structures used by FreeRTOS to maintain the
3051 * state of tasks, queues, semaphores, etc. are not accessible to the application
3052 * code. However, if the application writer wants to statically allocate such
3053 * an object then the size of the object needs to be known. Dummy structures
3054 * that are guaranteed to have the same size and alignment requirements of the
3055 * real objects are used for this purpose. The dummy list and list item
3056 * structures below are used for inclusion in such a dummy structure.
3058 struct xSTATIC_LIST_ITEM
3060 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
3064 void * pvDummy3[ 4 ];
3065 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
3069 typedef struct xSTATIC_LIST_ITEM StaticListItem_t;
3071 #if ( configUSE_MINI_LIST_ITEM == 1 )
3072 /* See the comments above the struct xSTATIC_LIST_ITEM definition. */
3073 struct xSTATIC_MINI_LIST_ITEM
3075 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
3079 void * pvDummy3[ 2 ];
3081 typedef struct xSTATIC_MINI_LIST_ITEM StaticMiniListItem_t;
3082 #else /* if ( configUSE_MINI_LIST_ITEM == 1 ) */
3083 typedef struct xSTATIC_LIST_ITEM StaticMiniListItem_t;
3084 #endif /* if ( configUSE_MINI_LIST_ITEM == 1 ) */
3086 /* See the comments above the struct xSTATIC_LIST_ITEM definition. */
3087 typedef struct xSTATIC_LIST
3089 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
3092 UBaseType_t uxDummy2;
3094 StaticMiniListItem_t xDummy4;
3095 #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 1 )
3101 * In line with software engineering best practice, especially when supplying a
3102 * library that is likely to change in future versions, FreeRTOS implements a
3103 * strict data hiding policy. This means the Task structure used internally by
3104 * FreeRTOS is not accessible to application code. However, if the application
3105 * writer wants to statically allocate the memory required to create a task then
3106 * the size of the task object needs to be known. The StaticTask_t structure
3107 * below is provided for this purpose. Its sizes and alignment requirements are
3108 * guaranteed to match those of the genuine structure, no matter which
3109 * architecture is being used, and no matter how the values in FreeRTOSConfig.h
3110 * are set. Its contents are somewhat obfuscated in the hope users will
3111 * recognise that it would be unwise to make direct use of the structure members.
3113 typedef struct xSTATIC_TCB
3116 #if ( portUSING_MPU_WRAPPERS == 1 )
3117 xMPU_SETTINGS xDummy2;
3119 #if ( configUSE_CORE_AFFINITY == 1 ) && ( configNUMBER_OF_CORES > 1 )
3120 UBaseType_t uxDummy26;
3122 StaticListItem_t xDummy3[ 2 ];
3123 UBaseType_t uxDummy5;
3125 #if ( configNUMBER_OF_CORES > 1 )
3126 BaseType_t xDummy23;
3127 UBaseType_t uxDummy24;
3129 uint8_t ucDummy7[ configMAX_TASK_NAME_LEN ];
3130 #if ( configUSE_TASK_PREEMPTION_DISABLE == 1 )
3131 BaseType_t xDummy25;
3133 #if ( ( portSTACK_GROWTH > 0 ) || ( configRECORD_STACK_HIGH_ADDRESS == 1 ) )
3136 #if ( portCRITICAL_NESTING_IN_TCB == 1 )
3137 UBaseType_t uxDummy9;
3139 #if ( configUSE_TRACE_FACILITY == 1 )
3140 UBaseType_t uxDummy10[ 2 ];
3142 #if ( configUSE_MUTEXES == 1 )
3143 UBaseType_t uxDummy12[ 2 ];
3145 #if ( configUSE_APPLICATION_TASK_TAG == 1 )
3148 #if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS > 0 )
3149 void * pvDummy15[ configNUM_THREAD_LOCAL_STORAGE_POINTERS ];
3151 #if ( configGENERATE_RUN_TIME_STATS == 1 )
3152 configRUN_TIME_COUNTER_TYPE ulDummy16;
3154 #if ( configUSE_C_RUNTIME_TLS_SUPPORT == 1 )
3155 configTLS_BLOCK_TYPE xDummy17;
3157 #if ( configUSE_TASK_NOTIFICATIONS == 1 )
3158 uint32_t ulDummy18[ configTASK_NOTIFICATION_ARRAY_ENTRIES ];
3159 uint8_t ucDummy19[ configTASK_NOTIFICATION_ARRAY_ENTRIES ];
3161 #if ( tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE != 0 )
3165 #if ( INCLUDE_xTaskAbortDelay == 1 )
3168 #if ( configUSE_POSIX_ERRNO == 1 )
3174 * In line with software engineering best practice, especially when supplying a
3175 * library that is likely to change in future versions, FreeRTOS implements a
3176 * strict data hiding policy. This means the Queue structure used internally by
3177 * FreeRTOS is not accessible to application code. However, if the application
3178 * writer wants to statically allocate the memory required to create a queue
3179 * then the size of the queue object needs to be known. The StaticQueue_t
3180 * structure below is provided for this purpose. Its sizes and alignment
3181 * requirements are guaranteed to match those of the genuine structure, no
3182 * matter which architecture is being used, and no matter how the values in
3183 * FreeRTOSConfig.h are set. Its contents are somewhat obfuscated in the hope
3184 * users will recognise that it would be unwise to make direct use of the
3185 * structure members.
3187 typedef struct xSTATIC_QUEUE
3189 void * pvDummy1[ 3 ];
3194 UBaseType_t uxDummy2;
3197 StaticList_t xDummy3[ 2 ];
3198 UBaseType_t uxDummy4[ 3 ];
3199 uint8_t ucDummy5[ 2 ];
3201 #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
3205 #if ( configUSE_QUEUE_SETS == 1 )
3209 #if ( configUSE_TRACE_FACILITY == 1 )
3210 UBaseType_t uxDummy8;
3214 typedef StaticQueue_t StaticSemaphore_t;
3217 * In line with software engineering best practice, especially when supplying a
3218 * library that is likely to change in future versions, FreeRTOS implements a
3219 * strict data hiding policy. This means the event group structure used
3220 * internally by FreeRTOS is not accessible to application code. However, if
3221 * the application writer wants to statically allocate the memory required to
3222 * create an event group then the size of the event group object needs to be
3223 * know. The StaticEventGroup_t structure below is provided for this purpose.
3224 * Its sizes and alignment requirements are guaranteed to match those of the
3225 * genuine structure, no matter which architecture is being used, and no matter
3226 * how the values in FreeRTOSConfig.h are set. Its contents are somewhat
3227 * obfuscated in the hope users will recognise that it would be unwise to make
3228 * direct use of the structure members.
3230 typedef struct xSTATIC_EVENT_GROUP
3233 StaticList_t xDummy2;
3235 #if ( configUSE_TRACE_FACILITY == 1 )
3236 UBaseType_t uxDummy3;
3239 #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
3242 } StaticEventGroup_t;
3245 * In line with software engineering best practice, especially when supplying a
3246 * library that is likely to change in future versions, FreeRTOS implements a
3247 * strict data hiding policy. This means the software timer structure used
3248 * internally by FreeRTOS is not accessible to application code. However, if
3249 * the application writer wants to statically allocate the memory required to
3250 * create a software timer then the size of the queue object needs to be known.
3251 * The StaticTimer_t structure below is provided for this purpose. Its sizes
3252 * and alignment requirements are guaranteed to match those of the genuine
3253 * structure, no matter which architecture is being used, and no matter how the
3254 * values in FreeRTOSConfig.h are set. Its contents are somewhat obfuscated in
3255 * the hope users will recognise that it would be unwise to make direct use of
3256 * the structure members.
3258 typedef struct xSTATIC_TIMER
3261 StaticListItem_t xDummy2;
3264 TaskFunction_t pvDummy6;
3265 #if ( configUSE_TRACE_FACILITY == 1 )
3266 UBaseType_t uxDummy7;
3272 * In line with software engineering best practice, especially when supplying a
3273 * library that is likely to change in future versions, FreeRTOS implements a
3274 * strict data hiding policy. This means the stream buffer structure used
3275 * internally by FreeRTOS is not accessible to application code. However, if
3276 * the application writer wants to statically allocate the memory required to
3277 * create a stream buffer then the size of the stream buffer object needs to be
3278 * known. The StaticStreamBuffer_t structure below is provided for this
3279 * purpose. Its size and alignment requirements are guaranteed to match those
3280 * of the genuine structure, no matter which architecture is being used, and
3281 * no matter how the values in FreeRTOSConfig.h are set. Its contents are
3282 * somewhat obfuscated in the hope users will recognise that it would be unwise
3283 * to make direct use of the structure members.
3285 typedef struct xSTATIC_STREAM_BUFFER
3287 size_t uxDummy1[ 4 ];
3288 void * pvDummy2[ 3 ];
3290 #if ( configUSE_TRACE_FACILITY == 1 )
3291 UBaseType_t uxDummy4;
3293 #if ( configUSE_SB_COMPLETED_CALLBACK == 1 )
3294 void * pvDummy5[ 2 ];
3296 UBaseType_t uxDummy6;
3297 } StaticStreamBuffer_t;
3299 /* Message buffers are built on stream buffers. */
3300 typedef StaticStreamBuffer_t StaticMessageBuffer_t;
3308 #endif /* INC_FREERTOS_H */