|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Access to dedicated instructions. More...
Topics | |
| CMSIS Core Register Access Functions | |
Macros | |
| #define | __NOP __nop |
| No Operation. | |
| #define | __WFI __wfi |
| Wait For Interrupt. | |
| #define | __WFE __wfe |
| Wait For Event. | |
| #define | __SEV __sev |
| Send Event. | |
| #define | __ISB() |
| Instruction Synchronization Barrier. | |
| #define | __DSB() |
| Data Synchronization Barrier. | |
| #define | __DMB() |
| Data Memory Barrier. | |
| #define | __REV __rev |
| Reverse byte order (32 bit). | |
| #define | __ROR __ror |
| Rotate Right in unsigned value (32 bit). | |
| #define | __BKPT(value) |
| Breakpoint. | |
| #define | __CLZ __clz |
| Count leading zeros. | |
| #define | __CMSIS_GCC_OUT_REG(r) |
| #define | __CMSIS_GCC_RW_REG(r) |
| #define | __CMSIS_GCC_USE_REG(r) |
| #define | __NOP __builtin_arm_nop |
| No Operation. | |
| #define | __WFI __builtin_arm_wfi |
| Wait For Interrupt. | |
| #define | __WFE __builtin_arm_wfe |
| Wait For Event. | |
| #define | __SEV __builtin_arm_sev |
| Send Event. | |
| #define | __ISB() |
| Instruction Synchronization Barrier. | |
| #define | __DSB() |
| Data Synchronization Barrier. | |
| #define | __DMB() |
| Data Memory Barrier. | |
| #define | __REV(value) |
| Reverse byte order (32 bit). | |
| #define | __REV16(value) |
| Reverse byte order (16 bit). | |
| #define | __REVSH(value) |
| Reverse byte order (16 bit). | |
| #define | __BKPT(value) |
| Breakpoint. | |
| #define | __RBIT __builtin_arm_rbit |
| Reverse bit order of value. | |
| #define | __CMSIS_GCC_OUT_REG(r) |
| #define | __CMSIS_GCC_USE_REG(r) |
| #define | __NOP __builtin_arm_nop |
| No Operation. | |
| #define | __WFI __builtin_arm_wfi |
| Wait For Interrupt. | |
| #define | __WFE __builtin_arm_wfe |
| Wait For Event. | |
| #define | __SEV __builtin_arm_sev |
| Send Event. | |
| #define | __ISB() |
| Instruction Synchronization Barrier. | |
| #define | __DSB() |
| Data Synchronization Barrier. | |
| #define | __DMB() |
| Data Memory Barrier. | |
| #define | __REV(value) |
| Reverse byte order (32 bit). | |
| #define | __REV16(value) |
| Reverse byte order (16 bit). | |
| #define | __REVSH(value) |
| Reverse byte order (16 bit). | |
| #define | __BKPT(value) |
| Breakpoint. | |
| #define | __RBIT __builtin_arm_rbit |
| Reverse bit order of value. | |
| #define | __CMSIS_GCC_OUT_REG(r) |
| #define | __CMSIS_GCC_RW_REG(r) |
| #define | __CMSIS_GCC_USE_REG(r) |
| #define | __NOP() |
| No Operation. | |
| #define | __WFI() |
| Wait For Interrupt. | |
| #define | __WFE() |
| Wait For Event. | |
| #define | __SEV() |
| Send Event. | |
| #define | __BKPT(value) |
| Breakpoint. | |
Functions | |
| __attribute__ ((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value) | |
| Reverse byte order (16 bit). | |
| __attribute__ ((section(".revsh_text"))) __STATIC_INLINE __ASM int16_t __REVSH(int16_t value) | |
| Reverse byte order (16 bit). | |
| __attribute__ ((always_inline)) __STATIC_INLINE uint32_t __RBIT(uint32_t value) | |
| Reverse bit order of value. | |
| __STATIC_FORCEINLINE uint32_t | __ROR (uint32_t op1, uint32_t op2) |
| Rotate Right in unsigned value (32 bit). | |
| __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 | __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 | __RBIT (uint32_t value) |
| Reverse bit order of value. | |
Variables | |
| uint32_t | sat |
Access to dedicated instructions.
| #define __BKPT | ( | value | ) |
Breakpoint.
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. |
Definition at line 248 of file cmsis_armcc.h.
| #define __BKPT | ( | value | ) |
Breakpoint.
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. |
Definition at line 278 of file cmsis_armclang.h.
| #define __BKPT | ( | value | ) |
Breakpoint.
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. |
Definition at line 276 of file cmsis_armclang_ltm.h.
| #define __BKPT | ( | value | ) |
Breakpoint.
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. |
Definition at line 364 of file cmsis_gcc.h.
| #define __CLZ __clz |
Count leading zeros.
Counts the number of leading zeros of a data value.
| [in] | value | Value to count the leading zeros |
Definition at line 285 of file cmsis_armcc.h.
| #define __CMSIS_GCC_OUT_REG | ( | r | ) |
Definition at line 169 of file cmsis_armclang.h.
| #define __CMSIS_GCC_OUT_REG | ( | r | ) |
Definition at line 168 of file cmsis_armclang_ltm.h.
| #define __CMSIS_GCC_OUT_REG | ( | r | ) |
Definition at line 219 of file cmsis_gcc.h.
| #define __CMSIS_GCC_RW_REG | ( | r | ) |
Definition at line 170 of file cmsis_armclang.h.
| #define __CMSIS_GCC_RW_REG | ( | r | ) |
Definition at line 220 of file cmsis_gcc.h.
| #define __CMSIS_GCC_USE_REG | ( | r | ) |
| #define __CMSIS_GCC_USE_REG | ( | r | ) |
Definition at line 169 of file cmsis_armclang_ltm.h.
| #define __CMSIS_GCC_USE_REG | ( | r | ) |
Definition at line 221 of file cmsis_gcc.h.
| #define __DMB | ( | void | ) |
Data Memory Barrier.
Ensures the apparent order of the explicit memory operations before and after the instruction, without ensuring their completion.
Definition at line 189 of file cmsis_armcc.h.
Referenced by ARM_MPU_Disable(), and ARM_MPU_Enable().
| #define __DMB | ( | void | ) |
Data Memory Barrier.
Ensures the apparent order of the explicit memory operations before and after the instruction, without ensuring their completion.
Definition at line 223 of file cmsis_armclang.h.
| #define __DMB | ( | void | ) |
Data Memory Barrier.
Ensures the apparent order of the explicit memory operations before and after the instruction, without ensuring their completion.
Definition at line 221 of file cmsis_armclang_ltm.h.
| #define __DSB | ( | void | ) |
Data Synchronization Barrier.
Acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete.
Definition at line 182 of file cmsis_armcc.h.
Referenced by __NVIC_DisableIRQ(), __NVIC_SetVector(), __NVIC_SystemReset(), __SW_SystemReset(), ARM_MPU_Disable(), ARM_MPU_Enable(), DCB_SetAuthCtrl(), SCB_CleanDCache(), SCB_CleanDCache_by_Addr(), SCB_CleanDCache_by_Addr(), SCB_CleanInvalidateDCache(), SCB_CleanInvalidateDCache_by_Addr(), SCB_CleanInvalidateDCache_by_Addr(), SCB_DisableDCache(), SCB_DisableICache(), SCB_EnableDCache(), SCB_EnableICache(), SCB_InvalidateDCache(), SCB_InvalidateDCache_by_Addr(), SCB_InvalidateDCache_by_Addr(), SCB_InvalidateICache(), SCB_InvalidateICache_by_Addr(), and SCB_InvalidateICache_by_Addr().
| #define __DSB | ( | void | ) |
Data Synchronization Barrier.
Acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete.
Definition at line 215 of file cmsis_armclang.h.
| #define __DSB | ( | void | ) |
Data Synchronization Barrier.
Acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete.
Definition at line 213 of file cmsis_armclang_ltm.h.
| #define __ISB | ( | void | ) |
Instruction Synchronization Barrier.
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.
Definition at line 175 of file cmsis_armcc.h.
Referenced by __NVIC_DisableIRQ(), __set_CONTROL(), ARM_MPU_Disable(), ARM_MPU_Enable(), DCB_SetAuthCtrl(), SCB_CleanDCache(), SCB_CleanDCache_by_Addr(), SCB_CleanDCache_by_Addr(), SCB_CleanInvalidateDCache(), SCB_CleanInvalidateDCache_by_Addr(), SCB_CleanInvalidateDCache_by_Addr(), SCB_DisableDCache(), SCB_DisableICache(), SCB_EnableDCache(), SCB_EnableICache(), SCB_InvalidateDCache(), SCB_InvalidateDCache_by_Addr(), SCB_InvalidateDCache_by_Addr(), SCB_InvalidateICache(), SCB_InvalidateICache_by_Addr(), and SCB_InvalidateICache_by_Addr().
| #define __ISB | ( | void | ) |
Instruction Synchronization Barrier.
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.
Definition at line 208 of file cmsis_armclang.h.
| #define __ISB | ( | void | ) |
Instruction Synchronization Barrier.
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.
Definition at line 206 of file cmsis_armclang_ltm.h.
| #define __NOP __nop |
No Operation.
No Operation does nothing. This instruction can be used for code alignment purposes.
Definition at line 144 of file cmsis_armcc.h.
Referenced by __NVIC_SystemReset(), __SW_SystemReset(), and ITM_SendChar().
| #define __NOP __builtin_arm_nop |
No Operation.
No Operation does nothing. This instruction can be used for code alignment purposes.
Definition at line 178 of file cmsis_armclang.h.
| #define __NOP __builtin_arm_nop |
No Operation.
No Operation does nothing. This instruction can be used for code alignment purposes.
Definition at line 176 of file cmsis_armclang_ltm.h.
| #define __NOP | ( | ) |
No Operation.
No Operation does nothing. This instruction can be used for code alignment purposes.
Definition at line 228 of file cmsis_gcc.h.
| #define __RBIT __builtin_arm_rbit |
Reverse bit order of value.
Reverses the bit order of the given value.
| [in] | value | Value to reverse |
Definition at line 287 of file cmsis_armclang.h.
| #define __RBIT __builtin_arm_rbit |
Reverse bit order of value.
Reverses the bit order of the given value.
| [in] | value | Value to reverse |
Definition at line 285 of file cmsis_armclang_ltm.h.
| #define __REV __rev |
Reverse byte order (32 bit).
Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412.
| [in] | value | Value to reverse |
Definition at line 198 of file cmsis_armcc.h.
| #define __REV | ( | value | ) |
Reverse byte order (32 bit).
Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412.
| [in] | value | Value to reverse |
Definition at line 232 of file cmsis_armclang.h.
| #define __REV | ( | value | ) |
Reverse byte order (32 bit).
Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412.
| [in] | value | Value to reverse |
Definition at line 230 of file cmsis_armclang_ltm.h.
| #define __REV16 | ( | value | ) |
Reverse byte order (16 bit).
Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856.
| [in] | value | Value to reverse |
Definition at line 241 of file cmsis_armclang.h.
Referenced by __attribute__().
| #define __REV16 | ( | value | ) |
Reverse byte order (16 bit).
Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856.
| [in] | value | Value to reverse |
Definition at line 239 of file cmsis_armclang_ltm.h.
| #define __REVSH | ( | value | ) |
Reverse byte order (16 bit).
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 |
Definition at line 250 of file cmsis_armclang.h.
Referenced by __attribute__().
| #define __REVSH | ( | value | ) |
Reverse byte order (16 bit).
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 |
Definition at line 248 of file cmsis_armclang_ltm.h.
| #define __ROR __ror |
Rotate Right in unsigned value (32 bit).
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 |
Definition at line 238 of file cmsis_armcc.h.
| #define __SEV __sev |
Send Event.
Send Event is a hint instruction. It causes an event to be signaled to the CPU.
Definition at line 166 of file cmsis_armcc.h.
| #define __SEV __builtin_arm_sev |
Send Event.
Send Event is a hint instruction. It causes an event to be signaled to the CPU.
Definition at line 199 of file cmsis_armclang.h.
| #define __SEV __builtin_arm_sev |
Send Event.
Send Event is a hint instruction. It causes an event to be signaled to the CPU.
Definition at line 197 of file cmsis_armclang_ltm.h.
| #define __SEV | ( | ) |
Send Event.
Send Event is a hint instruction. It causes an event to be signaled to the CPU.
Definition at line 249 of file cmsis_gcc.h.
| #define __WFE __wfe |
Wait For Event.
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.
Definition at line 159 of file cmsis_armcc.h.
| #define __WFE __builtin_arm_wfe |
Wait For Event.
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.
Definition at line 192 of file cmsis_armclang.h.
| #define __WFE __builtin_arm_wfe |
Wait For Event.
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.
Definition at line 190 of file cmsis_armclang_ltm.h.
| #define __WFE | ( | ) |
Wait For Event.
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.
Definition at line 242 of file cmsis_gcc.h.
| #define __WFI __wfi |
Wait For Interrupt.
Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.
Definition at line 151 of file cmsis_armcc.h.
| #define __WFI __builtin_arm_wfi |
Wait For Interrupt.
Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.
Definition at line 184 of file cmsis_armclang.h.
| #define __WFI __builtin_arm_wfi |
Wait For Interrupt.
Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.
Definition at line 182 of file cmsis_armclang_ltm.h.
| #define __WFI | ( | ) |
Wait For Interrupt.
Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.
Definition at line 234 of file cmsis_gcc.h.
| __attribute__ | ( | (always_inline) | ) |
Reverse bit order of value.
Unsigned Saturate.
Signed Saturate.
Reverses the bit order of the given value.
| [in] | value | Value to reverse |
Saturates a signed value.
| [in] | value | Value to be saturated |
| [in] | sat | Bit position to saturate to (1..32) |
Saturates an unsigned value.
| [in] | value | Value to be saturated |
| [in] | sat | Bit position to saturate to (0..31) |
Definition at line 261 of file cmsis_armcc.h.
References __STATIC_INLINE, and result.
| __attribute__ | ( | (section(".rev16_text")) | ) |
Reverse byte order (16 bit).
Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856.
| [in] | value | Value to reverse |
Definition at line 208 of file cmsis_armcc.h.
References __ASM, __REV16, and __STATIC_INLINE.
| __attribute__ | ( | (section(".revsh_text")) | ) |
Reverse byte order (16 bit).
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 |
Definition at line 223 of file cmsis_armcc.h.
References __ASM, __REVSH, and __STATIC_INLINE.
| __STATIC_FORCEINLINE uint8_t __CLZ | ( | uint32_t | value | ) |
Count leading zeros.
Counts the number of leading zeros of a data value.
| [in] | value | Value to count the leading zeros |
Definition at line 295 of file cmsis_armclang.h.
References __STATIC_FORCEINLINE.
| __STATIC_FORCEINLINE void __DMB | ( | void | ) |
Data Memory Barrier.
Ensures the apparent order of the explicit memory operations before and after the instruction, without ensuring their completion.
Definition at line 280 of file cmsis_gcc.h.
References __ASM, and __STATIC_FORCEINLINE.
| __STATIC_FORCEINLINE void __DSB | ( | void | ) |
Data Synchronization Barrier.
Acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete.
Definition at line 269 of file cmsis_gcc.h.
References __ASM, and __STATIC_FORCEINLINE.
| __STATIC_FORCEINLINE void __ISB | ( | void | ) |
Instruction Synchronization Barrier.
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.
Definition at line 258 of file cmsis_gcc.h.
References __ASM, and __STATIC_FORCEINLINE.
| __STATIC_FORCEINLINE uint32_t __RBIT | ( | uint32_t | value | ) |
Reverse bit order of value.
Reverses the bit order of the given value.
| [in] | value | Value to reverse |
Definition at line 373 of file cmsis_gcc.h.
References __ASM, __STATIC_FORCEINLINE, and result.
| __STATIC_FORCEINLINE uint32_t __REV | ( | uint32_t | value | ) |
Reverse byte order (32 bit).
Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412.
| [in] | value | Value to reverse |
Definition at line 292 of file cmsis_gcc.h.
References __ASM, __CMSIS_GCC_OUT_REG, __CMSIS_GCC_USE_REG, __STATIC_FORCEINLINE, and result.
| __STATIC_FORCEINLINE uint32_t __REV16 | ( | uint32_t | value | ) |
Reverse byte order (16 bit).
Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856.
| [in] | value | Value to reverse |
Definition at line 311 of file cmsis_gcc.h.
References __ASM, __CMSIS_GCC_OUT_REG, __CMSIS_GCC_USE_REG, __STATIC_FORCEINLINE, and result.
| __STATIC_FORCEINLINE int16_t __REVSH | ( | int16_t | value | ) |
Reverse byte order (16 bit).
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 |
Definition at line 326 of file cmsis_gcc.h.
References __ASM, __CMSIS_GCC_OUT_REG, __CMSIS_GCC_USE_REG, __STATIC_FORCEINLINE, and result.
| __STATIC_FORCEINLINE uint32_t __ROR | ( | uint32_t | op1, |
| uint32_t | op2 ) |
Rotate Right in unsigned value (32 bit).
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 |
Definition at line 260 of file cmsis_armclang.h.
References __STATIC_FORCEINLINE.
| __STATIC_FORCEINLINE int32_t __SSAT | ( | int32_t | val, |
| uint32_t | sat ) |
Signed Saturate.
Saturates a signed value.
| [in] | value | Value to be saturated |
| [in] | sat | Bit position to saturate to (1..32) |
Definition at line 526 of file cmsis_armclang.h.
References __STATIC_FORCEINLINE, max, min, and sat.
| __STATIC_FORCEINLINE uint32_t __USAT | ( | int32_t | val, |
| uint32_t | sat ) |
Unsigned Saturate.
Saturates an unsigned value.
| [in] | value | Value to be saturated |
| [in] | sat | Bit position to saturate to (0..31) |
Definition at line 551 of file cmsis_armclang.h.
References __STATIC_FORCEINLINE, max, and sat.
| uint32_t sat |
Definition at line 481 of file cmsis_armcc.h.