cmsis_armcc.h File Reference

CMSIS compiler ARMCC (Arm Compiler 5) header file. More...

Go to the source code of this file.

Macros

#define __ASM   __asm
 
#define __INLINE   __inline
 
#define __STATIC_INLINE   static __inline
 
#define __STATIC_FORCEINLINE   static __forceinline
 
#define __NO_RETURN   __declspec(noreturn)
 
#define __USED   __attribute__((used))
 
#define __WEAK   __attribute__((weak))
 
#define __PACKED   __attribute__((packed))
 
#define __PACKED_STRUCT   __packed struct
 
#define __PACKED_UNION   __packed union
 
#define __UNALIGNED_UINT32(x)   (*((__packed uint32_t *)(x)))
 
#define __UNALIGNED_UINT16_WRITE(addr, val)   ((*((__packed uint16_t *)(addr))) = (val))
 
#define __UNALIGNED_UINT16_READ(addr)   (*((const __packed uint16_t *)(addr)))
 
#define __UNALIGNED_UINT32_WRITE(addr, val)   ((*((__packed uint32_t *)(addr))) = (val))
 
#define __UNALIGNED_UINT32_READ(addr)   (*((const __packed uint32_t *)(addr)))
 
#define __ALIGNED(x)   __attribute__((aligned(x)))
 
#define __RESTRICT   __restrict
 
#define __COMPILER_BARRIER()   __memory_changed()
 
#define __PROGRAM_START   __main
 
#define __INITIAL_SP   Image$$ARM_LIB_STACK$$ZI$$Limit
 
#define __STACK_LIMIT   Image$$ARM_LIB_STACK$$ZI$$Base
 
#define __VECTOR_TABLE   __Vectors
 
#define __VECTOR_TABLE_ATTRIBUTE   __attribute__((used, section("RESET")))
 
#define __NOP   __nop
 No Operation. More...
 
#define __WFI   __wfi
 Wait For Interrupt. More...
 
#define __WFE   __wfe
 Wait For Event. More...
 
#define __SEV   __sev
 Send Event. More...
 
#define __ISB()   __isb(0xF)
 Instruction Synchronization Barrier. More...
 
#define __DSB()   __dsb(0xF)
 Data Synchronization Barrier. More...
 
#define __DMB()   __dmb(0xF)
 Data Memory Barrier. More...
 
#define __REV   __rev
 Reverse byte order (32 bit) More...
 
#define __ROR   __ror
 Rotate Right in unsigned value (32 bit) More...
 
#define __BKPT(value)   __breakpoint(value)
 Breakpoint. More...
 
#define __CLZ   __clz
 Count leading zeros. More...
 

Functions

static __inline uint32_t __get_CONTROL (void)
 Enable IRQ Interrupts. More...
 
static __inline void __set_CONTROL (uint32_t control)
 Set Control Register. More...
 
static __inline uint32_t __get_IPSR (void)
 Get IPSR Register. More...
 
static __inline uint32_t __get_APSR (void)
 Get APSR Register. More...
 
static __inline uint32_t __get_xPSR (void)
 Get xPSR Register. More...
 
static __inline uint32_t __get_PSP (void)
 Get Process Stack Pointer. More...
 
static __inline void __set_PSP (uint32_t topOfProcStack)
 Set Process Stack Pointer. More...
 
static __inline uint32_t __get_MSP (void)
 Get Main Stack Pointer. More...
 
static __inline void __set_MSP (uint32_t topOfMainStack)
 Set Main Stack Pointer. More...
 
static __inline uint32_t __get_PRIMASK (void)
 Get Priority Mask. More...
 
static __inline void __set_PRIMASK (uint32_t priMask)
 Set Priority Mask. More...
 
static __inline uint32_t __get_FPSCR (void)
 Get FPSCR. More...
 
static __inline void __set_FPSCR (uint32_t fpscr)
 Set FPSCR. More...
 
static __inline __asm uint32_t __REV16 (uint32_t value)
 Reverse byte order (16 bit) More...
 
static __inline __asm int16_t __REVSH (int16_t value)
 Reverse byte order (16 bit) More...
 
static __inline uint32_t __RBIT (uint32_t value)
 Reverse bit order of value. More...
 
static __inline int32_t __SSAT (int32_t val, uint32_t sat)
 Signed Saturate. More...
 
static __inline uint32_t __USAT (int32_t val, uint32_t sat)
 Unsigned Saturate. More...
 

Detailed Description

CMSIS compiler ARMCC (Arm Compiler 5) header file.

Version
V5.2.1
Date
26. March 2020