CMSIS-RTOS2  Version 2.2.0
Real-Time Operating System: API and RTX Reference Implementation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Kernel Functions

Events generated by kernel functions. More...

Functions

void EvrRtxKernelError (int32_t status)
 Event on RTOS kernel error (Error) More...
 
void EvrRtxKernelInitialize (void)
 Event on RTOS kernel initialize (API) More...
 
void EvrRtxKernelInitialized (void)
 Event on successful RTOS kernel initialize (Op) More...
 
void EvrRtxKernelGetInfo (osVersion_t *version, char *id_buf, uint32_t id_size)
 Event on RTOS kernel information retrieve (API) More...
 
void EvrRtxKernelInfoRetrieved (const osVersion_t *version, const char *id_buf, uint32_t id_size)
 Event on successful RTOS kernel information retrieve (Op) More...
 
void EvrRtxKernelGetState (osKernelState_t state)
 Event on current RTOS Kernel state retrieve (API) More...
 
void EvrRtxKernelStart (void)
 Event on RTOS Kernel scheduler start (API) More...
 
void EvrRtxKernelStarted (void)
 Event on successful RTOS Kernel scheduler start (Op) More...
 
void EvrRtxKernelLock (void)
 Event on RTOS Kernel scheduler lock (API) More...
 
void EvrRtxKernelLocked (int32_t lock)
 Event on successful RTOS Kernel scheduler lock (Op) More...
 
void EvrRtxKernelUnlock (void)
 Event on RTOS Kernel scheduler unlock (API) More...
 
void EvrRtxKernelUnlocked (int32_t lock)
 Event on successful RTOS Kernel scheduler unlock (Op) More...
 
void EvrRtxKernelRestoreLock (int32_t lock)
 Event on RTOS Kernel scheduler lock state restore (API) More...
 
void EvrRtxKernelLockRestored (int32_t lock)
 Event on successful RTOS Kernel scheduler lock state restore (Op) More...
 
void EvrRtxKernelSuspend (void)
 Event on RTOS Kernel scheduler suspend (API) More...
 
void EvrRtxKernelSuspended (uint32_t sleep_ticks)
 Event on successful RTOS Kernel scheduler suspend (Op) More...
 
void EvrRtxKernelResume (uint32_t sleep_ticks)
 Event on RTOS Kernel scheduler resume (API) More...
 
void EvrRtxKernelResumed (void)
 Event on successful RTOS Kernel scheduler resume (Op) More...
 
void EvrRtxKernelProtect (uint32_t safety_class)
 Event on protect the RTOS Kernel scheduler access (API) More...
 
void EvrRtxKernelProtected (void)
 Event on successful RTOS Kernel scheduler protect (API) More...
 
void EvrRtxKernelGetTickCount (uint32_t count)
 Event on RTOS kernel tick count retrieve (API) More...
 
void EvrRtxKernelGetTickFreq (uint32_t freq)
 Event on RTOS kernel tick frequency retrieve (API) More...
 
void EvrRtxKernelGetSysTimerCount (uint32_t count)
 Event on RTOS kernel system timer count retrieve (API) More...
 
void EvrRtxKernelGetSysTimerFreq (uint32_t freq)
 Event on RTOS kernel system timer frequency retrieve (API) More...
 
void EvrRtxKernelErrorNotify (uint32_t code, void *object_id)
 Event on RTOS kernel system error (Error) More...
 
void EvrRtxKernelDestroyClass (uint32_t safety_class, uint32_t mode)
 Event on destroy safety class objects (API) More...
 

Description

Function Documentation

void EvrRtxKernelError ( int32_t  status)
Parameters
[in]statusextended execution status.

The event KernelError is generated when Kernel Information and Control routines complete their execution due to an error.

The status parameter indicates the execution status and can be one of the osStatus_t codes or one of the extended execution status codes which are summarized in the table below.

