CMSIS-RTOS Validation  Version 1.0
RTOS Validation
 All Data Structures Files Functions Variables Macros Groups Pages
RV_WaitFunc.c File Reference
#include <string.h>
#include "RV_Framework.h"
#include "cmsis_rv.h"
#include "cmsis_os.h"

Data Structures

struct  MAIL_OBJ
 

Macros

#define RTOS_TICK_TIME   10000 /* Tick time in us */
 
#define ACCURACY_OS_DELAY   5 /* Wait accuracy in promiles */
 
#define ACCURACY_OS_WAIT   5 /* Wait accuracy in promiles */
 
#define ACCURACY_OS_SIGNAL_WAIT   5 /* Wait accuracy in promiles */
 
#define ACCURACY_OS_MUTEX_WAIT   5 /* Wait accuracy in promiles */
 
#define ACCURACY_OS_SEMAPHORE_WAIT   5 /* Wait accuracy in promiles */
 
#define ACCURACY_OS_MESSAGE_WAIT   5 /* Wait accuracy in promiles */
 
#define ACCURACY_OS_MAIL_WAIT   5 /* Wait accuracy in promiles */
 
#define CPU_CYC(us)   (((uint64_t)(us) * SystemCoreClock) / 1000000)
 
#define DWT_CYCCNT   GET_SIM_CYCCNT()
 

Functions

uint32_t GET_SIM_CYCCNT (void)
 
static void WaitFunc_Th_MutexLock (void const *arg)
 
 osThreadDef (WaitFunc_Th_MutexLock, osPriorityAboveNormal, 1, 0)
 
 osMutexDef (WaitFunc_MutexTout)
 
 osSemaphoreDef (SemaphoreTout)
 
 osMessageQDef (MessageQTout, 1, uint32_t)
 
 osMailQDef (MailQTout, 1, MAIL_OBJ)
 
void StartCortexCycleCounter (void)
 
void TC_MeasureOsDelayTicks (void)
 Test case: TC_MeasureOsDelayTicks.
 
void TC_MeasureOsWaitTicks (void)
 Test case: TC_MeasureOsWaitTicks.
 
void TC_MeasureOsSignalWaitTicks (void)
 Test case: TC_MeasureOsSignalWaitTicks.
 
void TC_MeasureOsMutexWaitTicks (void)
 Test case: TC_MeasureOsMutexWaitTicks.
 
void TC_MeasureOsSemaphoreWaitTicks (void)
 Test case: TC_MeasureOsSemaphoreWaitTicks.
 
void TC_MeasureOsMessageWaitTicks (void)
 Test case: TC_MeasureOsMessageWaitTicks.
 
void TC_MeasureOsMailWaitTicks (void)
 Test case: TC_MeasureOsMailWaitTicks.
 

Variables

uint64_t TickCyc
 
uint32_t Lim_OsDelay [2]
 
uint32_t Lim_OsWait [2]
 
uint32_t Lim_OsSignalWait [2]
 
uint32_t Lim_OsMutexWait [2]
 
uint32_t Lim_OsSemaphoreWait [2]
 
uint32_t Lim_OsMessageWait [2]
 
uint32_t Lim_OsMailWait [2]
 
uint32_t SIM_CYCCNT
 
static uint8_t CycCntRunning
 
osMutexId G_WaitFunc_MutexId
 
osThreadId G_WaitFunc_ThreadId
 
osSemaphoreId G_WaitFunc_SemaphoreId
 
osMessageQId G_WaitFunc_MessageQId
 
osMailQId G_WaitFunc_MailQId
 
MAIL_OBJG_MailPtr
 

Macro Definition Documentation

#define ACCURACY_OS_DELAY   5 /* Wait accuracy in promiles */
#define ACCURACY_OS_MAIL_WAIT   5 /* Wait accuracy in promiles */
#define ACCURACY_OS_MESSAGE_WAIT   5 /* Wait accuracy in promiles */
#define ACCURACY_OS_MUTEX_WAIT   5 /* Wait accuracy in promiles */
#define ACCURACY_OS_SEMAPHORE_WAIT   5 /* Wait accuracy in promiles */
#define ACCURACY_OS_SIGNAL_WAIT   5 /* Wait accuracy in promiles */
#define ACCURACY_OS_WAIT   5 /* Wait accuracy in promiles */
#define CPU_CYC (   us)    (((uint64_t)(us) * SystemCoreClock) / 1000000)
#define DWT_CYCCNT   GET_SIM_CYCCNT()
#define RTOS_TICK_TIME   10000 /* Tick time in us */

Function Documentation

uint32_t GET_SIM_CYCCNT ( void  )
osMailQDef ( MailQTout  ,
,
MAIL_OBJ   
)
osMessageQDef ( MessageQTout  ,
,
uint32_t   
)
osMutexDef ( WaitFunc_MutexTout  )
osSemaphoreDef ( SemaphoreTout  )
osThreadDef ( WaitFunc_Th_MutexLock  ,
osPriorityAboveNormal  ,
,
 
)
void StartCortexCycleCounter ( void  )
static void WaitFunc_Th_MutexLock ( void const *  arg)
static

Variable Documentation

uint8_t CycCntRunning
static
MAIL_OBJ* G_MailPtr
osMailQId G_WaitFunc_MailQId
osMessageQId G_WaitFunc_MessageQId
osMutexId G_WaitFunc_MutexId
osSemaphoreId G_WaitFunc_SemaphoreId
osThreadId G_WaitFunc_ThreadId
uint32_t Lim_OsDelay[2]
uint32_t Lim_OsMailWait[2]
uint32_t Lim_OsMessageWait[2]
uint32_t Lim_OsMutexWait[2]
uint32_t Lim_OsSemaphoreWait[2]
uint32_t Lim_OsSignalWait[2]
uint32_t Lim_OsWait[2]
uint32_t SIM_CYCCNT
uint64_t TickCyc