CMSIS: OS Timer callback queue overflow
Information in this knowledgebase article applies to:
Occasionally my program running CMSIS RTOS v2 (RTX v5.x) will end up in the function osRtxErrorNotify() with the error code osRtxErrorTimerQueueOverflow. What can cause such an error with osRtxErrorTimerQueueOverflow? How can I resolve it?
Items are put into this OS timer callback queue every time when a timer expires. These items are removed from this queue by the "Timer thread", which is running at the thread priority defined in RTX_Config.h. Before the current timer callback completes, no other callback items are removed from the queue. If items are put into the timer callback queue faster than they can be processed, when the number of items in the queue is more than the max size of the queue, such an timer callback queue overflow error will occur.
Here are some possible solutions to resolve this issue:
The cause of such a OS Timer callback queue overflow issue and the possible solutions mentioned above also apply to CMSIS RTOS v1 (RTX v4.x).
Last Reviewed: Friday, September 28, 2018
of your data.