Extended Status Code Description
osRtxErrorKernelNotReady Kernel scheduler is not in Ready state.
osRtxErrorKernelNotRunning Kernel scheduler is not executing - there is no running thread.
osRtxErrorInvalidControlBlock Object control block with invalid alignment or size was specified.
osRtxErrorInvalidDataMemory Object data memory with invalid alignment or size was specified.
osRtxErrorInvalidThreadStack Thread stack memory with invalid alignment or size was specified.
osRtxErrorInvalidPriority Invalid thread priority was specified.
osRtxErrorInvalidPrivilegedMode Privileged thread cannot be created - kernel protect privileged is active.
osRtxErrorThreadNotJoinable Specified thread is not joinable.
osRtxErrorMutexNotOwned Specified mutex is not owned by the current running thread.
osRtxErrorMutexNotLocked Specified mutex is not locked.
osRtxErrorMutexLockLimit Maximum number of recursive mutex locks reached.
osRtxErrorSemaphoreCountLimit Semaphore count limit reached.
osRtxErrorTZ_InitContext_S Secure context memory system initialization failed.
osRtxErrorTZ_AllocContext_S Secure context memory allocation failed.
osRtxErrorTZ_FreeContext_S Secure context memory deallocation failed.
osRtxErrorTZ_LoadContext_S Secure context load failed.
osRtxErrorTZ_SaveContext_S Secure context save failed.

Value in the Event Recorder shows:

  • status : execution status code.
void EvrRtxKernelInitialize ( void  )

The event KernelInitialize is generated when the function osKernelInitialize is called.

void EvrRtxKernelInitialized ( void  )

The event KernelInitialized is generated when the function osKernelInitialize successfully initializes the RTOS kernel.

void EvrRtxKernelGetInfo ( osVersion_t version,
char *  id_buf,
uint32_t  id_size 
)
Parameters
[in]versionpointer to buffer for retrieving version information.
[in]id_bufpointer to buffer for retrieving kernel identification string.
[in]id_sizesize of buffer for kernel identification string.

The event KernelGetInfo is generated when the function osKernelGetInfo is called.

Value in the Event Recorder shows:

  • version : memory address of buffer for retrieving version information.
  • id_buf : memory address of buffer for retrieving kernel identification string.
  • id_size : size of id_buf in bytes.
void EvrRtxKernelInfoRetrieved ( const osVersion_t version,
const char *  id_buf,
uint32_t  id_size 
)
Parameters
[in]versionpointer to buffer for retrieving version information.
[in]id_bufpointer to buffer for retrieving kernel identification string.
[in]id_sizesize of buffer for kernel identification string.

The event KernelInfoRetrieved is generated when the function osKernelGetInfo successfully retrieves kernel information.

Value in the Event Recorder shows:

  • ver_api : API version.
  • ver_kernel : kernel version.
  • id : kernel identification string (Detail).
void EvrRtxKernelGetState ( osKernelState_t  state)
Parameters
[in]statecurrent RTOS Kernel state.

The event KernelGetState is generated when the function osKernelGetState is called and its execution result is known.

Value in the Event Recorder shows:

void EvrRtxKernelStart ( void  )

The event KernelStart is generated when the function osKernelStart is called.

void EvrRtxKernelStarted ( void  )

The event KernelStarted is generated when the function osKernelStart successfully starts the RTOS kernel execution.

void EvrRtxKernelLock ( void  )

The event KernelLock is generated when the function osKernelLock is called.

void EvrRtxKernelLocked ( int32_t  lock)
Parameters
[in]lockprevious lock state (1 - locked, 0 - not locked).

The event KernelLocked is generated when the functions osKernelLock successfully completes its execution.

Value in the Event Recorder shows:

  • lock : previous lock state (1 - locked, 0 - not locked).
void EvrRtxKernelUnlock ( void  )

The event KernelUnlock is generated when the function osKernelUnlock is called.

void EvrRtxKernelUnlocked ( int32_t  lock)
Parameters
[in]lockprevious lock state (1 - locked, 0 - not locked).

The event KernelUnlocked is generated when the function osKernelUnlock successfully completes its execution.

Value in the Event Recorder shows:

  • lock : previous lock state (1 - locked, 0 - not locked).
void EvrRtxKernelRestoreLock ( int32_t  lock)
Parameters
[in]locklock state obtained by osKernelLock or osKernelUnlock.

The event KernelRestoreLock is generated when the function osKernelRestoreLock is called.

Value in the Event Recorder shows:

void EvrRtxKernelLockRestored ( int32_t  lock)
Parameters
[in]locknew lock state (1 - locked, 0 - not locked).

The event KernelLockRestored is generated when the function osKernelRestoreLock successfully completes its execution.

Value in the Event Recorder shows:

  • lock : new lock state (1 - locked, 0 - not locked).
void EvrRtxKernelSuspend ( void  )

The event KernelSuspend is generated when the function osKernelSuspend is called.

void EvrRtxKernelSuspended ( uint32_t  sleep_ticks)
Parameters
[in]sleep_tickstime in ticks, for how long the system can sleep or power-down.

The event KernelSuspended is generated when the function osKernelSuspend successfully suspends RTOS kernel execution.

Value in the Event Recorder shows:

  • sleep_ticks : time in ticks, for how long the system can sleep or power-down.
void EvrRtxKernelResume ( uint32_t  sleep_ticks)
Parameters
[in]sleep_tickstime in ticks, for how long the system was in sleep or power-down mode.

The event KernelResume is generated when the function osKernelResume is called.

Value in the Event Recorder shows:

  • sleep_ticks : time in ticks, for how long the system was in sleep or power-down mode.
void EvrRtxKernelResumed ( void  )

The event KernelResumed is generated when the function osKernelResume successfully resumes RTOS kernel execution.

void EvrRtxKernelProtect ( uint32_t  safety_class)
Parameters
[in]safety_classsafety class.

The event KernelProtect is generated when the function osKernelProtect is called.

Value in the Event Recorder shows:

  • safety_class : safety class value.
void EvrRtxKernelProtected ( void  )

The event KernelProtected is generated when the function osKernelProtect successfully applies kernel safety class protection.

void EvrRtxKernelGetTickCount ( uint32_t  count)
Parameters
[in]countRTOS kernel current tick count.

The event KernelGetTickCount is generated when the function osKernelGetTickCount is called.

Value in the Event Recorder shows:

  • count : retrieved kernel current tick count.
void EvrRtxKernelGetTickFreq ( uint32_t  freq)
Parameters
[in]freqfrequency of the kernel tick.

The event KernelGetTickFreq is generated when the function osKernelGetTickFreq called.

Value in the Event Recorder shows:

  • freq : retrieved frequency of the kernel tick in Hz.
void EvrRtxKernelGetSysTimerCount ( uint32_t  count)
Parameters
[in]countRTOS kernel current system timer count as 32-bit value.

The event KernelGetSysTimerCount is generated when the function osKernelGetSysTimerCount is called.

Value in the Event Recorder shows:

  • count : retrieved kernel current system timer count as 32-bit value.
void EvrRtxKernelGetSysTimerFreq ( uint32_t  freq)
Parameters
[in]freqfrequency of the system timer.

The event KernelGetSysTimerFreq is generated when the function osKernelGetSysTimerFreq is called.

Value in the Event Recorder shows:

  • freq : retrieved frequency of the system timer in Hz.
void EvrRtxKernelErrorNotify ( uint32_t  code,
void *  object_id 
)
Parameters
[in]codeerror code.
[in]object_idobject that caused the error.

The event KernelErrorNotify is generated when the function osRtxErrorNotify is called.

Value in the Event Recorder shows:

  • code : error code.
  • object_id : object that caused the error.
void EvrRtxKernelDestroyClass ( uint32_t  safety_class,
uint32_t  mode 
)
Parameters
[in]safety_classsafety class.
[in]modesafety mode.

The event KernelDestroyClass is generated when the function osKernelDestroyClass is called.

Value in the Event Recorder shows:

  • safety_class : safety class value.
  • mode : operation mode.