mikroSDK Reference Manual
|
Topics | |
CMSIS SIMD Intrinsics | |
Macros | |
#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 | __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 | __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. | |
Functions list | |
__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. | |
#define __BKPT | ( | value | ) | __ASM volatile ("bkpt "#value) |
Causes the processor to enter Debug state. Debug tools can use this to investigate system state when the instruction at a particular address is reached.
[in] | value | is ignored by the processor. If required, a debugger can use it to store additional information about the breakpoint. |
#define __BKPT | ( | value | ) | __ASM volatile ("bkpt "#value) |
Causes the processor to enter Debug state. Debug tools can use this to investigate system state when the instruction at a particular address is reached.
[in] | value | is ignored by the processor. If required, a debugger can use it to store additional information about the breakpoint. |
#define __BKPT | ( | value | ) | __ASM volatile ("bkpt "#value) |
Causes the processor to enter Debug state. Debug tools can use this to investigate system state when the instruction at a particular address is reached.
[in] | value | is ignored by the processor. If required, a debugger can use it to store additional information about the breakpoint. |
#define __NOP | ( | ) | __ASM volatile ("nop") |
No Operation does nothing. This instruction can be used for code alignment purposes.
#define __NOP | ( | ) | __ASM volatile ("nop") |
No Operation does nothing. This instruction can be used for code alignment purposes.
#define __NOP | ( | ) | __ASM volatile ("nop") |
No Operation does nothing. This instruction can be used for code alignment purposes.
#define __SEV | ( | ) | __ASM volatile ("sev") |
Send Event is a hint instruction. It causes an event to be signaled to the CPU.
#define __SEV | ( | ) | __ASM volatile ("sev") |
Send Event is a hint instruction. It causes an event to be signaled to the CPU.
#define __SEV | ( | ) | __ASM volatile ("sev") |
Send Event is a hint instruction. It causes an event to be signaled to the CPU.
#define __WFE | ( | ) | __ASM volatile ("wfe") |
Wait For Event is a hint instruction that permits the processor to enter a low-power state until one of a number of events occurs.
#define __WFE | ( | ) | __ASM volatile ("wfe") |
Wait For Event is a hint instruction that permits the processor to enter a low-power state until one of a number of events occurs.
#define __WFE | ( | ) | __ASM volatile ("wfe") |
Wait For Event is a hint instruction that permits the processor to enter a low-power state until one of a number of events occurs.
#define __WFI | ( | ) | __ASM volatile ("wfi") |
Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.
#define __WFI | ( | ) | __ASM volatile ("wfi") |
Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.
#define __WFI | ( | ) | __ASM volatile ("wfi") |
Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.
__STATIC_FORCEINLINE uint8_t __CLZ | ( | uint32_t | value | ) |
Counts the number of leading zeros of a data value.
[in] | value | Value to count the leading zeros |
__STATIC_FORCEINLINE void __DMB | ( | void | ) |
Ensures the apparent order of the explicit memory operations before and after the instruction, without ensuring their completion.
__STATIC_FORCEINLINE void __DSB | ( | void | ) |
Acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete.
__STATIC_FORCEINLINE void __ISB | ( | void | ) |
Instruction Synchronization Barrier flushes the pipeline in the processor, so that all instructions following the ISB are fetched from cache or memory, after the instruction has been completed.
__STATIC_FORCEINLINE uint32_t __RBIT | ( | uint32_t | value | ) |
Reverses the bit order of the given value.
[in] | value | Value to reverse |
__STATIC_FORCEINLINE uint32_t __REV | ( | uint32_t | value | ) |
Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412.
[in] | value | Value to reverse |
__STATIC_FORCEINLINE uint32_t __REV16 | ( | uint32_t | value | ) |
Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856.
[in] | value | Value to reverse |
__STATIC_FORCEINLINE int16_t __REVSH | ( | int16_t | value | ) |
Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000.
[in] | value | Value to reverse |
__STATIC_FORCEINLINE uint32_t __ROR | ( | uint32_t | op1, |
uint32_t | op2 ) |
Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits.
[in] | op1 | Value to rotate |
[in] | op2 | Number of Bits to rotate |
__STATIC_FORCEINLINE int32_t __SSAT | ( | int32_t | val, |
uint32_t | sat ) |
Saturates a signed value.
[in] | value | Value to be saturated |
[in] | sat | Bit position to saturate to (1..32) |
__STATIC_FORCEINLINE uint32_t __USAT | ( | int32_t | val, |
uint32_t | sat ) |
Saturates an unsigned value.
[in] | value | Value to be saturated |
[in] | sat | Bit position to saturate to (0..31) |