You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
m42uko
changed the title
wfi instructions unsupported / brokenwfi instruction unsupported / broken
Aug 2, 2024
Ok, that's not good. It's a bit surprising that they didn't make WFI support optional in Zephyr. Either way, I think that we should short-term fix SERV to treat WFI as a nop and long term add proper support since it's a highly useful instruction for the kind of deeply embedded use cases that SERV intends to serve.
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: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.
The text was updated successfully, but these errors were encountered: