DIY Logging Volt/Ampmeter
cmsis_gcc.h File Reference

CMSIS compiler GCC header file. More...

Go to the source code of this file.

Macros

#define __has_builtin(x)   (0)
 
#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 __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()   __ASM volatile ("nop")
 No Operation. More...
 
#define __WFI()   __ASM volatile ("wfi")
 Wait For Interrupt. More...
 
#define __WFE()   __ASM volatile ("wfe")
 Wait For Event. More...
 
#define __SEV()   __ASM volatile ("sev")
 Send Event. More...
 
#define __BKPT(value)   __ASM volatile ("bkpt "#value)
 Breakpoint. More...
 
#define __CLZ   (uint8_t)__builtin_clz
 Count leading zeros. More...
 

Functions

struct __attribute__ ((packed)) T_UINT32
 
struct __attribute__ ((packed, aligned(1))) T_UINT16_WRITE
 
 __attribute__ ((always_inline)) static __inline uint32_t __get_CONTROL(void)
 Enable IRQ Interrupts. More...
 
 __attribute__ ((always_inline)) static __inline uint32_t __RBIT(uint32_t value)
 Reverse bit order of value. More...
 
 if (op2==0U)
 
 return (op1 >> op2)|(op1<<(32U - op2))
 

Variables

uint32_t op2
 
uint32_t sat
 

Detailed Description

CMSIS compiler GCC header file.

Version
V5.0.4
Date
09. April 2018

Definition in file cmsis_gcc.h.

Macro Definition Documentation

◆ __ALIGNED

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

Definition at line 111 of file cmsis_gcc.h.

◆ __ASM

#define __ASM   __asm

Definition at line 41 of file cmsis_gcc.h.

◆ __has_builtin

#define __has_builtin (   x)    (0)

Definition at line 36 of file cmsis_gcc.h.

◆ __INLINE

#define __INLINE   inline

Definition at line 44 of file cmsis_gcc.h.

◆ __NO_RETURN

#define __NO_RETURN   __attribute__((__noreturn__))

Definition at line 53 of file cmsis_gcc.h.

◆ __PACKED

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

Definition at line 62 of file cmsis_gcc.h.

◆ __PACKED_STRUCT

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

Definition at line 65 of file cmsis_gcc.h.

◆ __PACKED_UNION

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

Definition at line 68 of file cmsis_gcc.h.

◆ __RESTRICT

#define __RESTRICT   __restrict

Definition at line 114 of file cmsis_gcc.h.

◆ __STATIC_FORCEINLINE

#define __STATIC_FORCEINLINE   __attribute__((always_inline)) static inline

Definition at line 50 of file cmsis_gcc.h.

◆ __STATIC_INLINE

#define __STATIC_INLINE   static inline

Definition at line 47 of file cmsis_gcc.h.

◆ __UNALIGNED_UINT16_READ

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

Definition at line 92 of file cmsis_gcc.h.

◆ __UNALIGNED_UINT16_WRITE

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

Definition at line 84 of file cmsis_gcc.h.

◆ __UNALIGNED_UINT32

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

Definition at line 76 of file cmsis_gcc.h.

◆ __UNALIGNED_UINT32_READ

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

Definition at line 108 of file cmsis_gcc.h.

◆ __UNALIGNED_UINT32_WRITE

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

Definition at line 100 of file cmsis_gcc.h.

◆ __USED

#define __USED   __attribute__((used))

Definition at line 56 of file cmsis_gcc.h.

◆ __WEAK

#define __WEAK   __attribute__((weak))

Definition at line 59 of file cmsis_gcc.h.

Function Documentation

◆ __attribute__() [1/2]

struct __attribute__ ( (packed)  )

Definition at line 74 of file cmsis_gcc.h.

74 { uint32_t v; };

◆ __attribute__() [2/2]

struct __attribute__ ( (packed, aligned(1))  )

Definition at line 82 of file cmsis_gcc.h.

82 { uint16_t v; };