forkd

Dependencies:   mbed

Fork of LGstaandart by Dmitry Kovalev

Embed: (wiki syntax)

« Back to documentation index

CMSIS Core Register Access Functions

CMSIS Core Register Access Functions

Functions

uint32_t __get_CONTROL (void)
 Get Control Register.
void __set_CONTROL (uint32_t control)
 Set Control Register.
uint32_t __get_IPSR (void)
 Get ISPR Register.
uint32_t __get_APSR (void)
 Get APSR Register.
uint32_t __get_xPSR (void)
 Get xPSR Register.
uint32_t __get_PSP (void)
 Get Process Stack Pointer.
void __set_PSP (uint32_t topOfProcStack)
 Set Process Stack Pointer.
uint32_t __get_MSP (void)
 Get Main Stack Pointer.
void __set_MSP (uint32_t topOfMainStack)
 Set Main Stack Pointer.
uint32_t __get_PRIMASK (void)
 Get Priority Mask.
void __set_PRIMASK (uint32_t priMask)
 Set Priority Mask.
uint32_t __get_BASEPRI (void)
 Get Base Priority.
void __set_BASEPRI (uint32_t basePri)
 Set Base Priority.
uint32_t __get_FAULTMASK (void)
 Get Fault Mask.
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.
static __INLINE void __enable_fault_irq (void)
 Enable FIQ.
static __INLINE void __disable_fault_irq (void)
 Disable FIQ.
 __attribute__ ((always_inline)) static __INLINE void __enable_irq(void)
 Enable IRQ Interrupts.

Function Documentation

__attribute__ ( (always_inline)   )

Enable IRQ Interrupts.

STR Exclusive (16 bit)

STR Exclusive (8 bit)

LDR Exclusive (32 bit)

LDR Exclusive (16 bit)

LDR Exclusive (8 bit)

Reverse bit order of value.

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 ISPR 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 ISPR Register.

Returns:
ISPR 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 reverses the bit order of the given value.

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

This function performs a exclusive LDR command for 8 bit value.

Parameters:
[in]ptrPointer to data
Returns:
value of type uint8_t at (*ptr)

This function performs a exclusive LDR command for 16 bit values.

Parameters:
[in]ptrPointer to data
Returns:
value of type uint16_t at (*ptr)

This function performs a exclusive LDR command for 32 bit values.

Parameters:
[in]ptrPointer to data
Returns:
value of type uint32_t at (*ptr)

This function performs a exclusive STR command for 8 bit values.

Parameters:
[in]valueValue to store
[in]ptrPointer to location
Returns:
0 Function succeeded
1 Function failed

This function performs a exclusive STR command for 16 bit values.

Parameters:
[in]valueValue to store
[in]ptrPointer to location
Returns:
0 Function succeeded
1 Function failed

Definition at line 543 of file core_cmFunc.h.

static __INLINE void __disable_fault_irq ( void   ) [static]

Disable FIQ.

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

Definition at line 485 of file core_cmFunc.h.

static __INLINE void __enable_fault_irq ( void   ) [static]

Enable FIQ.

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

Definition at line 474 of file core_cmFunc.h.

static uint32_t __get_APSR ( void   )

Get APSR Register.

This function returns the content of the APSR Register.

Returns:
APSR Register value

Definition at line 99 of file core_cmFunc.h.

uint32_t __get_BASEPRI ( void   )

Get Base Priority.

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

Returns:
Base Priority register value
uint32_t __get_CONTROL ( void   )

Get Control Register.

This function returns the content of the Control Register.

Returns:
Control Register value
uint32_t __get_FAULTMASK ( void   )

Get Fault Mask.

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

Returns:
Fault Mask register value
static uint32_t __get_FPSCR ( void   ) [static]

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 322 of file core_cmFunc.h.

static uint32_t __get_IPSR ( void   )

Get ISPR Register.

This function returns the content of the ISPR Register.

Returns:
ISPR Register value

Definition at line 82 of file core_cmFunc.h.

uint32_t __get_MSP ( void   )

Get Main Stack Pointer.

Return the Main Stack Pointer.

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

Returns:
MSP Register value

Definition at line 86 of file core_cm3.c.

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
uint32_t __get_PSP ( void   )

Get Process Stack Pointer.

Return the Process Stack Pointer.

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

Returns:
PSP Register value

Definition at line 58 of file core_cm3.c.

static 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.

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
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
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
static void __set_FPSCR ( uint32_t  fpscr ) [static]

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 339 of file core_cmFunc.h.

void __set_MSP ( uint32_t  topOfMainStack )

Set Main Stack Pointer.

Set the 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 100 of file core_cm3.c.

void __set_PRIMASK ( uint32_t  priMask )

Set Priority Mask.

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

Parameters:
[in]priMaskPriority Mask
void __set_PSP ( uint32_t  topOfProcStack )

Set Process Stack Pointer.

Set the 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 72 of file core_cm3.c.