CMSIS-Core (Cortex-A)  
CMSIS-Core support for Cortex-A processor-based devices
 
Loading...
Searching...
No Matches
cmsis_armclang_a.h File Reference

Macros

#define __get_CP(cp, op1, Rt, CRn, CRm, op2)   __ASM volatile("MRC p" # cp ", " # op1 ", %0, c" # CRn ", c" # CRm ", " # op2 : "=r" (Rt) : : "memory" )
 
#define __set_CP(cp, op1, Rt, CRn, CRm, op2)   __ASM volatile("MCR p" # cp ", " # op1 ", %0, c" # CRn ", c" # CRm ", " # op2 : : "r" (Rt) : "memory" )
 
#define __get_CP64(cp, op1, Rt, CRm)   __ASM volatile("MRRC p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : "=r" (Rt) : : "memory" )
 
#define __set_CP64(cp, op1, Rt, CRm)   __ASM volatile("MCRR p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : : "r" (Rt) : "memory" )
 

Functions

__STATIC_FORCEINLINE void __STRBT (uint8_t value, volatile uint8_t *ptr)
 STRT Unprivileged (8 bit)
 
__STATIC_FORCEINLINE void __STRHT (uint16_t value, volatile uint16_t *ptr)
 STRT Unprivileged (16 bit)
 
__STATIC_FORCEINLINE void __STRT (uint32_t value, volatile uint32_t *ptr)
 STRT Unprivileged (32 bit)
 
__STATIC_FORCEINLINE uint32_t __get_CPSR (void)
 Get CPSR Register.
 
__STATIC_FORCEINLINE void __set_CPSR (uint32_t cpsr)
 Set CPSR Register.
 
__STATIC_FORCEINLINE uint32_t __get_mode (void)
 Get Mode.
 
__STATIC_FORCEINLINE void __set_mode (uint32_t mode)
 Set Mode.
 
__STATIC_FORCEINLINE uint32_t __get_SP (void)
 Get Stack Pointer.
 
__STATIC_FORCEINLINE void __set_SP (uint32_t stack)
 Set Stack Pointer.
 
__STATIC_FORCEINLINE uint32_t __get_SP_usr (void)
 Get USR/SYS Stack Pointer.
 
__STATIC_FORCEINLINE void __set_SP_usr (uint32_t topOfProcStack)
 Set USR/SYS Stack Pointer.
 
__STATIC_FORCEINLINE uint32_t __get_FPEXC (void)
 Get FPEXC.
 
__STATIC_FORCEINLINE void __set_FPEXC (uint32_t fpexc)
 Set FPEXC.
 
__STATIC_INLINE void __FPU_Enable (void)
 Enable Floating Point Unit.
 

Macro Definition Documentation

◆ __get_CP

#define __get_CP (   cp,
  op1,
  Rt,
  CRn,
  CRm,
  op2 
)    __ASM volatile("MRC p" # cp ", " # op1 ", %0, c" # CRn ", c" # CRm ", " # op2 : "=r" (Rt) : : "memory" )

◆ __get_CP64

#define __get_CP64 (   cp,
  op1,
  Rt,
  CRm 
)    __ASM volatile("MRRC p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : "=r" (Rt) : : "memory" )

◆ __set_CP

#define __set_CP (   cp,
  op1,
  Rt,
  CRn,
  CRm,
  op2 
)    __ASM volatile("MCR p" # cp ", " # op1 ", %0, c" # CRn ", c" # CRm ", " # op2 : : "r" (Rt) : "memory" )

◆ __set_CP64

#define __set_CP64 (   cp,
  op1,
  Rt,
  CRm 
)    __ASM volatile("MCRR p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : : "r" (Rt) : "memory" )

Function Documentation

◆ __STRBT()

__STATIC_FORCEINLINE void __STRBT ( uint8_t  value,
volatile uint8_t *  ptr 
)

STRT Unprivileged (8 bit)

Executes a Unprivileged STRT instruction for 8 bit values.

Parameters
[in]valueValue to store
[in]ptrPointer to location

◆ __STRHT()

__STATIC_FORCEINLINE void __STRHT ( uint16_t  value,
volatile uint16_t *  ptr 
)

STRT Unprivileged (16 bit)

Executes a Unprivileged STRT instruction for 16 bit values.

Parameters
[in]valueValue to store
[in]ptrPointer to location

◆ __STRT()

__STATIC_FORCEINLINE void __STRT ( uint32_t  value,
volatile uint32_t *  ptr 
)

STRT Unprivileged (32 bit)

Executes a Unprivileged STRT instruction for 32 bit values.

Parameters
[in]valueValue to store
[in]ptrPointer to location