| CMSIS-Core (Cortex-A) CMSIS-Core support for Cortex-A processor-based devices |

Loading...
Searching...
No Matches
Macros | Functions
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] | value | Value to store
  [in] | ptr | Pointer 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] | value | Value to store
  [in] | ptr | Pointer 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] | value | Value to store
  [in] | ptr | Pointer to location