mbed library sources

Fork of mbed-src by mbed official

Embed: (wiki syntax)

« Back to documentation index

CMSIS Core Register Access Functions

CMSIS Core Register Access Functions
[Functions and Instructions Reference]

Functions

__STATIC_INLINE uint32_t __get_CONTROL (void)
 Get Control Register.
__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_BASEPRI (void)
 Get Base Priority.
__STATIC_INLINE void __set_BASEPRI (uint32_t basePri)
 Set Base Priority.
__STATIC_INLINE uint32_t __get_FAULTMASK (void)
 Get Fault Mask.
__STATIC_INLINE void __set_FAULTMASK (uint32_t faultMask)
 Set Fault Mask.
__STATIC_INLINE uint32_t __get_FPSCR (void)
 Get FPSCR.
__STATIC_INLINE void __set_FPSCR (uint32_t fpscr)
 Set FPSCR.
 __attribute__ ((always_inline)) __STATIC_INLINE void __enable_irq(void)
 Enable IRQ Interrupts.

Function Documentation

__attribute__ ( (always_inline)   )

Enable IRQ Interrupts.

Rotate Right in unsigned value (32 bit)

Reverse byte order in signed short value.

Reverse byte order (16 bit)

Reverse byte order (32 bit)

Data Memory Barrier.

Data Synchronization Barrier.

Instruction Synchronization Barrier.

Send Event.

Wait For Event.

Wait For Interrupt.

Set FPSCR.

Get FPSCR.

Set Fault Mask.

Get Fault Mask.

Set Base Priority.

Get Base Priority.

Disable FIQ.

Enable FIQ.

Set Priority Mask.

Get Priority Mask.

Set Main Stack Pointer.

Get Main Stack Pointer.

Set Process Stack Pointer.

Get Process Stack Pointer.

Get xPSR Register.

Get APSR Register.

Get IPSR Register.

Set Control Register.

Get Control Register.

Disable IRQ Interrupts.

This function enables IRQ interrupts by clearing the I-bit in the CPSR. Can only be executed in Privileged modes.

This function disables IRQ interrupts by setting the I-bit in the CPSR. Can only be executed in Privileged modes.

This function returns the content of the Control Register.

Returns:
Control Register value

This function writes the given value to the Control Register.

Parameters:
[in]controlControl Register value to set

This function returns the content of the IPSR Register.

Returns:
IPSR Register value

This function returns the content of the APSR Register.

Returns:
APSR Register value

This function returns the content of the xPSR Register.

Returns:
xPSR Register value

This function returns the current value of the Process Stack Pointer (PSP).

Returns:
PSP Register value

This function assigns the given value to the Process Stack Pointer (PSP).

Parameters:
[in]topOfProcStackProcess Stack Pointer value to set

This function returns the current value of the Main Stack Pointer (MSP).

Returns:
MSP Register value

This function assigns the given value to the Main Stack Pointer (MSP).

Parameters:
[in]topOfMainStackMain Stack Pointer value to set

This function returns the current state of the priority mask bit from the Priority Mask Register.

Returns:
Priority Mask value

This function assigns the given value to the Priority Mask Register.

Parameters:
[in]priMaskPriority Mask

This function enables FIQ interrupts by clearing the F-bit in the CPSR. Can only be executed in Privileged modes.

This function disables FIQ interrupts by setting the F-bit in the CPSR. Can only be executed in Privileged modes.

This function returns the current value of the Base Priority register.

Returns:
Base Priority register value

This function assigns the given value to the Base Priority register.

Parameters:
[in]basePriBase Priority value to set

This function returns the current value of the Fault Mask register.

Returns:
Fault Mask register value

This function assigns the given value to the Fault Mask register.

Parameters:
[in]faultMaskFault Mask value to set

This function returns the current value of the Floating Point Status/Control register.

Returns:
Floating Point Status/Control register value

This function assigns the given value to the Floating Point Status/Control register.

Parameters:
[in]fpscrFloating Point Status/Control value to set

Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.

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.

Send Event is a hint instruction. It causes an event to be signaled to the CPU.

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.

This function acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete.

This function ensures the apparent order of the explicit memory operations before and after the instruction, without ensuring their completion.

This function reverses the byte order in integer value.

Parameters:
[in]valueValue to reverse
Returns:
Reversed value

This function reverses the byte order in two unsigned short values.

Parameters:
[in]valueValue to reverse
Returns:
Reversed value

This function reverses the byte order in a signed short value with sign extension to integer.

