C Microkernel Realtime eXecutive
Realtime Operating System for Cortex-M based microcontrollers
 
Loading...
Searching...
No Matches

Description

Various intrinsics.

Mostly reimplemented CMSIS intrinsics for use in kernel code.

Macros

#define ALWAYS_INLINE   __attribute__((always_inline))
 

Functions

static ALWAYS_INLINE uint8_t __LDREXB (uint8_t *addr)
 Intrinsic access to ARM LDREXB instruction.
 
static ALWAYS_INLINE int __STREXB (uint8_t *addr, uint8_t value)
 Intrinsic access to ARM STREXB instruction.
 
static ALWAYS_INLINE void __CLREX ()
 
static ALWAYS_INLINE void * __get_PSP (void)
 Get value of process SP.
 
static ALWAYS_INLINE void * __get_LR (void)
 Get value of process LR.
 
static ALWAYS_INLINE void __set_PSP (unsigned long *stack_top)
 Set value of process SP.
 
static ALWAYS_INLINE void __set_CONTROL (uint32_t control)
 
static ALWAYS_INLINE void __DSB ()
 
static ALWAYS_INLINE void __ISB ()
 

Macro Definition Documentation

◆ ALWAYS_INLINE

#define ALWAYS_INLINE   __attribute__((always_inline))

Function Documentation

◆ __CLREX()

static ALWAYS_INLINE void __CLREX ( )
inlinestatic

◆ __DSB()

static ALWAYS_INLINE void __DSB ( )
inlinestatic

◆ __get_LR()

static ALWAYS_INLINE void * __get_LR ( void  )
inlinestatic

Get value of process LR.

Returns
top of application stack

◆ __get_PSP()

static ALWAYS_INLINE void * __get_PSP ( void  )
inlinestatic

Get value of process SP.

Returns
top of application stack

◆ __ISB()

static ALWAYS_INLINE void __ISB ( )
inlinestatic

◆ __LDREXB()

static ALWAYS_INLINE uint8_t __LDREXB ( uint8_t *  addr)
inlinestatic

Intrinsic access to ARM LDREXB instruction.

Parameters
addraddress to load from
Returns
8-bit value read from addr

◆ __set_CONTROL()

static ALWAYS_INLINE void __set_CONTROL ( uint32_t  control)
inlinestatic

◆ __set_PSP()

static ALWAYS_INLINE void __set_PSP ( unsigned long *  stack_top)
inlinestatic

Set value of process SP.

Parameters
stack_topnew top of application stack

◆ __STREXB()

static ALWAYS_INLINE int __STREXB ( uint8_t *  addr,
uint8_t  value 
)
inlinestatic

Intrinsic access to ARM STREXB instruction.

Parameters
addraddress to store to
value8-bit value to be stored to addr
Returns
success flag