RTEMS 6.1-rc4
|
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 | __COMPILER_BARRIER() __ASM volatile("":::"memory") |
#define | __NO_INIT __attribute__ ((section (".bss.noinit"))) |
#define | __ALIAS(x) __attribute__ ((alias(x))) |
#define | __PROGRAM_START __cmsis_start |
#define | __INITIAL_SP __StackTop |
#define | __STACK_LIMIT __StackLimit |
#define | __VECTOR_TABLE __Vectors |
#define | __VECTOR_TABLE_ATTRIBUTE __attribute__((used, section(".vectors"))) |
#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":::"memory") |
Wait For Interrupt. | |
#define | __WFE() __ASM volatile ("wfe":::"memory") |
Wait For Event. | |
#define | __SEV() __ASM volatile ("sev") |
Send Event. | |
#define | __BKPT(value) __ASM volatile ("bkpt "#value) |
Breakpoint. | |
Functions | |
struct | __attribute__ ((packed)) T_UINT32 |
__STATIC_FORCEINLINE __NO_RETURN void | __cmsis_start (void) |
Initializes data and bss sections. | |
__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 uint8_t | __CLZ (uint32_t value) |
Count leading zeros. | |
__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. | |
__STATIC_FORCEINLINE void | __enable_irq (void) |
Enable IRQ Interrupts. | |
__STATIC_FORCEINLINE void | __disable_irq (void) |
Disable IRQ Interrupts. | |
__STATIC_FORCEINLINE uint32_t | __get_CONTROL (void) |
Get Control Register. | |
__STATIC_FORCEINLINE void | __set_CONTROL (uint32_t control) |
Set Control Register. | |
__STATIC_FORCEINLINE uint32_t | __get_IPSR (void) |
Get IPSR Register. | |
__STATIC_FORCEINLINE uint32_t | __get_APSR (void) |
Get APSR Register. | |
__STATIC_FORCEINLINE uint32_t | __get_xPSR (void) |
Get xPSR Register. | |
__STATIC_FORCEINLINE uint32_t | __get_PSP (void) |
Get Process Stack Pointer. | |
__STATIC_FORCEINLINE void | __set_PSP (uint32_t topOfProcStack) |
Set Process Stack Pointer. | |
__STATIC_FORCEINLINE uint32_t | __get_MSP (void) |
Get Main Stack Pointer. | |
__STATIC_FORCEINLINE void | __set_MSP (uint32_t topOfMainStack) |
Set Main Stack Pointer. | |
__STATIC_FORCEINLINE uint32_t | __get_PRIMASK (void) |
Get Priority Mask. | |
__STATIC_FORCEINLINE void | __set_PRIMASK (uint32_t priMask) |
Set Priority Mask. | |
__STATIC_FORCEINLINE uint32_t | __get_FPSCR (void) |
Get FPSCR. | |
__STATIC_FORCEINLINE void | __set_FPSCR (uint32_t fpscr) |
Set FPSCR. | |
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 |
CMSIS compiler GCC header file.
This header file provides CMSIS interfaces.
__STATIC_FORCEINLINE __NO_RETURN void __cmsis_start | ( | void | ) |
Initializes data and bss sections.
This default implementations initialized all data and additional bss sections relying on .copy.table and .zero.table specified properly in the used linker script.