![]() |
RTEMS 6.1
|
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.