-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Description
I have a test application that uses k_timer to wake every 10 seconds and display information about elapsed time differences between k_uptime_get() and k_cycle_get(). It operates correctly with the default 100 ticks per second.
Increasing to 1000 ticks per second the system appears to work, but instrumentation shows that the timer ISR is actually firing every 5.855 ms. Other values greater than 200 show the same behavior, with different intervals that are ticks-per-second dependent but generally on the order of 5-12 ms.
Increasing to 32768 ticks per second (supposedly the workaround to enable high-resolution alarms) the k_timer handler is never called and the ISR shows a burst of about 8 wakeups at 11 ms intervals followed by silence. Presumably the counter got set to an offset too small to guarantee a wakeup and the first callback will be in 512 s when the counter wraps.