-
Notifications
You must be signed in to change notification settings - Fork 6.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cortex_m_systick programmed cycles are 1.7 tick less than expected, for tickless idle #2575
Comments
by Sharron LIU:
|
by Dmitriy Korovkin: The attached test demonstrates on Arduino Due, FRDM-k64f and qemu-x86 platforms the fact that sleep takes 200 ms (as the test requires) plus one timer tick. |
by Anas Nashif: correct behaviour per developer |
by Mark Linkmeyer: Fixing incorrect priority |
Reported by Sharron LIU:
The issue is detected when I tried to verify tickless idle @arm with unified kernel.
After time idle enter, the test case check "__scs.systick.strvr" programmed, and expect the value should be around "ticks * cycles_per_tick", with an error range that not greater than a tick (in ARM case, 840000 cycles).
However, for a 20-tick idle, now the "__scs.systick.strvr" programmed is "15352506", while "[15960000, 16800000]" is expected.
Could you review if this error is as expected? Since when read into the code I noticed two steps added to buffer time for reaction.
I attaching the test code.
Actual programmed cycles: err 1447494 (which is around 1.7 tick)
Expected programmed cycles: err within 840000 (cycles per tick)
NOTE: the test case works on X86 @quark_se and @quark_d2000
(Imported from Jira ZEP-1072)
The text was updated successfully, but these errors were encountered: