Lines Matching +full:- +full:- +full:new +full:- +full:kernel +full:- +full:version

2  * FreeRTOS Kernel V11.0.1
5 * SPDX-License-Identifier: MIT
39 /* *INDENT-OFF* */
43 /* *INDENT-ON* */
45 /*-----------------------------------------------------------
47 *----------------------------------------------------------*/
50 * If tskKERNEL_VERSION_NUMBER ends with + it represents the version in development
54 * values will reflect the last released version number.
91 struct tskTaskControlBlock; /* The old naming convention is used to prevent breaking kernel aware d…
168 …defined by the run time stats clock. See https://www.FreeRTOS.org/rtos-run-time-stats.html. Only…
183 … or a context switch pended since portSUPPRESS_TICKS_AND_SLEEP() was called - abort entering a sle…
202 #define tskNO_AFFINITY ( ( UBaseType_t ) -1 )
282 /*-----------------------------------------------------------
284 *----------------------------------------------------------*/
299 * Create a new task and add it to the list of tasks that are ready to run.
311 * See xTaskCreateStatic() for a version that does not use any dynamic memory
323 * facilitate debugging. Max length defined by configMAX_TASK_NAME_LEN - default
327 * variables the stack can hold - not the number of bytes. For example, if
366 * // the new task attempts to access it.
411 * Create a new task and add it to the list of tasks that are ready to run.
431 * variables the stack can hold - not the number of bytes. For example, if
432 * the stack is 32-bits wide and ulStackDepth is defined as 100 then 400 bytes
441 * ulStackDepth indexes - the array will then be used as the task's stack,
458 * // bytes. For example, if each stack item is 32-bits, and this is set to 100,
459 * // then 400 bytes (100 * 32-bits) will be allocated.
539 * Create a new task and add it to the list of tasks that are ready to run.
543 * See xTaskCreateRestrictedStatic() for a version that does not use any
562 * vATask, // pvTaskCode - the function that implements the task.
563 * "ATask", // pcName - just a text name for the task to assist debugging.
564 * 100, // usStackDepth - the stack size DEFINED IN WORDS.
565 * NULL, // pvParameters - passed into the task function as the function parameters.
566 …* ( 1UL | portPRIVILEGE_BIT ),// uxPriority - task priority, set the portPRIVILEGE_BIT if the tas…
567 * cStackBuffer,// puxStackBuffer - the buffer to be used as the task stack.
569 * // xRegions - Allocate up to three separate memory regions for access by
571 * // different memory alignment requirements - refer to the FreeRTOS documentation
639 * StaticTask_t - which is then used to hold the task's data structure.
652 * // be used to force the variable into the RTOS kernel's privileged data area.
656 * vATask, // pvTaskCode - the function that implements the task.
657 * "ATask", // pcName - just a text name for the task to assist debugging.
658 * 100, // usStackDepth - the stack size DEFINED IN WORDS.
659 * NULL, // pvParameters - passed into the task function as the function parameters.
660 …* ( 1UL | portPRIVILEGE_BIT ),// uxPriority - task priority, set the portPRIVILEGE_BIT if the tas…
661 * cStackBuffer,// puxStackBuffer - the buffer to be used as the task stack.
663 * // xRegions - Allocate up to three separate memory regions for access by
665 * // different memory alignment requirements - refer to the FreeRTOS documentation
721 * new memory region definitions.
769 * Remove a task from the RTOS real time kernel's management. The task being
772 * NOTE: The idle task is responsible for freeing the kernel allocated
803 /*-----------------------------------------------------------
805 *----------------------------------------------------------*/
816 * rate - with the resolution of one tick period.
926 * vTaskDelayUntil() is the older version of xTaskDelayUntil() and does not
952 * There is no 'FromISR' version of this function as an interrupt would need to
1024 * A version of uxTaskPriorityGet() that can be used from an ISR.
1055 * A version of uxTaskBasePriorityGet() that can be used from an ISR.
1102 * temporarily unresponsive - so the xGetFreeStackSpace parameter is provided to
1109 * a simple assignment - so the eState parameter is provided to allow the state
1111 * information then set eState to eInvalid - otherwise the value passed in
1201 * Calls to vTaskSuspend are not accumulative -
1310 * task being suspended - as this can lead to interrupts being missed. Use of a
1336 * which the task can run. Cores are numbered from 0 to configNUMBER_OF_CORES - 1.
1376 * configNUMBER_OF_CORES - 1. For example, if a task can run on core 0 and core 1,
1381 * // Task handle of the networking task - it is populated elsewhere.
1396 * // have 2 cores - Core 0 and core 1. We want to pin the application task to
1482 /*-----------------------------------------------------------
1484 *----------------------------------------------------------*/
1492 * Starts the real time kernel tick processing. After calling the kernel
1496 * tasks and starting the kernel.
1502 * // Create at least one task before starting the kernel.
1505 * // Start the real time kernel with preemption.
1526 * Stops the real time kernel tick. All created tasks will be automatically
1536 * performs hardware specific operations such as stopping the kernel tick.
1539 * kernel to be freed - but will not free resources allocated by application
1550 * // At some point we want to end the real time kernel processing
1558 * // Create at least one task before starting the kernel.
1561 * // Start the real time kernel with preemption.
1605 * // operation may cause interrupts to be missed - including the
1608 * // Prevent the real time kernel swapping out the task.
1613 * // During this time interrupts will still operate and the kernel
1618 * // The operation is complete. Restart the kernel.
1656 * // operation may cause interrupts to be missed - including the
1659 * // Prevent the real time kernel swapping out the task.
1665 * // time kernel tick count will be maintained.
1669 * // The operation is complete. Restart the kernel. We want to force
1670 * // a context switch - but there is no point if resuming the scheduler
1684 /*-----------------------------------------------------------
1686 *----------------------------------------------------------*/
1709 * This is a version of xTaskGetTickCount() that is safe to be called from an
1710 * ISR - provided that TickType_t is the natural word size of the
1725 * @return The number of tasks that the real time kernel is currently managing.
1817 * overflowing on 8-bit types without breaking backward compatibility for
1818 * applications that expect an 8-bit return type.
1848 * overflowing on 8-bit types without breaking backward compatibility for
1849 * applications that expect an 8-bit return type.
1891 * call from an interrupt service routine - call
1913 * kernel does not use the pointers itself, so the application writer can use
1934 …rflow detection can be found here: https://www.FreeRTOS.org/Stacks-and-stack-overflow-checking.html
1940 /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-86 */
1961 /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-86 */
1979 /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-86 */
2015 * 2. ( configNUMBER_OF_CORES - 1 ) Passive idle tasks which do nothing.
2020 * task index 0, 1 ... ( configNUMBER_OF_CORES - 2 ) to get memory for passive idle
2058 * In single-core FreeRTOS, this function simply returns the handle of the idle
2064 * 2. ( configNUMBER_OF_CORES - 1 ) Passive idle tasks which do nothing.
2069 * 1,2 ... ( configNUMBER_OF_CORES - 1 ) to get the Passive idle task handles.
2105 * https://www.FreeRTOS.org/rtos-run-time-stats.html) since the target booted.
2210 * on top of stack - not the number of bytes.
2216 * FreeRTOS/Demo sub-directories in a file called printf-stdarg.c (note
2217 * printf-stdarg.c does not provide a full snprintf() implementation!).
2250 * backward compatibility. New applications are recommended to
2271 * on top of stack - not the number of bytes.
2277 * FreeRTOS/Demo sub-directories in a file called printf-stdarg.c (note
2278 * printf-stdarg.c does not provide a full snprintf() implementation!).
2333 * FreeRTOS/Demo sub-directories in a file called printf-stdarg.c (note
2334 * printf-stdarg.c does not provide a full snprintf() implementation!).
2371 * backward compatiblity. New applications are recommended to use
2400 * FreeRTOS/Demo sub-directories in a file called printf-stdarg.c (note
2401 * printf-stdarg.c does not provide a full snprintf() implementation!).
2504 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
2513 * each of which is a 32-bit unsigned integer (uint32_t). The constant
2534 * un-indexed equivalents). If the task was already in the Blocked state to
2539 * **NOTE** Each notification within the array operates independently - a task
2547 * new set of API functions that could address specific notifications within the
2569 * eSetBits -
2573 * eIncrement -
2577 * eSetValueWithOverwrite -
2583 * eSetValueWithoutOverwrite -
2590 * eNoAction -
2595 * pulPreviousNotificationValue -
2622 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
2651 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
2656 * A version of xTaskNotifyIndexed() that can be used from an interrupt service
2660 * each of which is a 32-bit unsigned integer (uint32_t). The constant
2677 * to wait for a notification value to have a non-zero value. The task does
2682 * un-indexed equivalents). If the task was already in the Blocked state to
2687 * **NOTE** Each notification within the array operates independently - a task
2695 * new set of API functions that could address specific notifications within the
2717 * eSetBits -
2721 * eIncrement -
2725 * eSetValueWithOverwrite -
2731 * eSetValueWithoutOverwrite -
2737 * eNoAction -
2748 * requested from an ISR is dependent on the port - see the documentation page
2775 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
2808 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
2814 * each of which is a 32-bit unsigned integer (uint32_t). The constant
2831 * un-indexed equivalents). If the task was already in the Blocked state to
2838 * to wait for a notification value to have a non-zero value. The task does
2841 * **NOTE** Each notification within the array operates independently - a task
2849 * new set of API functions that could address specific notifications within the
2884 * clearing of any bits caused by ulBitsToClearOnExit being non-zero.
2890 * is specified in kernel ticks, the macro pdMS_TO_TICKS( value_in_ms ) can be
2921 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for more details.
2927 * each of which is a 32-bit unsigned integer (uint32_t). The constant
2953 * **NOTE** Each notification within the array operates independently - a task
2961 * new set of API functions that could address specific notifications within the
2978 * eAction parameter set to eIncrement - so pdPASS is always returned.
2995 * A version of xTaskNotifyGiveIndexed() that can be called from an interrupt
2998 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for more details.
3004 * each of which is a 32-bit unsigned integer (uint32_t). The constant
3030 * **NOTE** Each notification within the array operates independently - a task
3038 * new set of API functions that could address specific notifications within the
3061 * requested from an ISR is dependent on the port - see the documentation page
3086 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
3092 * each of which is a 32-bit unsigned integer (uint32_t). The constant
3132 * **NOTE** Each notification within the array operates independently - a task
3140 * new set of API functions that could address specific notifications within the
3148 * be non-zero. uxIndexToWaitOn must be less than
3163 * time while it is in the Blocked state. This is specified in kernel ticks,
3189 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
3195 * each of which is a 32-bit unsigned integer (uint32_t). The constant
3212 * new set of API functions that could address specific notifications within the
3253 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
3259 * each of which is a 32-bit unsigned integer (uint32_t). The constant
3272 * new set of API functions that could address specific notifications within the
3293 * value. Set ulBitsToClear to 0xffffffff (UINT_MAX on 32-bit architectures) to clear
3358 * // data then the task re-enters the Blocked state, and xTaskCheckForTimeOut()
3359 * // is used to re-calculate the Block time to ensure the total amount of time
3363 * // MAX_TIME_TO_WAIT - at which point the task reads however many bytes are
3442 /*-----------------------------------------------------------
3444 *----------------------------------------------------------*/
3457 * Called from the real time kernel tick (either preemptive or cooperative),
3460 * a ready list. If a non-zero value is returned then a context switch is
3482 * The 'unordered' version replaces the event list item value with the
3485 * The 'ordered' version uses the existing event list item value (which is the
3496 * for the event to occur. This is specified in kernel ticks, the constant
3497 * portTICK_PERIOD_MS can be used to convert kernel ticks into a real time
3607 * priority task to inherit the higher priority task's priority - but the higher
3609 * priority task will disinherit the priority again - but only down as far as
3739 * For internal use only. Grant/Revoke a task's access to a kernel object.
3747 * For internal use only. Grant/Revoke a task's access to a kernel object.
3756 /* *INDENT-OFF* */
3760 /* *INDENT-ON* */