]> begriffs open source - freertos/commit
Work around SysTick bug for QEMU ARMv8-M (#724)
authorJeff Tenney <jeff.tenney@gmail.com>
Thu, 27 Jul 2023 04:52:13 +0000 (21:52 -0700)
committerGitHub <noreply@github.com>
Thu, 27 Jul 2023 04:52:13 +0000 (10:22 +0530)
commitb13e2698bb1dc0778bb4b5078c03a34097108497
tree024fb96ec7f6df755c6d3927a85bf9fdbe999d9a
parentd02ab775f321e5f3b59e5a3c609ea6c06c0199c1
Work around SysTick bug for QEMU ARMv8-M (#724)

* Set SysTick CLKSOURCE bit before enabling SysTick

* Use portNVIC_SYSTICK_CLK_BIT_CONFIG

The workaround now uses portNVIC_SYSTICK_CLK_BIT_CONFIG instead of
portNVIC_SYSTICK_CLK_BIT, which saves us from having to explain in the
comments why it's OK to temporarily set the CLKSOURCE bit even if the
user's FreeRTOS configuration clears the CLKSOURCE bit.

Using portNVIC_SYSTICK_CLK_BIT_CONFIG here still correctly prevents the
firmware from triggering the QEMU bug.
21 files changed:
portable/ARMv8M/non_secure/port.c
portable/GCC/ARM_CM23/non_secure/port.c
portable/GCC/ARM_CM23_NTZ/non_secure/port.c
portable/GCC/ARM_CM33/non_secure/port.c
portable/GCC/ARM_CM33_NTZ/non_secure/port.c
portable/GCC/ARM_CM35P/non_secure/port.c
portable/GCC/ARM_CM35P_NTZ/non_secure/port.c
portable/GCC/ARM_CM55/non_secure/port.c
portable/GCC/ARM_CM55_NTZ/non_secure/port.c
portable/GCC/ARM_CM85/non_secure/port.c
portable/GCC/ARM_CM85_NTZ/non_secure/port.c
portable/IAR/ARM_CM23/non_secure/port.c
portable/IAR/ARM_CM23_NTZ/non_secure/port.c
portable/IAR/ARM_CM33/non_secure/port.c
portable/IAR/ARM_CM33_NTZ/non_secure/port.c
portable/IAR/ARM_CM35P/non_secure/port.c
portable/IAR/ARM_CM35P_NTZ/non_secure/port.c
portable/IAR/ARM_CM55/non_secure/port.c
portable/IAR/ARM_CM55_NTZ/non_secure/port.c
portable/IAR/ARM_CM85/non_secure/port.c
portable/IAR/ARM_CM85_NTZ/non_secure/port.c