MG32F10x Standard Peripherals Firmware Library
宏定义 | 函数 | 变量
cmsis_gcc.h 文件参考

CMSIS compiler GCC header file 更多...

浏览源代码.

宏定义

#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 更多...
 
#define __WFI()   __ASM volatile ("wfi")
 Wait For Interrupt 更多...
 
#define __WFE()   __ASM volatile ("wfe")
 Wait For Event 更多...
 
#define __SEV()   __ASM volatile ("sev")
 Send Event 更多...
 
#define __BKPT(value)   __ASM volatile ("bkpt "#value)
 Breakpoint 更多...
 
#define __CLZ   (uint8_t)__builtin_clz
 Count leading zeros 更多...
 

函数

struct __attribute__ ((packed)) T_UINT32
 
__STATIC_FORCEINLINE void __enable_irq (void)
 Enable IRQ Interrupts 更多...
 
__STATIC_FORCEINLINE void __disable_irq (void)
 Disable IRQ Interrupts 更多...
 
__STATIC_INLINE uint32_t __get_CONTROL (void)
 Enable IRQ Interrupts 更多...
 
__STATIC_INLINE void __set_CONTROL (uint32_t control)
 Set Control Register 更多...
 
__STATIC_INLINE uint32_t __get_IPSR (void)
 Get IPSR Register 更多...
 
__STATIC_INLINE uint32_t __get_APSR (void)
 Get APSR Register 更多...
 
__STATIC_INLINE uint32_t __get_xPSR (void)
 Get xPSR Register 更多...
 
__STATIC_INLINE uint32_t __get_PSP (void)
 Get Process Stack Pointer 更多...
 
__STATIC_INLINE void __set_PSP (uint32_t topOfProcStack)
 Set Process Stack Pointer 更多...
 
__STATIC_INLINE uint32_t __get_MSP (void)
 Get Main Stack Pointer 更多...
 
__STATIC_INLINE void __set_MSP (uint32_t topOfMainStack)
 Set Main Stack Pointer 更多...
 
__STATIC_INLINE uint32_t __get_PRIMASK (void)
 Get Priority Mask 更多...
 
__STATIC_INLINE void __set_PRIMASK (uint32_t priMask)
 Set Priority Mask 更多...
 
__STATIC_INLINE uint32_t __get_FPSCR (void)
 Get FPSCR 更多...
 
__STATIC_INLINE void __set_FPSCR (uint32_t fpscr)
 Set FPSCR 更多...
 
__STATIC_FORCEINLINE void __ISB (void)
 Instruction Synchronization Barrier 更多...
 
__STATIC_FORCEINLINE void __DSB (void)
 Data Synchronization Barrier 更多...
 
__STATIC_FORCEINLINE void __DMB (void)
 Data Memory Barrier 更多...
 
__STATIC_FORCEINLINE uint32_t __REV (uint32_t value)
 Reverse byte order (32 bit) 更多...
 
__STATIC_FORCEINLINE uint32_t __REV16 (uint32_t value)
 Reverse byte order (16 bit) 更多...
 
__STATIC_FORCEINLINE int16_t __REVSH (int16_t value)
 Reverse byte order (16 bit) 更多...
 
__STATIC_FORCEINLINE uint32_t __ROR (uint32_t op1, uint32_t op2)
 Rotate Right in unsigned value (32 bit) 更多...
 
__STATIC_FORCEINLINE uint32_t __RBIT (uint32_t value)
 Reverse bit order of value 更多...
 
__STATIC_FORCEINLINE int32_t __SSAT (int32_t val, uint32_t sat)
 Signed Saturate 更多...
 
__STATIC_FORCEINLINE uint32_t __USAT (int32_t val, uint32_t sat)
 Unsigned Saturate 更多...
 

变量

__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
 

详细描述

CMSIS compiler GCC header file

版本
V5.0.4
日期
09. April 2018