Parameters:
[in]valueValue to reverse
Returns:
Reversed value

This function Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits.

Parameters:
[in]valueValue to rotate
[in]valueNumber of Bits to rotate
Returns:
Rotated value

Definition at line 329 of file core_cmFunc.h.

__STATIC_INLINE uint32_t __get_APSR ( void   )

Get APSR Register.

This function returns the content of the APSR Register.

Returns:
APSR Register value

Definition at line 103 of file core_cmFunc.h.

__STATIC_INLINE uint32_t __get_BASEPRI ( void   )

Get Base Priority.

This function returns the current value of the Base Priority register.

Returns:
Base Priority register value

Definition at line 225 of file core_cmFunc.h.

__STATIC_INLINE uint32_t __get_CONTROL ( void   )

Get Control Register.

This function returns the content of the Control Register.

Returns:
Control Register value

Definition at line 64 of file core_cmFunc.h.

__STATIC_INLINE uint32_t __get_FAULTMASK ( void   )

Get Fault Mask.

This function returns the current value of the Fault Mask register.

Returns:
Fault Mask register value

Definition at line 251 of file core_cmFunc.h.

__STATIC_INLINE uint32_t __get_FPSCR ( void   )

Get FPSCR.

This function returns the current value of the Floating Point Status/Control register.

Returns:
Floating Point Status/Control register value

Definition at line 281 of file core_cmFunc.h.

__STATIC_INLINE uint32_t __get_IPSR ( void   )

Get IPSR Register.

This function returns the content of the IPSR Register.

Returns:
IPSR Register value

Definition at line 90 of file core_cmFunc.h.

__STATIC_INLINE uint32_t __get_MSP ( void   )

Get Main Stack Pointer.

This function returns the current value of the Main Stack Pointer (MSP).

Returns:
MSP Register value

Definition at line 155 of file core_cmFunc.h.

__STATIC_INLINE uint32_t __get_PRIMASK ( void   )

Get Priority Mask.

This function returns the current state of the priority mask bit from the Priority Mask Register.

Returns:
Priority Mask value

Definition at line 181 of file core_cmFunc.h.

__STATIC_INLINE uint32_t __get_PSP ( void   )

Get Process Stack Pointer.

This function returns the current value of the Process Stack Pointer (PSP).

Returns:
PSP Register value

Definition at line 129 of file core_cmFunc.h.

__STATIC_INLINE uint32_t __get_xPSR ( void   )

Get xPSR Register.

This function returns the content of the xPSR Register.

Returns:
xPSR Register value

Definition at line 116 of file core_cmFunc.h.

__STATIC_INLINE void __set_BASEPRI ( uint32_t  basePri )

Set Base Priority.

This function assigns the given value to the Base Priority register.

Parameters:
[in]basePriBase Priority value to set

Definition at line 238 of file core_cmFunc.h.

__STATIC_INLINE void __set_CONTROL ( uint32_t  control )

Set Control Register.

This function writes the given value to the Control Register.

Parameters:
[in]controlControl Register value to set

Definition at line 77 of file core_cmFunc.h.

__STATIC_INLINE void __set_FAULTMASK ( uint32_t  faultMask )

Set Fault Mask.

This function assigns the given value to the Fault Mask register.

Parameters:
[in]faultMaskFault Mask value to set

Definition at line 264 of file core_cmFunc.h.

__STATIC_INLINE void __set_FPSCR ( uint32_t  fpscr )

Set FPSCR.

This function assigns the given value to the Floating Point Status/Control register.

Parameters:
[in]fpscrFloating Point Status/Control value to set

Definition at line 298 of file core_cmFunc.h.

__STATIC_INLINE void __set_MSP ( uint32_t  topOfMainStack )

Set Main Stack Pointer.

This function assigns the given value to the Main Stack Pointer (MSP).

Parameters:
[in]topOfMainStackMain Stack Pointer value to set

Definition at line 168 of file core_cmFunc.h.

__STATIC_INLINE void __set_PRIMASK ( uint32_t  priMask )

Set Priority Mask.

This function assigns the given value to the Priority Mask Register.

Parameters:
[in]priMaskPriority Mask

Definition at line 194 of file core_cmFunc.h.

__STATIC_INLINE void __set_PSP ( uint32_t  topOfProcStack )

Set Process Stack Pointer.

This function assigns the given value to the Process Stack Pointer (PSP).

Parameters:
[in]topOfProcStackProcess Stack Pointer value to set

Definition at line 142 of file core_cmFunc.h.