Zephyr 3.6.0 introduces the use of wfi when waiting for interrupts (5fb6e267f629dedb8382da6bcad8018b1bb8930a). Executing this instructions breaks things for us.
How to reproduce?
Run the following example program (based on hello_world) on Zephyr >= 3.6.0:
#include <stdio.h>
#include <zephyr/kernel.h>
int main(void)
{
int i=0;
while (1) {
printf("Hello World! %s %d\n", CONFIG_BOARD_TARGET, i++);
k_msleep(1000);
}
return 0;
}
Observed behavior
Hello World is printed once, then the application locks up. Not even the interrupt handler in the timer driver is ever called again.
Expected behavior
Hello Word is printed every 1 second.
Zephyr 3.6.0 introduces the use of
wfiwhen waiting for interrupts (5fb6e267f629dedb8382da6bcad8018b1bb8930a). Executing this instructions breaks things for us.How to reproduce?
Run the following example program (based on
hello_world) on Zephyr >= 3.6.0:Observed behavior
Hello World is printed once, then the application locks up. Not even the interrupt handler in the timer driver is ever called again.
Expected behavior
Hello Word is printed every 1 second.