Skip to content

nrf timers unstable with ticks faster than 100 Hz #12542

@pabigot

Description

@pabigot

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.

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions