2 \defgroup rtx_evr Event functions
4 \brief RTX5 Event Recorder functions
6 RTX5 interfaces to the <a href="http://www.keil.com/pack/doc/compiler/EventRecorder/html/index.html" target="_blank"><b>Event Recorder</b></a>
7 to provide event information which helps you to understand and analyze the operation.
9 To use the Event Recorder together with RTX5, it is required to create an image that generates event information. The steps are:
10 - <a href="http://www.keil.com/pack/doc/compiler/EventRecorder/html/UseDebugViews.html#Add_Event_Recorder" target="_blank"><b>Add Event Recorder</b></a>: Select in the RTE management dialog the software component <b>Compiler:Event Recorder</b>.
11 - <a href="http://www.keil.com/pack/doc/compiler/EventRecorder/html/UseDebugViews.html#Debug_Variants" target="_blank"><b>Select Debug Variant</b></a>: Select in the RTE management dialog the \b Source variant for the software component <b>CMSIS:RTOS2 (API):Keil RTX5</b>.
12 - <a href="http://www.keil.com/pack/doc/compiler/EventRecorder/html/group__EventRecorder__Setup.htm" target="_blank"><b>Add Initialization Code</b></a>: Call the function <b>EventRecorderInitialize</b> in your application code.
13 - Build the application code and download it to the debug hardware.
15 Once the target application generates event information, it can be viewed in the µVision debugger using the \b Event
22 \defgroup rtx_evr_memory Memory Functions
23 \brief Events generated memory functions
29 \fn void EvrRtxMemoryInit (void *mem, uint32_t size, uint32_t result)
31 The event \b MemoryInit is generated when initialization of a variable size memory block completes.
33 \b Value in the Event Recorder shows:
34 - \b mem : memory address of memory pool.
35 - \b size : size of a memory pool in bytes.
36 - \b result : execution status: 1 - success, 0 - failure.
40 \fn void EvrRtxMemoryAlloc (void *mem, uint32_t size, uint32_t type, void *block)
42 The event \b MemoryAlloc is generated when allocation of a variable size memory block completes.
44 \b Value in the Event Recorder shows:
45 - \b mem : memory address of memory pool.
46 - \b size : size of a memory block in bytes.
47 - \b type : memory block type: 0 - generic, 1 - control block
48 - \b block : memory address of allocated memory block or 0 in case of no memory is available.
52 \fn void EvrRtxMemoryFree (void *mem, void *block, uint32_t result)
54 The event \b MemoryFree is generated when deallocation of a variable size memory block completes.
56 \b Value in the Event Recorder shows:
57 - \b mem : memory address of memory pool.
58 - \b block : memory address of block to be returned to the memory pool.
59 - \b result : execution status: 1 - success, 0 - failure.
63 \fn void EvrRtxMemoryBlockInit (osRtxMpInfo_t *mp_info, uint32_t block_count, uint32_t block_size, void *block_mem)
65 The event \b MemoryBlockInit is generated when initialization of a fixed size memory block completes.
67 \b Value in the Event Recorder shows:
68 - \b mp_info : memory address of memory pool info.
69 - \b block_count : maximum number of memory blocks in memory pool.
70 - \b block_size : size of a memory block in bytes.
71 - \b block_mem : memory address of memory for block storage.
75 \fn void EvrRtxMemoryBlockAlloc (osRtxMpInfo_t *mp_info, void *block)
77 The event \b MemoryBlockAlloc is generated when allocation of a fixed size memory block completes.
79 \b Value in the Event Recorder shows:
80 - \b mp_info : memory address of memory pool info.
81 - \b block : memory address of the allocated memory block or 0 in case of no memory is available.
85 \fn void EvrRtxMemoryBlockFree (osRtxMpInfo_t *mp_info, void *block, int32_t status)
87 The event \b MemoryBlockFree is generated when deallocation of a fixed size memory block completes.
89 \b Value in the Event Recorder shows:
90 - \b mp_info : memory address of memory pool info.
91 - \b block : memory address of the allocated memory block to be returned to the memory pool.
92 - \b status : execution status \ref osStatus_t
100 \defgroup rtx_evr_kernel Kernel Functions
101 \brief Events generated by kernel functions
107 \fn void EvrRtxKernelError (int32_t status)
109 The event \b KernelError is generated when \ref CMSIS_RTOS_KernelCtrl routines complete their execution due to an error.
111 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
112 of the extended execution status codes which are summarized in the table below.
114 | Extended Status Code | Description |
115 |:------------------------------|:------------|
116 | osRtxErrorKernelNotReady | Kernel scheduler is not in Ready state. |
117 | osRtxErrorKernelNotRunning | Kernel scheduler is not executing - there is no running thread. |
118 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
119 | osRtxErrorInvalidDataMemory | Object data memory with invalid alignment or size was specified. |
120 | osRtxErrorInvalidThreadStack | Thread stack memory with invalid alignment or size was specified. |
121 | osRtxErrorInvalidPriority | Invalid thread priority was specified. |
122 | osRtxErrorThreadNotJoinable | Specified thread is not joinable. |
123 | osRtxErrorMutexNotOwned | Specified mutex is not owned by the current running thread. |
124 | osRtxErrorMutexNotLocked | Specified mutex is not locked. |
125 | osRtxErrorMutexLockLimit | Maximum number of recursive mutex locks reached. |
126 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
127 | osRtxErrorTZ_InitContext_S | Secure context memory system initialization failed. |
128 | osRtxErrorTZ_AllocContext_S | Secure context memory allocation failed. |
129 | osRtxErrorTZ_FreeContext_S | Secure context memory deallocation failed. |
130 | osRtxErrorTZ_LoadContext_S | Secure context load failed. |
131 | osRtxErrorTZ_SaveContext_S | Secure context save failed. |
133 \b Value in the Event Recorder shows:
134 - \b status : execution status code.
138 \fn void EvrRtxKernelInitialize (void)
140 The event \b KernelInitialize is generated when the function \ref osKernelInitialize is called.
144 \fn void EvrRtxKernelInitializeCompleted (void)
146 The event \b KernelInitializeCompleted is generated when the function \ref osKernelInitialize successfully initializes the RTOS kernel.
150 \fn void EvrRtxKernelGetInfo (osVersion_t *version, char *id_buf, uint32_t id_size)
152 The event \b KernelGetInfo is generated when the function \ref osKernelGetInfo is called.
154 \b Value in the Event Recorder shows:
155 - \b version : memory address of buffer for retrieving version information.
156 - \b id_buf : memory address of buffer for retrieving kernel identification string.
157 - \b id_size : size of id_buf in bytes.
161 \fn void EvrRtxKernelInfoRetrieved (osVersion_t *version, char *id_buf)
163 The event \b KernelInfoRetrieved is generated when the function \ref osKernelGetInfo successfully retrieves kernel information.
165 \b Value in the Event Recorder shows:
166 - \b version : memory address of buffer for retrieving version information.
167 - \b id_buf : memory address of buffer for retrieving kernel identification string.
171 \fn void EvrRtxKernelGetState (osKernelState_t state)
173 The event \b KernelGetState is generated when the function \ref osKernelGetState is called and its execution result is known.
175 \b Value in the Event Recorder shows:
176 - \b state : retrieved current \ref osKernelState_t "RTOS Kernel state".
180 \fn void EvrRtxKernelStart (void)
182 The event \b KernelStart is generated when the function \ref osKernelStart is called.
186 \fn void EvrRtxKernelStarted (void)
188 The event \b KernelStarted is generated when the function \ref osKernelStart successfully starts the RTOS kernel execution.
192 \fn void EvrRtxKernelLock (void)
194 The event \b KernelLock is generated when the function \ref osKernelLock is called.
198 \fn void EvrRtxKernelLocked (int32_t lock)
200 The event \b KernelLocked is generated when the functions \ref osKernelLock successfully completes its execution.
202 \b Value in the Event Recorder shows:
203 - \b lock : previous lock state (1 - locked, 0 - not locked).
207 \fn void EvrRtxKernelUnlock (void)
209 The event \b KernelUnlock is generated when the function \ref osKernelUnlock is called.
213 \fn void EvrRtxKernelUnlocked (int32_t lock)
215 The event \b KernelUnlocked is generated when the function \ref osKernelUnlock successfully completes its execution.
217 \b Value in the Event Recorder shows:
218 - \b lock : previous lock state (1 - locked, 0 - not locked).
222 \fn void EvrRtxKernelRestoreLock (int32_t lock)
224 The event \b KernelRestoreLock is generated when the function \ref osKernelRestoreLock is called.
226 \b Value in the Event Recorder shows:
227 - \b lock : lock state obtained by \ref osKernelLock or \ref osKernelUnlock.
231 \fn void EvrRtxKernelLockRestored (int32_t lock)
233 The event \b KernelLockRestored is generated when the function \ref osKernelRestoreLock successfully completes its execution.
235 \b Value in the Event Recorder shows:
236 - \b lock : new lock state (1 - locked, 0 - not locked).
240 \fn void EvrRtxKernelSuspend (void)
242 The event \b KernelSuspend is generated when the function \ref osKernelSuspend is called.
246 \fn void EvrRtxKernelSuspended (uint32_t sleep_ticks)
248 The event \b KernelSuspended is generated when the function \ref osKernelSuspend successfully suspends RTOS kernel execution.
250 \b Value in the Event Recorder shows:
251 - \b sleep_ticks : time in ticks, for how long the system can sleep or power-down.
255 \fn void EvrRtxKernelResume (uint32_t sleep_ticks)
257 The event \b KernelResume is generated when the function \ref osKernelResume is called.
259 \b Value in the Event Recorder shows:
260 - \b sleep_ticks : time in ticks, for how long the system was in sleep or power-down mode.
264 \fn void EvrRtxKernelResumed (void)
266 The event \b KernelResumed is generated when the function \ref osKernelResume successfully resumes RTOS kernel execution.
270 \fn void EvrRtxKernelGetTickCount (uint32_t count)
272 The event \b KernelGetTickCount is generated when the function \ref osKernelGetTickCount is called.
274 \b Value in the Event Recorder shows:
275 - \b count : retrieved kernel current tick count.
279 \fn void EvrRtxKernelGetTickFreq (uint32_t freq)
281 The event \b KernelGetTickFreq is generated when the function \ref osKernelGetTickFreq called.
283 \b Value in the Event Recorder shows:
284 - \b freq : retrieved frequency of the kernel tick in Hz.
288 \fn void EvrRtxKernelGetSysTimerCount (uint32_t count)
290 The event \b KernelGetSysTimerCount is generated when the function \ref osKernelGetSysTimerCount is called.
292 \b Value in the Event Recorder shows:
293 - \b count : retrieved kernel current system timer count as 32-bit value.
297 \fn void EvrRtxKernelGetSysTimerFreq (uint32_t freq)
299 The event \b KernelGetSysTimerFreq is generated when the function \ref osKernelGetSysTimerFreq is called.
301 \b Value in the Event Recorder shows:
302 - \b freq : retrieved frequency of the system timer in Hz.
310 \defgroup rtx_evr_thread Thread Functions
311 \brief Events generated by thread functions
317 \fn void EvrRtxThreadError (osThreadId_t thread_id, int32_t status)
319 The event \b ThreadError is generated when \ref CMSIS_RTOS_ThreadFlagsMgmt and \ref CMSIS_RTOS_ThreadMgmt routines complete their execution due to an error.
321 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
322 of the extended execution status codes which are summarized in the table below.
324 | Extended Status Code | Description |
325 |:------------------------------|:------------|
326 | osRtxErrorKernelNotReady | Kernel scheduler is not in Ready state. |
327 | osRtxErrorKernelNotRunning | Kernel scheduler is not executing - there is no running thread. |
328 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
329 | osRtxErrorInvalidDataMemory | Object data memory with invalid alignment or size was specified. |
330 | osRtxErrorInvalidThreadStack | Thread stack memory with invalid alignment or size was specified. |
331 | osRtxErrorInvalidPriority | Invalid thread priority was specified. |
332 | osRtxErrorThreadNotJoinable | Specified thread is not joinable. |
333 | osRtxErrorMutexNotOwned | Specified mutex is not owned by the current running thread. |
334 | osRtxErrorMutexNotLocked | Specified mutex is not locked. |
335 | osRtxErrorMutexLockLimit | Maximum number of recursive mutex locks reached. |
336 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
337 | osRtxErrorTZ_InitContext_S | Secure context memory system initialization failed. |
338 | osRtxErrorTZ_AllocContext_S | Secure context memory allocation failed. |
339 | osRtxErrorTZ_FreeContext_S | Secure context memory deallocation failed. |
340 | osRtxErrorTZ_LoadContext_S | Secure context load failed. |
341 | osRtxErrorTZ_SaveContext_S | Secure context save failed. |
343 \b Value in the Event Recorder shows:
344 - \b thread_id : thread ID.
345 - \b status : execution status code.
349 \fn void EvrRtxThreadNew (osThreadFunc_t func, void *argument, const osThreadAttr_t *attr)
351 The event \b ThreadNew is generated when the function \ref osThreadNew is called.
353 \b Value in the Event Recorder shows:
354 - \b func : memory address of thread function.
355 - \b argument : memory address of thread function start argument.
356 - \b attr : memory address of Thread attributes or 0 when they are not specified.
358 In case when \ref osThreadAttr_t "thread attributes" are provided in the API call they are also detailed in the Event Recorder.
362 \fn void EvrRtxThreadCreated (osThreadId_t thread_id, uint32_t thread_addr)
364 The event \b ThreadCreated is generated when the function \ref osThreadNew successfully creates a thread object.
366 \b Value in the Event Recorder shows:
367 - \b thread_id : thread ID.
371 \fn void EvrRtxThreadGetName (osThreadId_t thread_id, const char *name)
373 The event \b ThreadGetName is generated when the function \ref osThreadGetName is called and its execution result is known.
375 \b Value in the Event Recorder shows:
376 - \b thread_id : thread ID.
377 - \b name : retrieved memory address of name string (0 in case of a failure).
381 \fn void EvrRtxThreadGetId (osThreadId_t thread_id)
383 The event \b ThreadGetId is generated when the function \ref osThreadGetId is called and its execution result is known.
385 \b Value in the Event Recorder shows:
386 - \b thread_id : retrieved thread (0 in case of a failure).
390 \fn void EvrRtxThreadGetState (osThreadId_t thread_id, osThreadState_t state)
392 The event \b ThreadGetState is generated when the function \ref osThreadGetState is called and its execution result is known.
394 \b Value in the Event Recorder shows:
395 - \b thread_id : thread ID.
396 - \b state : retrieved current thread state.
400 \fn void EvrRtxThreadGetStackSize (osThreadId_t thread_id, uint32_t stack_size)
402 The event \b ThreadGetStackSize is generated when the function \ref osThreadGetStackSize is called and its execution result is known.
404 \b Value in the Event Recorder shows:
405 - \b thread_id : thread ID.
406 - \b stack_size : retrieved remaining stack space in bytes (0 in case of a failure).
410 \fn void EvrRtxThreadGetStackSpace (osThreadId_t thread_id, uint32_t stack_space)
412 The event \b ThreadGetStackSpace is generated when the function \ref osThreadGetStackSpace is called and its execution result is known.
414 \b Value in the Event Recorder shows:
415 - \b thread_id : thread ID.
416 - \b stack_space : retrieved remaining stack space in bytes (0 in case of a failure).
420 \fn void EvrRtxThreadSetPriority (osThreadId_t thread_id, osPriority_t priority)
422 The event \b ThreadSetPriority is generated when the function \ref osThreadSetPriority is called.
424 \b Value in the Event Recorder shows:
425 - \b thread_id : thread ID.
426 - \b priority : new priority value for the thread function.
430 \fn void EvrRtxThreadGetPriority (osThreadId_t thread_id, osPriority_t priority)
432 The event \b ThreadGetPriority is generated when the function \ref osThreadGetPriority is called and its execution result is known.
434 \b Value in the Event Recorder shows:
435 - \b thread_id : thread ID.
436 - \b priority : current priority value of the specified thread.
440 \fn void EvrRtxThreadYield (void)
442 The event \b ThreadYield is generated when the function \ref osThreadYield is called.
446 \fn void EvrRtxThreadSuspend (osThreadId_t thread_id)
448 The event \b ThreadSuspend is generated when the function \ref osThreadSuspend is called.
450 \b Value in the Event Recorder shows:
451 - \b thread_id : thread ID.
455 \fn void EvrRtxThreadSuspended (osThreadId_t thread_id)
457 The event \b ThreadSuspended is generated when the function \ref osThreadSuspend successfully suspends the specified thread.
459 \b Value in the Event Recorder shows:
460 - \b thread_id : thread ID.
464 \fn void EvrRtxThreadResume (osThreadId_t thread_id)
466 The event \b ThreadResume is generated when the function \ref osThreadResume is called.
468 \b Value in the Event Recorder shows:
469 - \b thread_id : thread ID.
473 \fn void EvrRtxThreadResumed (osThreadId_t thread_id)
475 The event \b ThreadResumed is generated when the function \ref osThreadResume successfully resumes the specified thread.
477 \b Value in the Event Recorder shows:
478 - \b thread_id : thread ID.
482 \fn void EvrRtxThreadDetach (osThreadId_t thread_id)
484 The event \b ThreadDetach is generated when the function \ref osThreadDetach is called.
486 \b Value in the Event Recorder shows:
487 - \b thread_id : thread ID.
491 \fn void EvrRtxThreadDetached (osThreadId_t thread_id)
493 The event \b ThreadDetached is generated when the function \ref osThreadDetach successfully detaches the specified thread.
495 \b Value in the Event Recorder shows:
496 - \b thread_id : thread ID.
500 \fn void EvrRtxThreadJoin (osThreadId_t thread_id)
502 The event \b ThreadJoin is generated when the function \ref osThreadJoin is called.
504 \b Value in the Event Recorder shows:
505 - \b thread_id : thread ID.
509 \fn void EvrRtxThreadJoinPending (osThreadId_t thread_id)
511 The event \b ThreadJoinPending is generated when the function \ref osThreadJoin suspends current running thread until the specified thread terminates.
513 \b Value in the Event Recorder shows:
514 - \b thread_id : thread ID.
518 \fn void EvrRtxThreadJoined (osThreadId_t thread_id)
520 The event \b ThreadJoined is generated when the function \ref osThreadJoin successfully joins the specified thread.
522 \b Value in the Event Recorder shows:
523 - \b thread_id : thread ID.
527 \fn void EvrRtxThreadBlocked (osThreadId_t thread_id, uint32_t timeout)
529 The event \b ThreadBlocked is generated when the current running thread execution is blocked.
531 \b Value in the Event Recorder shows:
532 - \b thread_id : thread ID.
533 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
537 \fn void EvrRtxThreadUnblocked (osThreadId_t thread_id, uint32_t ret_val)
539 The event \b ThreadUnblocked is generated when the blocked thread execution is unblocked.
541 \b Value in the Event Recorder shows:
542 - \b thread_id : thread ID.
547 \fn void EvrRtxThreadPreempted (osThreadId_t thread_id)
549 The event \b ThreadPreempted is generated when current running thread execution is preempted.
551 \b Value in the Event Recorder shows:
552 - \b thread_id : thread ID.
556 \fn void EvrRtxThreadSwitched (osThreadId_t thread_id)
558 The event \b ThreadSwitched is generated when current running thread execution switches.
560 \b Value in the Event Recorder shows:
561 - \b thread_id : thread ID.
565 \fn void EvrRtxThreadExit (void)
567 The event \b ThreadExit is generated when the function \ref osThreadExit is called.
571 \fn void EvrRtxThreadTerminate (osThreadId_t thread_id)
573 The event \b ThreadTerminate is generated when the function \ref osThreadTerminate is called.
575 \b Value in the Event Recorder shows:
576 - \b thread_id : thread ID.
580 \fn void EvrRtxThreadDestroyed (osThreadId_t thread_id)
582 The event \b ThreadDestroyed is generated when the function \ref osThreadExit or \ref osThreadTerminate successfully terminates the thread.
584 \b Value in the Event Recorder shows:
585 - \b thread_id : thread ID.
589 \fn void EvrRtxThreadGetCount (uint32_t count)
591 The event \b ThreadGetCount is generated when the function \ref osThreadGetCount is called and its execution result is known.
593 \b Value in the Event Recorder shows:
594 - \b count : retrieved number of active threads (0 in case of a failure).
598 \fn void EvrRtxThreadEnumerate (osThreadId_t *thread_array, uint32_t array_items, uint32_t count)
600 The event \b ThreadEnumerate is generated when the function \ref osThreadEnumerate is called and its execution result is known.
602 \b Value in the Event Recorder shows:
603 - \b thread_array : memory address of array for retrieving thread IDs.
604 - \b array_items : maximum number of items in thread_array.
605 - \b count : number of enumerated threads (0 in case of a failure).
609 \fn void EvrRtxThreadFlagsSet (osThreadId_t thread_id, int32_t flags)
611 The event \b ThreadFlagsSet is generated when the function \ref osThreadFlagsSet is called.
613 \b Value in the Event Recorder shows:
614 - \b thread_id : thread ID.
615 - \b flags : flags that shall be set.
619 \fn void EvrRtxThreadFlagsSetDone (osThreadId_t thread_id, int32_t thread_flags)
621 The event \b ThreadFlagsSetDone is generated when thread flags are successfully set.
623 \b Value in the Event Recorder shows:
624 - \b thread_id : thread ID.
625 - \b thread_flags : thread flags after setting.
629 \fn void EvrRtxThreadFlagsClear (int32_t flags)
631 The event \b ThreadFlagsClear is generated when the function \ref osThreadFlagsClear is called.
633 \b Value in the Event Recorder shows:
634 - \b flags : flags that shall be cleared.
638 \fn void EvrRtxThreadFlagsClearDone (int32_t thread_flags)
640 The event \b ThreadFlagsClearDone is generated when the function \ref osThreadFlagsClear successfully clears thread flags.
642 \b Value in the Event Recorder shows:
643 - \b thread_flags : thread flags before clearing.
647 \fn void EvrRtxThreadFlagsGet (int32_t thread_flags)
649 The event \b ThreadFlagsGet is generated when the function \ref osThreadFlagsGet is called and its execution result is known.
651 \b Value in the Event Recorder shows:
652 - \b thread_flags : current thread flags.
656 \fn void EvrRtxThreadFlagsWait (int32_t flags, uint32_t options, uint32_t timeout)
658 The event \b ThreadFlagsWait is generated when the function \ref osThreadFlagsWait is called.
660 \b Value in the Event Recorder shows:
661 - \b flags : flags to wait for.
662 - \b options : flags options (refer to \ref osThreadFlagsWait "thread flags options").
663 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
667 \fn void EvrRtxThreadFlagsWaitPending (int32_t flags, uint32_t options, uint32_t timeout)
669 The event \b ThreadFlagsWaitPending is generated when the function \ref osThreadFlagsWait starts waiting for thread flags to become signaled.
671 \b Value in the Event Recorder shows:
672 - \b flags : flags to wait for.
673 - \b options : flags options (refer to \ref osThreadFlagsWait "thread flags options").
674 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
678 \fn void EvrRtxThreadFlagsWaitTimeout (void)
680 The event \b ThreadFlagsWaitTimeout is generated when wait for thread flags to become signaled is aborted due to expired wait timeout.
684 \fn void EvrRtxThreadFlagsWaitCompleted (int32_t flags, uint32_t options, int32_t thread_flags)
686 The event \b ThreadFlagsWaitCompleted is generated when waiting for thread flags ends because requested flags were signaled.
688 \b Value in the Event Recorder shows:
689 - \b flags : flags thread was waiting for.
690 - \b option : flags options (refer to \ref osThreadFlagsWait "thread flags options").
691 - \b thread_flags : thread flags before clearing.
695 \fn void EvrRtxThreadFlagsWaitNotCompleted (int32_t flags, uint32_t options)
697 The event \b ThreadFlagsWaitNotCompleted is generated when the function \ref osThreadFlagsWait returns without timeout and specified thread flags were not signaled.
699 \b Value in the Event Recorder shows:
700 - \b flags : flags thread was waiting for.
701 - \b options : flags options (refer to \ref osThreadFlagsWait "thread flags options").
705 \fn void EvrRtxThreadDelay (uint32_t ticks)
707 The event \b ThreadDelay is generated when the function \ref osDelay is called.
709 \b Value in the Event Recorder shows:
710 - \b ticks : \ref CMSIS_RTOS_TimeOutValue "time ticks" value.
714 \fn void EvrRtxThreadDelayUntil (uint32_t ticks)
716 The event \b ThreadDelayUntil is generated when the function \ref osDelayUntil is called.
718 \b Value in the Event Recorder shows:
719 - \b ticks : absolute delay time in ticks.
723 \fn void EvrRtxThreadDelayCompleted (void)
725 The event \b ThreadDelayCompleted is generated when thread delay expires.
733 \defgroup rtx_evr_timer Timer Functions
734 \brief Events generated by timer functions
740 \fn void EvrRtxTimerError (osTimerId_t timer_id, int32_t status)
742 The event \b TimerError is generated when \ref CMSIS_RTOS_TimerMgmt routines complete their execution due to an error.
744 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
745 of the extended execution status codes which are summarized in the table below.
747 | Extended Status Code | Description |
748 |:------------------------------|:------------|
749 | osRtxErrorKernelNotReady | Kernel scheduler is not in Ready state. |
750 | osRtxErrorKernelNotRunning | Kernel scheduler is not executing - there is no running thread. |
751 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
752 | osRtxErrorInvalidDataMemory | Object data memory with invalid alignment or size was specified. |
753 | osRtxErrorInvalidThreadStack | Thread stack memory with invalid alignment or size was specified. |
754 | osRtxErrorInvalidPriority | Invalid thread priority was specified. |
755 | osRtxErrorThreadNotJoinable | Specified thread is not joinable. |
756 | osRtxErrorMutexNotOwned | Specified mutex is not owned by the current running thread. |
757 | osRtxErrorMutexNotLocked | Specified mutex is not locked. |
758 | osRtxErrorMutexLockLimit | Maximum number of recursive mutex locks reached. |
759 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
760 | osRtxErrorTZ_InitContext_S | Secure context memory system initialization failed. |
761 | osRtxErrorTZ_AllocContext_S | Secure context memory allocation failed. |
762 | osRtxErrorTZ_FreeContext_S | Secure context memory deallocation failed. |
763 | osRtxErrorTZ_LoadContext_S | Secure context load failed. |
764 | osRtxErrorTZ_SaveContext_S | Secure context save failed. |
766 \b Value in the Event Recorder shows:
767 - \b timer_id : timer ID.
768 - \b status : execution status code.
772 \fn void EvrRtxTimerCallback (osTimerFunc_t func, void *argument)
774 The event \b TimerCallback is generated when the timer callback function is called.
776 \b Value in the Event Recorder shows:
777 - \b func : start address of a timer call back function.
778 - \b argument : memory address of argument to the timer call back function.
782 \fn void EvrRtxTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr)
784 The event \b TimerNew is generated when the function \ref osTimerNew is called.
786 \b Value in the Event Recorder shows:
787 - \b func : start address of a timer call back function.
788 - \b type : timer type: osTimerOnce for one-shot or osTimerPeriodic for periodic behavior.
789 - \b argument : memory address of argument to the timer call back function.
790 - \b attr : memory address of Timer attributes or 0 when they are not specified.
792 In case when \ref osTimerAttr_t "timer attributes" are provided in the API call they are also detailed in the Event Recorder.
796 \fn void EvrRtxTimerCreated (osTimerId_t timer_id, const char *name)
798 The event \b TimerCreated is generated when the function \ref osTimerNew successfully creates a timer object.
800 \b Value in the Event Recorder shows:
801 - \b timer_id : timer ID.
805 \fn void EvrRtxTimerGetName (osTimerId_t timer_id, const char *name)
807 The event \b TimerGetName is generated when the function \ref osTimerGetName is called and its execution result is known.
809 \b Value in the Event Recorder shows:
810 - \b timer_id : timer ID.
811 - \b name : retrieved memory address of name string (0 in case of a failure).
815 \fn void EvrRtxTimerStart (osTimerId_t timer_id, uint32_t ticks)
817 The event \b TimerStart is generated when the function \ref osTimerStart is called.
819 \b Value in the Event Recorder shows:
820 - \b timer_id : timer ID.
821 - \b ticks : \ref CMSIS_RTOS_TimeOutValue "time ticks" value of the timer.
825 \fn void EvrRtxTimerStarted (osTimerId_t timer_id)
827 The event \b TimerStarted is generated when the function \ref osTimerStart successfully starts or restarts the timer operation.
829 \b Value in the Event Recorder shows:
830 - \b timer_id : timer ID.
834 \fn void EvrRtxTimerStop (osTimerId_t timer_id)
836 The event \b TimerStop is generated when the function \ref osTimerStop is called.
838 \b Value in the Event Recorder shows:
839 - \b timer_id : timer ID.
843 \fn void EvrRtxTimerStopped (osTimerId_t timer_id)
845 The event \b TimerStopped is generated when the function \ref osTimerStop successfully stops the timer operation.
847 \b Value in the Event Recorder shows:
848 - \b timer_id : timer ID.
852 \fn void EvrRtxTimerIsRunning (osTimerId_t timer_id, uint32_t running)
854 The event \b TimerIsRunning is generated when the function \ref osTimerIsRunning is called and its execution result is known.
856 \b Value in the Event Recorder shows:
857 - \b timer_id : timer ID.
858 - \b running : timer running state: 0 not running, 1 running.
862 \fn void EvrRtxTimerDelete (osTimerId_t timer_id)
864 The event \b TimerDelete is generated when the function \ref osTimerDelete is called.
866 \b Value in the Event Recorder shows:
867 - \b timer_id : timer ID.
871 \fn void EvrRtxTimerDestroyed (osTimerId_t timer_id)
873 The event \b TimerDestroyed is generated when the function \ref osTimerDelete successfully deletes the timer object.
875 \b Value in the Event Recorder shows:
876 - \b timer_id : timer ID.
884 \defgroup rtx_evr_event_flasg Event Flags Functions
885 \brief Events generated by event flag functions
891 \fn void EvrRtxEventFlagsError (osEventFlagsId_t ef_id, int32_t status)
893 The event \b EventFlagsError is generated when \ref CMSIS_RTOS_EventFlags routines complete their execution due to an error.
895 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
896 of the extended execution status codes which are summarized in the table below.
898 | Extended Status Code | Description |
899 |:------------------------------|:------------|
900 | osRtxErrorKernelNotReady | Kernel scheduler is not in Ready state. |
901 | osRtxErrorKernelNotRunning | Kernel scheduler is not executing - there is no running thread. |
902 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
903 | osRtxErrorInvalidDataMemory | Object data memory with invalid alignment or size was specified. |
904 | osRtxErrorInvalidThreadStack | Thread stack memory with invalid alignment or size was specified. |
905 | osRtxErrorInvalidPriority | Invalid thread priority was specified. |
906 | osRtxErrorThreadNotJoinable | Specified thread is not joinable. |
907 | osRtxErrorMutexNotOwned | Specified mutex is not owned by the current running thread. |
908 | osRtxErrorMutexNotLocked | Specified mutex is not locked. |
909 | osRtxErrorMutexLockLimit | Maximum number of recursive mutex locks reached. |
910 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
911 | osRtxErrorTZ_InitContext_S | Secure context memory system initialization failed. |
912 | osRtxErrorTZ_AllocContext_S | Secure context memory allocation failed. |
913 | osRtxErrorTZ_FreeContext_S | Secure context memory deallocation failed. |
914 | osRtxErrorTZ_LoadContext_S | Secure context load failed. |
915 | osRtxErrorTZ_SaveContext_S | Secure context save failed. |
917 \b Value in the Event Recorder shows:
918 - \b ef_id : event flags ID.
919 - \b status : execution status code.
923 \fn void EvrRtxEventFlagsNew (const osEventFlagsAttr_t *attr)
925 The event \b EventFlagsNew is generated when the function \ref osEventFlagsNew is called.
927 \b Value in the Event Recorder shows:
928 - \b attr : memory address of Event Flags attributes or 0 when they are not specified.
930 In case when \ref osEventFlagsAttr_t "event flags attributes" are provided in the API call they are also detailed in the Event Recorder.
934 \fn void EvrRtxEventFlagsCreated (osEventFlagsId_t ef_id, const char *name)
936 The event \b EventFlagsCreated is generated when the function \ref osEventFlagsNew successfully creates a event flags object.
938 \b Value in the Event Recorder shows:
939 - \b ef_id : event flags ID.
943 \fn void EvrRtxEventFlagsGetName (osEventFlagsId_t ef_id, const char *name)
945 The event \b EventFlagsGetName is generated when the function \ref osEventFlagsGetName is called and its execution result is known.
947 \b Value in the Event Recorder shows:
948 - \b ef_id : event flags ID.
949 - \b name : retrieved memory address of name string (0 in case of a failure).
953 \fn void EvrRtxEventFlagsSet (osEventFlagsId_t ef_id, int32_t flags)
955 The event \b EventFlagsSet is generated when the function \ref osEventFlagsSet is called.
957 \b Value in the Event Recorder shows:
958 - \b ef_id : event flags ID.
959 - \b flags : flags that shall be set.
963 \fn void EvrRtxEventFlagsSetDone (osEventFlagsId_t ef_id, int32_t event_flags)
965 The event \b EventFlagsSetDone is generated when event flags are successfully set.
967 \b Value in the Event Recorder shows:
968 - \b ef_id : event flags ID.
969 - \b event_flags : event flags after setting.
973 \fn void EvrRtxEventFlagsClear (osEventFlagsId_t ef_id, int32_t flags)
975 The event \b EventFlagsClear is generated when the function \ref osEventFlagsClear is called.
977 \b Value in the Event Recorder shows:
978 - \b ef_id : event flags ID.
979 - \b flags : flags that shall be cleared.
983 \fn void EvrRtxEventFlagsClearDone (osEventFlagsId_t ef_id, int32_t event_flags)
985 The event \b EventFlagsClearDone is generated when the function \ref osEventFlagsClear successfully clears the event flags.
987 \b Value in the Event Recorder shows:
988 - \b ef_id : event flags ID.
989 - \b event_flags : event flags before clearing.
993 \fn void EvrRtxEventFlagsGet (osEventFlagsId_t ef_id, int32_t event_flags)
995 The event \b EventFlagsGet is generated when the function \ref osEventFlagsGet is called and its execution result is known.
997 \b Value in the Event Recorder shows:
998 - \b ef_id : event flags ID.
999 - \b event_flags : retrieved current event flags.
1003 \fn void EvrRtxEventFlagsWait (osEventFlagsId_t ef_id, int32_t flags, uint32_t options, uint32_t timeout)
1005 The event \b EventFlagsWait is generated when the function \ref osEventFlagsWait is called.
1007 \b Value in the Event Recorder shows:
1008 - \b ef_id : event flags ID.
1009 - \b flags : flags to wait for.
1010 - \b options : flags options (refer to \ref osEventFlagsWait "event flags options").
1011 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1015 \fn void EvrRtxEventFlagsWaitPending (osEventFlagsId_t ef_id, int32_t flags, uint32_t options, uint32_t timeout)
1017 The event \b EventFlagsWaitPending is generated when the function \ref osEventFlagsWait starts waiting for event flags to become signaled.
1019 \b Value in the Event Recorder shows:
1020 - \b ef_id : event flags ID.
1021 - \b flags : flags to wait for.
1022 - \b options : flags options (refer to \ref osEventFlagsWait "event flags options").
1023 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1027 \fn void EvrRtxEventFlagsWaitTimeout (osEventFlagsId_t ef_id);
1029 The event \b EventFlagsWaitTimeout is generated when wait for event flags to become signaled is aborted due to expired wait timeout.
1031 \b Value in the Event Recorder shows:
1032 - \b ef_id : event flags ID.
1036 \fn void EvrRtxEventFlagsWaitCompleted (osEventFlagsId_t ef_id, int32_t flags, uint32_t options, int32_t event_flags)
1038 The event \b EventFlagsWaitCompleted is generated when waiting for event flags ends because requested flags were signaled.
1040 \b Value in the Event Recorder shows:
1041 - \b ef_id : event flags ID.
1042 - \b flags : flags to wait for.
1043 - \b options : flags option (refer to \ref osEventFlagsWait "event flags options").
1044 - \b event_flags : event flags before clearing or 0 if specified flags have not been set.
1048 \fn void EvrRtxEventFlagsWaitNotCompleted (osEventFlagsId_t ef_id, int32_t flags, uint32_t options)
1050 The event \b EventFlagsWaitNotCompleted is generated when the function \ref osEventFlagsWait returns without timeout and specified event flags were not signaled.
1052 \b Value in the Event Recorder shows:
1053 - \b ef_id : event flags ID.
1054 - \b flags : flags to wait for.
1055 - \b options : flags options (refer to \ref osEventFlagsWait "event flags options").
1059 \fn void EvrRtxEventFlagsDelete (osEventFlagsId_t ef_id)
1061 The event \b EventFlagsDelete is generated when the function \ref osEventFlagsDelete is called.
1063 \b Value in the Event Recorder shows:
1064 - \b ef_id : event flags ID.
1068 \fn void EvrRtxEventFlagsDestroyed (osEventFlagsId_t ef_id)
1070 The event \b EventFlagsDestroyed is generated when the function \ref osEventFlagsDelete successfully deletes the event flags object.
1072 \b Value in the Event Recorder shows:
1073 - \b ef_id : event flags ID.
1081 \defgroup rtx_evr_mutex Mutex Functions
1082 \brief Events generated by mutex functions
1088 \fn void EvrRtxMutexError (osMutexId_t mutex_id, int32_t status)
1090 The event \b MutexError is generated when \ref CMSIS_RTOS_MutexMgmt routines complete their execution due to an error.
1092 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
1093 of the extended execution status codes which are summarized in the table below.
1095 | Extended Status Code | Description |
1096 |:------------------------------|:------------|
1097 | osRtxErrorKernelNotReady | Kernel scheduler is not in Ready state. |
1098 | osRtxErrorKernelNotRunning | Kernel scheduler is not executing - there is no running thread. |
1099 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
1100 | osRtxErrorInvalidDataMemory | Object data memory with invalid alignment or size was specified. |
1101 | osRtxErrorInvalidThreadStack | Thread stack memory with invalid alignment or size was specified. |
1102 | osRtxErrorInvalidPriority | Invalid thread priority was specified. |
1103 | osRtxErrorThreadNotJoinable | Specified thread is not joinable. |
1104 | osRtxErrorMutexNotOwned | Specified mutex is not owned by the current running thread. |
1105 | osRtxErrorMutexNotLocked | Specified mutex is not locked. |
1106 | osRtxErrorMutexLockLimit | Maximum number of recursive mutex locks reached. |
1107 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
1108 | osRtxErrorTZ_InitContext_S | Secure context memory system initialization failed. |
1109 | osRtxErrorTZ_AllocContext_S | Secure context memory allocation failed. |
1110 | osRtxErrorTZ_FreeContext_S | Secure context memory deallocation failed. |
1111 | osRtxErrorTZ_LoadContext_S | Secure context load failed. |
1112 | osRtxErrorTZ_SaveContext_S | Secure context save failed. |
1114 \b Value in the Event Recorder shows:
1115 - \b mutex_id : mutex ID.
1116 - \b status : execution status code.
1120 \fn void EvrRtxMutexNew (const osMutexAttr_t *attr)
1122 The event \b MutexNew is generated when the function \ref osMutexNew is called.
1124 \b Value in the Event Recorder shows:
1125 - \b attr : memory address of Mutex attributes or 0 when they are not specified.
1127 In case when \ref osMutexAttr_t "mutex attributes" are provided in the API call they are also detailed in the Event Recorder.
1131 \fn void EvrRtxMutexCreated (osMutexId_t mutex_id, const char *name)
1133 The event \b MutexCreated is generated when the function \ref osMutexNew successfully creates a mutex object.
1135 \b Value in the Event Recorder shows:
1136 - \b mutex_id : mutex ID.
1140 \fn void EvrRtxMutexGetName (osMutexId_t mutex_id, const char *name)
1142 The event \b MutexGetName is generated when the function \ref osMutexGetName is called and its execution result is known.
1144 \b Value in the Event Recorder shows:
1145 - \b mutex_id : mutex ID.
1146 - \b name : retrieved memory address of name string (0 in case of a failure).
1150 \fn void EvrRtxMutexAcquire (osMutexId_t mutex_id, uint32_t timeout)
1152 The event \b MutexAcquire is generated when the function \ref osMutexAcquire is called.
1154 \b Value in the Event Recorder shows:
1155 - \b mutex_id : mutex ID.
1156 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1160 \fn void EvrRtxMutexAcquirePending (osMutexId_t mutex_id, uint32_t timeout)
1162 The event \b MutexAcquirePending is generated when the function \ref osMutexAcquire blocks current running thread and waits for mutex to become available.
1164 \b Value in the Event Recorder shows:
1165 - \b mutex_id : mutex ID.
1166 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1170 \fn void EvrRtxMutexAcquireTimeout (osMutexId_t mutex_id)
1172 The event \b MutexAcquireTimeout is generated when wait for mutex to become available is aborted due to expired wait timeout.
1174 \b Value in the Event Recorder shows:
1175 - \b mutex_id : mutex ID.
1179 \fn void EvrRtxMutexAcquired (osMutexId_t mutex_id, uint32_t lock)
1181 The event \b MutexAcquired is generated when the function \ref osMutexAcquire successfully acquires a mutex.
1183 \b Value in the Event Recorder shows:
1184 - \b mutex_id : mutex ID.
1185 - \b lock : current lock counter state.
1189 \fn void EvrRtxMutexNotAcquired (osMutexId_t mutex_id)
1191 The event \b MutexNotAcquired is generated when the function \ref osMutexAcquire returns without timeout and mutex was not acquired.
1193 \b Value in the Event Recorder shows:
1194 - \b mutex_id : mutex ID.
1198 \fn void EvrRtxMutexRelease (osMutexId_t mutex_id)
1200 The event \b MutexRelease is generated when the function \ref osMutexRelease is called.
1202 \b Value in the Event Recorder shows:
1203 - \b mutex_id : mutex ID.
1207 \fn void EvrRtxMutexReleased (osMutexId_t mutex_id, uint32_t lock)
1209 The event \b MutexReleased is generated when the function \ref osMutexRelease successfully releases a mutex.
1211 \b Value in the Event Recorder shows:
1212 - \b mutex_id : mutex ID.
1213 - \b lock : current lock counter state.
1217 \fn void EvrRtxMutexGetOwner (osMutexId_t mutex_id, osThreadId_t thread_id)
1219 The event \b MutexGetOwner is generated when the function \ref osMutexGetOwner is called and its execution result is known.
1221 \b Value in the Event Recorder shows:
1222 - \b mutex_id : mutex ID.
1223 - \b thread_id : retrieved owner thread ID (0 in case of a failure or when mutex is not locked)
1227 \fn void EvrRtxMutexDelete (osMutexId_t mutex_id)
1229 The event \b MutexDelete is generated when the function \ref osMutexDelete is called.
1231 \b Value in the Event Recorder shows:
1232 - \b mutex_id : mutex ID.
1236 \fn void EvrRtxMutexDestroyed (osMutexId_t mutex_id)
1238 The event \b MutexDestroyed is generated when the function \ref osMutexDelete successfully deletes the mutex object.
1240 \b Value in the Event Recorder shows:
1241 - \b mutex_id : mutex ID.
1249 \defgroup rtx_evr_semaphore Semaphore Functions
1250 \brief Events generated by semaphore functions
1256 \fn void EvrRtxSemaphoreError (osSemaphoreId_t semaphore_id, int32_t status)
1258 The event \b SemaphoreError is generated when \ref CMSIS_RTOS_SemaphoreMgmt routines complete their execution due to an error.
1260 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
1261 of the extended execution status codes which are summarized in the table below.
1263 | Extended Status Code | Description |
1264 |:------------------------------|:------------|
1265 | osRtxErrorKernelNotReady | Kernel scheduler is not in Ready state. |
1266 | osRtxErrorKernelNotRunning | Kernel scheduler is not executing - there is no running thread. |
1267 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
1268 | osRtxErrorInvalidDataMemory | Object data memory with invalid alignment or size was specified. |
1269 | osRtxErrorInvalidThreadStack | Thread stack memory with invalid alignment or size was specified. |
1270 | osRtxErrorInvalidPriority | Invalid thread priority was specified. |
1271 | osRtxErrorThreadNotJoinable | Specified thread is not joinable. |
1272 | osRtxErrorMutexNotOwned | Specified mutex is not owned by the current running thread. |
1273 | osRtxErrorMutexNotLocked | Specified mutex is not locked. |
1274 | osRtxErrorMutexLockLimit | Maximum number of recursive mutex locks reached. |
1275 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
1276 | osRtxErrorTZ_InitContext_S | Secure context memory system initialization failed. |
1277 | osRtxErrorTZ_AllocContext_S | Secure context memory allocation failed. |
1278 | osRtxErrorTZ_FreeContext_S | Secure context memory deallocation failed. |
1279 | osRtxErrorTZ_LoadContext_S | Secure context load failed. |
1280 | osRtxErrorTZ_SaveContext_S | Secure context save failed. |
1282 \b Value in the Event Recorder shows:
1283 - \b semaphore_id : semaphore ID.
1284 - \b status : execution status code.
1288 \fn void EvrRtxSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr)
1290 The event \b SemaphoreNew is generated when the function \ref osSemaphoreNew is called.
1292 \b Value in the Event Recorder shows:
1293 - \b max_count : maximum number of available tokens.
1294 - \b initial_count : initial number of available tokens.
1295 - \b attr : memory address of Semaphore attributes or 0 when they are not specified.
1297 In case when \ref osSemaphoreAttr_t "semaphore attributes" are provided in the API call they are also detailed in the Event Recorder.
1301 \fn void EvrRtxSemaphoreCreated (osSemaphoreId_t semaphore_id, const char *name)
1303 The event \b SemaphoreCreated is generated when the function \ref osSemaphoreNew successfully creates a semaphore object.
1305 \b Value in the Event Recorder shows:
1306 - \b semaphore_id : semaphore ID.
1310 \fn void EvrRtxSemaphoreGetName (osSemaphoreId_t semaphore_id, const char *name)
1312 The event \b SemaphoreGetName is generated when the function \ref osSemaphoreGetName is called and its execution result is known.
1314 \b Value in the Event Recorder shows:
1315 - \b semaphore_id : semaphore ID.
1316 - \b name : retrieved memory address of name string (0 in case of a failure).
1320 \fn void EvrRtxSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t timeout)
1322 The event \b SemaphoreAcquire is generated when the function \ref osSemaphoreAcquire is called.
1324 \b Value in the Event Recorder shows:
1325 - \b semaphore_id : semaphore ID.
1326 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1330 \fn void EvrRtxSemaphoreAcquirePending (osSemaphoreId_t semaphore_id, uint32_t timeout)
1332 The event \b SemaphoreAcquirePending is generated when the function \ref osSemaphoreAcquire blocks current running thread and waits for semaphore token to become available.
1334 \b Value in the Event Recorder shows:
1335 - \b semaphore_id : semaphore ID.
1336 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1340 \fn void EvrRtxSemaphoreAcquireTimeout (osSemaphoreId_t semaphore_id)
1342 The event \b SemaphoreAcquireTimeout is generated when wait for semaphore to become available is aborted due to expired wait timeout.
1344 \b Value in the Event Recorder shows:
1345 - \b semaphore_id : semaphore ID.
1349 \fn void EvrRtxSemaphoreAcquired (osSemaphoreId_t semaphore_id)
1351 The event \b SemaphoreAcquired is generated when the function \ref osSemaphoreAcquire successfully acquires the semaphore token.
1353 \b Value in the Event Recorder shows:
1354 - \b semaphore_id : semaphore ID.
1358 \fn void EvrRtxSemaphoreNotAcquired (osSemaphoreId_t semaphore_id)
1360 The event \b SemaphoreNotAcquired is generated when the function \ref osMutexAcquire returns without timeout and semaphore token was not acquired.
1362 \b Value in the Event Recorder shows:
1363 - \b semaphore_id : semaphore ID.
1367 \fn void EvrRtxSemaphoreRelease (osSemaphoreId_t semaphore_id)
1369 The event \b SemaphoreRelease is generated when the function \ref osSemaphoreRelease is called.
1371 \b Value in the Event Recorder shows:
1372 - \b semaphore_id : semaphore ID.
1376 \fn void EvrRtxSemaphoreReleased (osSemaphoreId_t semaphore_id)
1378 The event \b SemaphoreReleased is generated when the function \ref osSemaphoreRelease successfully releases the semaphore token.
1380 \b Value in the Event Recorder shows:
1381 - \b semaphore_id : semaphore ID.
1385 \fn void EvrRtxSemaphoreGetCount (osSemaphoreId_t semaphore_id, uint32_t count)
1387 The event \b SemaphoreGetCount is generated when the function \ref osSemaphoreGetCount is called and its execution result is known.
1389 \b Value in the Event Recorder shows:
1390 - \b semaphore_id : semaphore ID.
1391 - \b count : retrieved current number of available tokens.
1395 \fn void EvrRtxSemaphoreDelete (osSemaphoreId_t semaphore_id)
1397 The event \b SemaphoreDelete is generated when the function \ref osSemaphoreDelete is called.
1399 \b Value in the Event Recorder shows:
1400 - \b semaphore_id : semaphore ID.
1404 \fn void EvrRtxSemaphoreDestroyed (osSemaphoreId_t semaphore_id)
1406 The event \b SemaphoreDestroyed is generated when the function \ref osSemaphoreDelete successfully deletes the semaphore object.
1408 \b Value in the Event Recorder shows:
1409 - \b semaphore_id : semaphore ID.
1417 \defgroup rtx_evr_memory_pool Memory Pool Functions
1418 \brief Events generated by memory pool functions
1424 \fn void EvrRtxMemoryPoolError (osMemoryPoolId_t mp_id, int32_t status)
1426 The event \b MemoryPoolError is generated when \ref CMSIS_RTOS_PoolMgmt routines complete their execution due to an error.
1428 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
1429 of the extended execution status codes which are summarized in the table below.
1431 | Extended Status Code | Description |
1432 |:------------------------------|:------------|
1433 | osRtxErrorKernelNotReady | Kernel scheduler is not in Ready state. |
1434 | osRtxErrorKernelNotRunning | Kernel scheduler is not executing - there is no running thread. |
1435 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
1436 | osRtxErrorInvalidDataMemory | Object data memory with invalid alignment or size was specified. |
1437 | osRtxErrorInvalidThreadStack | Thread stack memory with invalid alignment or size was specified. |
1438 | osRtxErrorInvalidPriority | Invalid thread priority was specified. |
1439 | osRtxErrorThreadNotJoinable | Specified thread is not joinable. |
1440 | osRtxErrorMutexNotOwned | Specified mutex is not owned by the current running thread. |
1441 | osRtxErrorMutexNotLocked | Specified mutex is not locked. |
1442 | osRtxErrorMutexLockLimit | Maximum number of recursive mutex locks reached. |
1443 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
1444 | osRtxErrorTZ_InitContext_S | Secure context memory system initialization failed. |
1445 | osRtxErrorTZ_AllocContext_S | Secure context memory allocation failed. |
1446 | osRtxErrorTZ_FreeContext_S | Secure context memory deallocation failed. |
1447 | osRtxErrorTZ_LoadContext_S | Secure context load failed. |
1448 | osRtxErrorTZ_SaveContext_S | Secure context save failed. |
1450 \b Value in the Event Recorder shows:
1451 - \b mp_id : memory pool ID.
1452 - \b status : execution status code.
1456 \fn void EvrRtxMemoryPoolNew (uint32_t block_count, uint32_t block_size, const osMemoryPoolAttr_t *attr)
1458 The event \b MemoryPoolNew is generated when the function \ref osMemoryPoolNew is called.
1460 \b Value in the Event Recorder shows:
1461 - \b block_count : maximum number of memory blocks in memory pool.
1462 - \b block_size : memory block size in bytes.
1463 - \b attr : memory address of Memory Pool attributes or 0 when they are not specified.
1465 In case when \ref osMemoryPoolAttr_t "memory pool attributes" are provided in the API call they are also detailed in the Event Recorder.
1469 \fn void EvrRtxMemoryPoolCreated (osMemoryPoolId_t mp_id, const char *name)
1471 The event \b MemoryPoolCreated is generated when the function \ref osMemoryPoolNew successfully creates a memory pool object.
1473 \b Value in the Event Recorder shows:
1474 - \b mp_id : memory pool ID.
1478 \fn void EvrRtxMemoryPoolGetName (osMemoryPoolId_t mp_id, const char *name)
1480 The event \b MemoryPoolGetName is generated when the function \ref osMemoryPoolGetName is called and its execution result is known.
1482 \b Value in the Event Recorder shows:
1483 - \b mp_id : memory pool ID.
1484 - \b name : retrieved memory address of name string (0 in case of a failure).
1488 \fn void EvrRtxMemoryPoolAlloc (osMemoryPoolId_t mp_id, uint32_t timeout)
1490 The event \b MemoryPoolAlloc is generated when the function \ref osMemoryPoolAlloc is called.
1492 \b Value in the Event Recorder shows:
1493 - \b mp_id : memory pool ID.
1494 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1498 \fn void EvrRtxMemoryPoolAllocPending (osMemoryPoolId_t mp_id, uint32_t timeout)
1500 The event \b MemoryPoolAllocPending is generated when the function \ref osMemoryPoolAlloc blocks current running thread and waits for memory block to become available.
1502 \b Value in the Event Recorder shows:
1503 - \b mp_id : memory pool ID.
1504 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1508 \fn void EvrRtxMemoryPoolAllocTimeout (osMemoryPoolId_t mp_id)
1510 The event \b MemoryPoolAllocTimeout is generated when wait for memory pool to become available is aborted due to expired wait timeout.
1512 \b Value in the Event Recorder shows:
1513 - \b mp_id : memory pool ID.
1517 \fn void EvrRtxMemoryPoolAllocated (osMemoryPoolId_t mp_id, void *block)
1519 The event \b MemoryPoolAllocated is generated when the function \ref osMemoryPoolAlloc successfully allocates the memory block.
1521 \b Value in the Event Recorder shows:
1522 - \b mp_id : memory pool ID.
1523 - \b block : memory address of the allocated memory block.
1527 \fn void EvrRtxMemoryPoolAllocFailed (osMemoryPoolId_t mp_id)
1529 The event \b MemoryPoolAllocFailed is generated when the function \ref osMemoryPoolAlloc fails to allocate the memory block due to out of available memory.
1531 \b Value in the Event Recorder shows:
1532 - \b mp_id : memory pool ID.
1536 \fn void EvrRtxMemoryPoolFree (osMemoryPoolId_t mp_id, void *block)
1538 The event \b MemoryPoolFree is generated when the function \ref osMemoryPoolFree is called.
1540 \b Value in the Event Recorder shows:
1541 - \b mp_id : memory pool ID.
1542 - \b block : memory address of the memory block to be returned to the memory pool.
1546 \fn void EvrRtxMemoryPoolDeallocated (osMemoryPoolId_t mp_id, void *block)
1548 The event \b MemoryPoolDeallocated is generated when the function \ref osMemoryPoolFree successfully deallocates the memory block.
1550 \b Value in the Event Recorder shows:
1551 - \b mp_id : memory pool ID.
1552 - \b block : memory address of the memory block returned to the memory pool.
1556 \fn void EvrRtxMemoryPoolFreeFailed (osMemoryPoolId_t mp_id, void *block)
1558 The event \b MemoryPoolFreeFailed is generated when the function \ref osMemoryPoolFree fails to deallocate the memory block.
1560 \b Value in the Event Recorder shows:
1561 - \b mp_id : memory pool ID.
1562 - \b block : memory address of the memory block to be returned to the memory pool.
1566 \fn void EvrRtxMemoryPoolGetCapacity (osMemoryPoolId_t mp_id, uint32_t capacity)
1568 The event \b MemoryPoolGetCapacity is generated when the function \ref osMemoryPoolGetCapacity is called and its execution result is known.
1570 \b Value in the Event Recorder shows:
1571 - \b mp_id : memory pool ID.
1572 - \b capacity : retrieved maximum number of memory blocks (0 in case of a failure).
1576 \fn void EvrRtxMemoryPoolGetBlockSize (osMemoryPoolId_t mp_id, uint32_t block_size)
1578 The event \b MemoryPoolGetBlockSize is generated when the function \ref osMemoryPoolGetBlockSize is called and its execution result is known.
1580 \b Value in the Event Recorder shows:
1581 - \b mp_id : memory pool ID.
1582 - \b block_size : retrieved memory block size in bytes (0 in case of a failure).
1586 \fn void EvrRtxMemoryPoolGetCount (osMemoryPoolId_t mp_id, uint32_t count)
1588 The event \b MemoryPoolGetCount is generated when the function \ref osMemoryPoolGetCount is called and its execution result is known.
1590 \b Value in the Event Recorder shows:
1591 - \b mp_id : memory pool ID.
1592 - \b count : retrieved number of memory block used (0 in case of a failure).
1596 \fn void EvrRtxMemoryPoolGetSpace (osMemoryPoolId_t mp_id, uint32_t space)
1598 The event \b MemoryPoolGetSpace is generated when the function \ref osMemoryPoolGetSpace is called and its execution result is known.
1600 \b Value in the Event Recorder shows:
1601 - \b mp_id : memory pool ID.
1602 - \b space : retrieved number of memory blocks available (0 in case of a failure).
1606 \fn void EvrRtxMemoryPoolDelete (osMemoryPoolId_t mp_id)
1608 The event \b MemoryPoolDelete is generated when the function \ref osMemoryPoolDelete is called.
1610 \b Value in the Event Recorder shows:
1611 - \b mp_id : memory pool ID.
1615 \fn void EvrRtxMemoryPoolDestroyed (osMemoryPoolId_t mp_id)
1617 The event \b MemoryPoolDestroyed is generated when the function \ref osMemoryPoolDelete successfully deletes the memory pool object.
1619 \b Value in the Event Recorder shows:
1620 - \b mp_id : memory pool ID.
1628 \defgroup rtx_evr_message_queue Message Queue Functions
1629 \brief Events generated by message queue functions
1635 \fn void EvrRtxMessageQueueError (osMessageQueueId_t mq_id, int32_t status)
1637 The event \b MessageQueueError is generated when \ref CMSIS_RTOS_Message routines complete their execution due to an error.
1639 The status parameter indicates the execution status and can be one of the \ref osStatus_t "osStatus_t codes" or one
1640 of the extended execution status codes which are summarized in the table below.
1642 | Extended Status Code | Description |
1643 |:------------------------------|:------------|
1644 | osRtxErrorKernelNotReady | Kernel scheduler is not in Ready state. |
1645 | osRtxErrorKernelNotRunning | Kernel scheduler is not executing - there is no running thread. |
1646 | osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
1647 | osRtxErrorInvalidDataMemory | Object data memory with invalid alignment or size was specified. |
1648 | osRtxErrorInvalidThreadStack | Thread stack memory with invalid alignment or size was specified. |
1649 | osRtxErrorInvalidPriority | Invalid thread priority was specified. |
1650 | osRtxErrorThreadNotJoinable | Specified thread is not joinable. |
1651 | osRtxErrorMutexNotOwned | Specified mutex is not owned by the current running thread. |
1652 | osRtxErrorMutexNotLocked | Specified mutex is not locked. |
1653 | osRtxErrorMutexLockLimit | Maximum number of recursive mutex locks reached. |
1654 | osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
1655 | osRtxErrorTZ_InitContext_S | Secure context memory system initialization failed. |
1656 | osRtxErrorTZ_AllocContext_S | Secure context memory allocation failed. |
1657 | osRtxErrorTZ_FreeContext_S | Secure context memory deallocation failed. |
1658 | osRtxErrorTZ_LoadContext_S | Secure context load failed. |
1659 | osRtxErrorTZ_SaveContext_S | Secure context save failed. |
1661 \b Value in the Event Recorder shows:
1662 - \b mq_id : message queue ID.
1663 - \b status : execution status code.
1667 \fn void EvrRtxMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr)
1669 The event \b MessageQueueNew is generated when the function \ref osMessageQueueNew is called.
1671 \b Value in the Event Recorder shows:
1672 - \b msg_count : maximum number of messages in queue.
1673 - \b msg_size : maximum message size in bytes.
1674 - \b attr : memory address of Message Queue attributes or 0 when they are not specified.
1676 In case when \ref osMessageQueueAttr_t "message queue attributes" are provided in the API call they are also detailed in the Event Recorder.
1680 \fn void EvrRtxMessageQueueCreated (osMessageQueueId_t mq_id, const char *name)
1682 The event \b MessageQueueCreated is generated when the function \ref osMessageQueueNew successfully creates a message queue object.
1684 \b Value in the Event Recorder shows:
1685 - \b mq_id : message queue ID.
1689 \fn void EvrRtxMessageQueueGetName (osMessageQueueId_t mq_id, const char *name)
1691 The event \b MessageQueueGetName is generated when the function \ref osMessageQueueGetName is called and its execution result is known.
1693 \b Value in the Event Recorder shows:
1694 - \b mq_id : message queue ID.
1695 - \b name : retrieved memory address of name string (0 in case of a failure).
1699 \fn void EvrRtxMessageQueuePut (osMessageQueueId_t mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout)
1701 The event \b MessageQueuePut is generated when the function \ref osMessageQueuePut is called.
1703 \b Value in the Event Recorder shows:
1704 - \b mq_id : message queue ID.
1705 - \b msg_ptr : memory address of message buffer.
1706 - \b msg_prio : message priority.
1707 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1711 \fn void EvrRtxMessageQueuePutPending (osMessageQueueId_t mq_id, const void *msg_ptr, uint32_t timeout)
1713 The event \b MessageQueuePutPending is generated when the function \ref osMessageQueuePut starts waiting to put message into the queue.
1715 \b Value in the Event Recorder shows:
1716 - \b mq_id : message queue ID.
1717 - \b msg_ptr : memory address of message buffer.
1718 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1722 \fn void EvrRtxMessageQueuePutTimeout (osMessageQueueId_t mq_id)
1724 The event \b MessageQueuePutTimeout is generated when the function \ref osMessageQueuePut fails to insert a message into the queue until timeout expires.
1726 \b Value in the Event Recorder shows:
1727 - \b mq_id : message queue ID.
1731 \fn void EvrRtxMessageQueueInsertPending (osMessageQueueId_t mq_id, const void *msg_ptr)
1733 The event \b MessageQueueInsertPending is generated when the function \ref osMessageQueuePut is called from ISR and message is registered to be put into the queue.
1735 \b Value in the Event Recorder shows:
1736 - \b mq_id : message queue ID.
1737 - \b msg_ptr : memory address of message buffer.
1741 \fn void EvrRtxMessageQueueInserted (osMessageQueueId_t mq_id, const void *msg_ptr)
1743 The event \b MessageQueueInserted is generated when a message is successfully inserted into the queue.
1745 \b Value in the Event Recorder shows:
1746 - \b mq_id : message queue ID.
1747 - \b msg_ptr : memory address of message buffer.
1751 \fn void EvrRtxMessageQueueNotInserted (osMessageQueueId_t mq_id, const void *msg_ptr)
1753 The event \b MessageQueueNotInserted is generated when the function \ref osMessageQueuePut fails to insert a message into the queue.
1754 Usually this happens when queue is out of memory.
1756 \b Value in the Event Recorder shows:
1757 - \b mq_id : message queue ID.
1758 - \b msg_ptr : memory address of message buffer.
1762 \fn void EvrRtxMessageQueueGet (osMessageQueueId_t mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout)
1764 The event \b MessageQueueGet is generated when the function \ref osMessageQueueGet is called.
1766 \b Value in the Event Recorder shows:
1767 - \b mq_id : message queue ID.
1768 - \b msg_ptr : memory address of buffer for message.
1769 - \b msg_prio : memory address of buffer for message priority.
1770 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1774 \fn void EvrRtxMessageQueueGetPending (osMessageQueueId_t mq_id, void *msg_ptr, uint32_t timeout)
1776 The event \b MessageQueueGetPending is generated when the function \ref osMessageQueueGet starts waiting for message to be retrieved from the queue.
1778 \b Value in the Event Recorder shows:
1779 - \b mq_id : message queue ID.
1780 - \b msg_ptr : memory address of buffer for message.
1781 - \b timeout : \ref CMSIS_RTOS_TimeOutValue.
1785 \fn void EvrRtxMessageQueueGetTimeout (osMessageQueueId_t mq_id)
1787 The event \b MessageQueueGetTimeout is generated when the function \ref osMessageQueueGet is called and there is no message available in queue until timeout expires.
1789 \b Value in the Event Recorder shows:
1790 - \b mq_id : message queue ID.
1794 \fn void EvrRtxMessageQueueRetrieved (osMessageQueueId_t mq_id, void *msg_ptr)
1796 The event \b MessageQueueRetrieved is generated when message is retrieved from the message queue.
1798 \b Value in the Event Recorder shows:
1799 - \b mq_id : message queue ID.
1800 - \b msg_ptr : memory address of buffer for message.
1804 \fn void EvrRtxMessageQueueNotRetrieved (osMessageQueueId_t mq_id, void *msg_ptr)
1806 The event \b MessageQueueNotRetrieved is generated when the function \ref osMessageQueueGet is called without the wait timeout and there is no message available in queue.
1808 \b Value in the Event Recorder shows:
1809 - \b mq_id : message queue ID.
1810 - \b msg_ptr : memory address of buffer for message.
1814 \fn void EvrRtxMessageQueueGetCapacity (osMessageQueueId_t mq_id, uint32_t capacity)
1816 The event \b MessageQueueGetCapacity is generated when the function \ref osMessageQueueGetCapacity is called and its execution result is known.
1818 \b Value in the Event Recorder shows:
1819 - \b mq_id : message queue ID.
1820 - \b capacity : retrieved maximum number of messages (0 in case of a failure).
1824 \fn void EvrRtxMessageQueueGetMsgSize (osMessageQueueId_t mq_id, uint32_t msg_size)
1826 The event \b MessageQueueGetMsgSize is generated when the function \ref osMessageQueueGetMsgSize is called and its execution result is known.
1828 \b Value in the Event Recorder shows:
1829 - \b mq_id : message queue ID.
1830 - \b msg_size : retrieved maximum message size in bytes (0 in case of a failure).
1834 \fn void EvrRtxMessageQueueGetCount (osMessageQueueId_t mq_id, uint32_t count)
1836 The event \b MessageQueueGetCount is generated when the function \ref osMessageQueueGetCount is called and its execution result is known.
1838 \b Value in the Event Recorder shows:
1839 - \b mq_id : message queue ID.
1840 - \b count : retrieved number of queued messages (0 in case of a failure).
1844 \fn void EvrRtxMessageQueueGetSpace (osMessageQueueId_t mq_id, uint32_t space)
1846 The event \b MessageQueueGetSpace is generated when the function \ref osMessageQueueGetSpace is called and its execution result is known.
1848 \b Value in the Event Recorder shows:
1849 - \b mq_id : message queue ID.
1850 - \b space : retrieved number of available slots for messages (0 in case of a failure).
1854 \fn void EvrRtxMessageQueueReset (osMessageQueueId_t mq_id)
1856 The event \b MessageQueueReset is generated when the function \ref osMessageQueueReset is called.
1858 \b Value in the Event Recorder shows:
1859 - \b mq_id : message queue ID.
1863 \fn void EvrRtxMessageQueueResetDone (osMessageQueueId_t mq_id)
1865 The event \b MessageQueueResetDone is generated when the function \ref osMessageQueueReset successfully completes message queue reset.
1867 \b Value in the Event Recorder shows:
1868 - \b mq_id : message queue ID.
1872 \fn void EvrRtxMessageQueueDelete (osMessageQueueId_t mq_id)
1874 The event \b MessageQueueDelete is generated when the function \ref osMessageQueueDelete is called.
1876 \b Value in the Event Recorder shows:
1877 - \b mq_id : message queue ID.
1881 \fn void EvrRtxMessageQueueDestroyed (osMessageQueueId_t mq_id)
1883 The event \b MessageQueueDestroyed is generated when the function \ref osMessageQueueDelete successfully deletes the message queue object.
1885 \b Value in the Event Recorder shows:
1886 - \b mq_id : message queue ID.
1896 // end group Event Recorder