We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SysTick_Handler in gd32-spl-freertos(without cmsis_os2) shouldn't auto clear overflow flag of SysTick.
SysTick_Handler
gd32-pio-projects/gd32-spl-freertos/src/main.c
Lines 139 to 149 in 76bdc2d
It will break tickless mode for FreeRTOS(#define configUSE_TICKLESS_IDLE 1), since the default vPortSuppressTicksAndSleep will check the flag
#define configUSE_TICKLESS_IDLE 1
vPortSuppressTicksAndSleep
gd32-pio-projects/gd32-spl-freertos/lib/FreeRTOS/src/portable/ARM_CM3/port.c
Lines 552 to 566 in d16b658
The text was updated successfully, but these errors were encountered:
Interesting. That comes from https://github.com/STMicroelectronics/STM32CubeF4/blob/master/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c#L150-L168.
So the code should rather be
extern void xPortSysTickHandler(void); void SysTick_Handler(void) { /* only clear overflag in not-tickless mode */ #if !defined(configUSE_TICKLESS_IDLE) || configUSE_TICKLESS_IDLE == 0 /* Clear overflow flag */ SysTick->CTRL; #endif if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) { /* Call tick handler */ xPortSysTickHandler(); } }
?
Sorry, something went wrong.
No branches or pull requests
SysTick_Handler
in gd32-spl-freertos(without cmsis_os2) shouldn't auto clear overflow flag of SysTick.gd32-pio-projects/gd32-spl-freertos/src/main.c
Lines 139 to 149 in 76bdc2d
It will break tickless mode for FreeRTOS(
#define configUSE_TICKLESS_IDLE 1
), since the defaultvPortSuppressTicksAndSleep
will check the flaggd32-pio-projects/gd32-spl-freertos/lib/FreeRTOS/src/portable/ARM_CM3/port.c
Lines 552 to 566 in d16b658
The text was updated successfully, but these errors were encountered: