CC27xxDriverLibrary
cmsis_tiarmclang.h File Reference

Detailed Description

CMSIS compiler tiarmclang header file.

Version
V1.0.0
Date
04. April 2023

Go to the source code of this file.

Macros

#define __ASM   __asm
 
#define __INLINE   __inline
 
#define __STATIC_INLINE   static __inline
 
#define __STATIC_FORCEINLINE   __attribute__((always_inline)) static __inline
 
#define __NO_RETURN   __attribute__((__noreturn__))
 
#define __USED   __attribute__((used))
 
#define __WEAK   __attribute__((weak))
 
#define __PACKED   __attribute__((packed, aligned(1)))
 
#define __PACKED_STRUCT   struct __attribute__((packed, aligned(1)))
 
#define __PACKED_UNION   union __attribute__((packed, aligned(1)))
 
#define __UNALIGNED_UINT32(x)   (((struct T_UINT32 *)(x))->v)
 
#define __UNALIGNED_UINT16_WRITE(addr, val)   (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))
 
#define __UNALIGNED_UINT16_READ(addr)   (((const struct T_UINT16_READ *)(const void *)(addr))->v)
 
#define __UNALIGNED_UINT32_WRITE(addr, val)   (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
 
#define __UNALIGNED_UINT32_READ(addr)   (((const struct T_UINT32_READ *)(const void *)(addr))->v)
 
#define __ALIGNED(x)   __attribute__((aligned(x)))
 
#define __RESTRICT   __restrict
 
#define __COMPILER_BARRIER()   __ASM volatile("":::"memory")
 
#define __NO_INIT   __attribute__ ((section (".bss.noinit")))
 
#define __ALIAS(x)   __attribute__ ((alias(x)))
 
#define __PROGRAM_START   _c_int00
 
#define __INITIAL_SP   __STACK_END
 
#define __STACK_LIMIT   __STACK_SIZE
 
#define __VECTOR_TABLE   __Vectors
 
#define __VECTOR_TABLE_ATTRIBUTE   __attribute__((used, section(".intvecs")))
 
#define __CMSIS_GCC_OUT_REG(r)   "=r" (r)
 
#define __CMSIS_GCC_RW_REG(r)   "+r" (r)
 
#define __CMSIS_GCC_USE_REG(r)   "r" (r)
 
#define __NOP   __builtin_arm_nop
 No Operation. More...
 
#define __WFI   __builtin_arm_wfi
 Wait For Interrupt. More...
 
#define __WFE   __builtin_arm_wfe
 Wait For Event. More...
 
#define __SEV   __builtin_arm_sev
 Send Event. More...
 
#define __ISB()   __builtin_arm_isb(0xF)
 Instruction Synchronization Barrier. More...
 
#define __DSB()   __builtin_arm_dsb(0xF)
 Data Synchronization Barrier. More...
 
#define __DMB()   __builtin_arm_dmb(0xF)
 Data Memory Barrier. More...
 
#define __REV(value)   __builtin_bswap32(value)
 Reverse byte order (32 bit) More...
 
#define __REV16(value)   __ROR(__REV(value), 16)
 Reverse byte order (16 bit) More...
 
#define __REVSH(value)   (int16_t)__builtin_bswap16(value)
 Reverse byte order (16 bit) More...
 
#define __BKPT(value)   __ASM volatile ("bkpt "#value)
 Breakpoint. More...
 
#define __RBIT   __builtin_arm_rbit
 Reverse bit order of value. More...
 
#define __get_FPSCR()   ((uint32_t)0U)
 Get FPSCR. More...
 
#define __set_FPSCR(fpscr)   ((void)(fpscr))
 Set FPSCR. More...
 

Functions

struct __attribute__ ((packed)) T_UINT32
 
__STATIC_FORCEINLINE uint32_t __ROR (uint32_t op1, uint32_t op2)
 Rotate Right in unsigned value (32 bit) More...
 
__STATIC_FORCEINLINE uint8_t __CLZ (uint32_t value)
 Count leading zeros. More...
 
__STATIC_FORCEINLINE int32_t __SSAT (int32_t val, uint32_t sat)
 Signed Saturate. More...
 
__STATIC_FORCEINLINE uint32_t __USAT (int32_t val, uint32_t sat)
 Unsigned Saturate. More...
 
__STATIC_FORCEINLINE void __enable_irq (void)
 Enable IRQ Interrupts. More...
 
__STATIC_FORCEINLINE void __disable_irq (void)
 Disable IRQ Interrupts. More...
 
__STATIC_FORCEINLINE uint32_t __get_CONTROL (void)
 Get Control Register. More...
 
__STATIC_FORCEINLINE void __set_CONTROL (uint32_t control)
 Set Control Register. More...
 
__STATIC_FORCEINLINE uint32_t __get_IPSR (void)
 Get IPSR Register. More...
 
__STATIC_FORCEINLINE uint32_t __get_APSR (void)
 Get APSR Register. More...
 
__STATIC_FORCEINLINE uint32_t __get_xPSR (void)
 Get xPSR Register. More...
 
__STATIC_FORCEINLINE uint32_t __get_PSP (void)
 Get Process Stack Pointer. More...
 
__STATIC_FORCEINLINE void __set_PSP (uint32_t topOfProcStack)
 Set Process Stack Pointer. More...
 
__STATIC_FORCEINLINE uint32_t __get_MSP (void)
 Get Main Stack Pointer. More...
 
__STATIC_FORCEINLINE void __set_MSP (uint32_t topOfMainStack)
 Set Main Stack Pointer. More...
 
__STATIC_FORCEINLINE uint32_t __get_PRIMASK (void)
 Get Priority Mask. More...
 
__STATIC_FORCEINLINE void __set_PRIMASK (uint32_t priMask)
 Set Priority Mask. More...
 

Variables

__PACKED_STRUCT T_UINT16_WRITE { uint16_t v
 
__PACKED_STRUCT T_UINT16_READ { uint16_t v
 
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v
 
__PACKED_STRUCT T_UINT32_READ { uint32_t v
 

Macro Definition Documentation

§ __ASM

#define __ASM   __asm

§ __INLINE

#define __INLINE   __inline

§ __STATIC_INLINE

#define __STATIC_INLINE   static __inline

§ __STATIC_FORCEINLINE

#define __STATIC_FORCEINLINE   __attribute__((always_inline)) static __inline

§ __NO_RETURN

#define __NO_RETURN   __attribute__((__noreturn__))

§ __USED

#define __USED   __attribute__((used))

§ __WEAK

#define __WEAK   __attribute__((weak))

§ __PACKED

#define __PACKED   __attribute__((packed, aligned(1)))

§ __PACKED_STRUCT

#define __PACKED_STRUCT   struct __attribute__((packed, aligned(1)))

§ __PACKED_UNION

#define __PACKED_UNION   union __attribute__((packed, aligned(1)))

§ __UNALIGNED_UINT32

#define __UNALIGNED_UINT32 (   x)    (((struct T_UINT32 *)(x))->v)

§ __UNALIGNED_UINT16_WRITE

#define __UNALIGNED_UINT16_WRITE (   addr,
  val 
)    (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))

§ __UNALIGNED_UINT16_READ

#define __UNALIGNED_UINT16_READ (   addr)    (((const struct T_UINT16_READ *)(const void *)(addr))->v)

§ __UNALIGNED_UINT32_WRITE

#define __UNALIGNED_UINT32_WRITE (   addr,
  val 
)    (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))

§ __UNALIGNED_UINT32_READ

#define __UNALIGNED_UINT32_READ (   addr)    (((const struct T_UINT32_READ *)(const void *)(addr))->v)

§ __ALIGNED

#define __ALIGNED (   x)    __attribute__((aligned(x)))

§ __RESTRICT

#define __RESTRICT   __restrict

§ __COMPILER_BARRIER

#define __COMPILER_BARRIER ( )    __ASM volatile("":::"memory")

§ __NO_INIT

#define __NO_INIT   __attribute__ ((section (".bss.noinit")))

§ __ALIAS

#define __ALIAS (   x)    __attribute__ ((alias(x)))

§ __PROGRAM_START

#define __PROGRAM_START   _c_int00

§ __INITIAL_SP

#define __INITIAL_SP   __STACK_END

§ __STACK_LIMIT

#define __STACK_LIMIT   __STACK_SIZE

§ __VECTOR_TABLE

#define __VECTOR_TABLE   __Vectors

§ __VECTOR_TABLE_ATTRIBUTE

#define __VECTOR_TABLE_ATTRIBUTE   __attribute__((used, section(".intvecs")))

Function Documentation

§ __attribute__()

struct __attribute__ ( (packed)  )

Variable Documentation

§ T_UINT16_WRITE

__PACKED_STRUCT T_UINT16_WRITE { uint16_t v

§ T_UINT16_READ

__PACKED_STRUCT T_UINT16_READ { uint16_t v

§ T_UINT32_WRITE

__PACKED_STRUCT T_UINT32_WRITE { uint32_t v

§ T_UINT32_READ

__PACKED_STRUCT T_UINT32_READ { uint32_t v