Lines Matching +full:runs +full:- +full:on
5 * SPDX-License-Identifier: MIT
29 /*-----------------------------------------------------------
31 *----------------------------------------------------------*/
45 …LL_INTERRUPT_PRIORITY must not be set to 0. See http: /*www.FreeRTOS.org/RTOS-Cortex-M3-M4.html */
66 /* Constants used to detect a Cortex-M7 r0p1 core, which should use the ARM_CM7
102 /* The systick is a 24-bit counter. */
110 /* For strict compliance with the Cortex-M spec the task start address should
111 * have bit-0 clear, as it is loaded into the PC on exit from an ISR. */
144 * Turn the VFP on.
158 /*-----------------------------------------------------------*/
198 /*-----------------------------------------------------------*/
210 /* Offset added to account for the way the MCU uses the stack on entry/exit in pxPortInitialiseStack()
212 pxTopOfStack--; in pxPortInitialiseStack()
215 pxTopOfStack--; in pxPortInitialiseStack()
217 pxTopOfStack--; in pxPortInitialiseStack()
221 pxTopOfStack -= 5; /* R12, R3, R2 and R1. */ in pxPortInitialiseStack()
226 pxTopOfStack--; in pxPortInitialiseStack()
229 pxTopOfStack -= 8; /* R11, R10, R9, R8, R7, R6, R5 and R4. */ in pxPortInitialiseStack()
233 /*-----------------------------------------------------------*/
250 /*-----------------------------------------------------------*/
257 /* This port can be used on all revisions of the Cortex-M7 core other than in xPortStartScheduler()
265 * 1. Direct Routing - Install the functions vPortSVCHandler and in xPortStartScheduler()
267 * 2. Indirect Routing - Install separate handlers for SVCall and PendSV in xPortStartScheduler()
319 /* Use the same mask on the maximum system call priority. */ in xPortStartScheduler()
327 * See https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html */ in xPortStartScheduler()
346 * the software to configure PRIGROUP to not have sub-priorities. As in xPortStartScheduler()
347 * a result, the least significant bit is always used for sub-priority in xPortStartScheduler()
348 * and there are 128 preemption priorities and 2 sub-priorities. in xPortStartScheduler()
350 * This may cause some confusion in some cases - for example, if in xPortStartScheduler()
359 * The following assert ensures that the sub-priority bit in the in xPortStartScheduler()
367 ulMaxPRIGROUPValue = portMAX_PRIGROUP_BITS - ulImplementedPrioBits; in xPortStartScheduler()
394 /* Ensure the VFP is enabled - it should be anyway. */ in xPortStartScheduler()
406 /*-----------------------------------------------------------*/
414 /*-----------------------------------------------------------*/
431 /*-----------------------------------------------------------*/
436 uxCriticalNesting--; in vPortExitCritical()
443 /*-----------------------------------------------------------*/
447 /* The SysTick runs at the lowest interrupt priority, so when this interrupt in xPortSysTickHandler()
470 /*-----------------------------------------------------------*/
495 /* Re-enable interrupts - see comments above the __disable_interrupt() in vPortSuppressTicksAndSleep()
507 /* Use the SysTick current-value register to determine the number of in vPortSuppressTicksAndSleep()
509 * current-value register is zero, then there are actually in vPortSuppressTicksAndSleep()
520 * tick periods. -1 is used because this code normally executes part in vPortSuppressTicksAndSleep()
525 …lReloadValue = ulSysTickDecrementsLeft + ( ulTimerCountsForOneTick * ( xExpectedIdleTime - 1UL ) ); in vPortSuppressTicksAndSleep()
530 ulReloadValue -= ulTimerCountsForOneTick; in vPortSuppressTicksAndSleep()
535 ulReloadValue -= ulStoppedTimerCompensation; in vPortSuppressTicksAndSleep()
565 /* Re-enable interrupts to allow the interrupt that brought the MCU in vPortSuppressTicksAndSleep()
597 …ulCalculatedLoadValue = ( ulTimerCountsForOneTick - 1UL ) - ( ulReloadValue - portNVIC_SYSTICK_CUR… in vPortSuppressTicksAndSleep()
601 * that took too long or because the SysTick current-value register in vPortSuppressTicksAndSleep()
605 ulCalculatedLoadValue = ( ulTimerCountsForOneTick - 1UL ); in vPortSuppressTicksAndSleep()
613 ulCompleteTickPeriods = xExpectedIdleTime - 1UL; in vPortSuppressTicksAndSleep()
619 /* Use the SysTick current-value register to determine the in vPortSuppressTicksAndSleep()
625 /* If the SysTick is not using the core clock, the current- in vPortSuppressTicksAndSleep()
640 …ulCompletedSysTickDecrements = ( xExpectedIdleTime * ulTimerCountsForOneTick ) - ulSysTickDecremen… in vPortSuppressTicksAndSleep()
648 …CK_LOAD_REG = ( ( ulCompleteTickPeriods + 1UL ) * ulTimerCountsForOneTick ) - ulCompletedSysTickDe… in vPortSuppressTicksAndSleep()
651 /* Restart SysTick so it runs from portNVIC_SYSTICK_LOAD_REG again, in vPortSuppressTicksAndSleep()
662 portNVIC_SYSTICK_LOAD_REG = ulTimerCountsForOneTick - 1UL; in vPortSuppressTicksAndSleep()
677 portNVIC_SYSTICK_LOAD_REG = ulTimerCountsForOneTick - 1UL; in vPortSuppressTicksAndSleep()
691 /*-----------------------------------------------------------*/
713 portNVIC_SYSTICK_LOAD_REG = ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL; in vPortSetupTimerInterrupt()
716 /*-----------------------------------------------------------*/
755 * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html in vPortValidateInterruptPriority()
762 * define the interrupt's pre-emption priority bits and bits that define in vPortValidateInterruptPriority()
763 * the interrupt's sub-priority. For simplicity all bits must be defined in vPortValidateInterruptPriority()
764 * to be pre-emption priority bits. The following assertion will fail if in vPortValidateInterruptPriority()
765 * this is not the case (if some bits represent a sub-priority). in vPortValidateInterruptPriority()
768 * configuration then the correct setting can be achieved on all Cortex-M in vPortValidateInterruptPriority()
771 * assume a non-zero priority group setting, in which cases using a value in vPortValidateInterruptPriority()