Skip to content

Synchronization between ISR and thread #40206

Answered by cz8pru
cz8pru asked this question in Q&A
Discussion options

You must be logged in to vote

The issue with rescheduling is solved when ISR_DIRECT_DECLARE returns different value to 0. This needs to be managed in STM32 Counter driver, see: https://github.com/zephyrproject-rtos/zephyr/blob/6a838bfaba59f75675b5641305277f6ec9bdff76/drivers/counter/counter_ll_stm32_timer.c#L587

Explanation, rescheduling after interrupt happen when z_arm_int_exit() is called when ISR finish. This can be done in ISR_DIRECT_FOOTER().

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by cz8pru
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
1 participant