PokittoLib is the library needed for programming the Pokitto DIY game console (www.pokitto.com)

Dependents:   YATTT sd_map_test cPong SnowDemo ... more

Embed: (wiki syntax)

« Back to documentation index

CMSIS Core Register Access Functions

CMSIS Core Register Access Functions

Functions

__STATIC_INLINE uint32_t __get_APSR (void)
 Get APSR Register.
__STATIC_INLINE uint32_t __get_CPSR (void)
 Get CPSR Register.
register uint32_t __regSP __ASM ("sp")
 Set Stack Pointer.
register uint32_t __reglr __ASM ("lr")
 Get link register.
__STATIC_INLINE void __set_LR (uint32_t lr)
 Set link register.
__STATIC_ASM void __set_PSP (uint32_t topOfProcStack)
 Set Process Stack Pointer.
__STATIC_ASM void __set_CPS_USR (void)
 Set User Mode.
__STATIC_INLINE uint32_t __get_FPSCR (void)
 Get FPSCR.
__STATIC_INLINE void __set_FPSCR (uint32_t fpscr)
 Set FPSCR.
__STATIC_INLINE uint32_t __get_FPEXC (void)
 Get FPEXC.
__STATIC_INLINE void __set_FPEXC (uint32_t fpexc)
 Set FPEXC.
__STATIC_INLINE uint32_t __get_CPACR (void)
 Get CPACR.
__STATIC_INLINE void __set_CPACR (uint32_t cpacr)
 Set CPACR.
__STATIC_INLINE uint32_t __get_CBAR ()
 Get CBAR.
__STATIC_INLINE uint32_t __get_TTBR0 ()
 Get TTBR0.
__STATIC_INLINE void __set_TTBR0 (uint32_t ttbr0)
 Set TTBR0.
__STATIC_INLINE uint32_t __get_DACR ()
 Get DACR.
__STATIC_INLINE void __set_DACR (uint32_t dacr)
 Set DACR.
__STATIC_INLINE void __set_SCTLR (uint32_t sctlr)
 Set SCTLR.
__STATIC_INLINE uint32_t __get_SCTLR ()
 Get SCTLR.
__STATIC_INLINE void __enable_caches (void)
 Enable Caches.
__STATIC_INLINE void __disable_caches (void)
 Disable Caches.
__STATIC_INLINE void __enable_btac (void)
 Enable BTAC.
__STATIC_INLINE void __disable_btac (void)
 Disable BTAC.
__STATIC_INLINE void __enable_mmu (void)
 Enable MMU.
__STATIC_INLINE void __disable_mmu (void)
 Disable MMU.
__STATIC_INLINE void __ca9u_inv_tlb_all (void)
 Invalidate the whole tlb.
__STATIC_INLINE void __v7_inv_btac (void)
 Invalidate entire branch predictor array.
__STATIC_INLINE void __v7_inv_icache_all (void)
 Invalidate the whole I$.
__STATIC_INLINE void __v7_clean_dcache_mva (void *va)
 Clean D$ by MVA.
__STATIC_INLINE void __v7_inv_dcache_mva (void *va)
 Invalidate D$ by MVA.
__STATIC_INLINE void __v7_clean_inv_dcache_mva (void *va)
 Clean and Invalidate D$ by MVA.
__STATIC_ASM void __v7_all_cache (uint32_t op)
 Clean and Invalidate the entire data or unified cache.
__STATIC_INLINE void __v7_inv_dcache_all (void)
 Invalidate the whole D$.
__STATIC_INLINE void __v7_clean_dcache_all (void)
 Clean the whole D$.
__STATIC_INLINE void __v7_clean_inv_dcache_all (void)
 Clean and invalidate the whole D$.
 __attribute__ ((always_inline)) __STATIC_INLINE uint32_t __disable_irq(void)
 Disable IRQ Interrupts.
__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_xPSR (void)
 Get xPSR Register.
__STATIC_INLINE uint32_t __get_PSP (void)
 Get 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.

Variables

struct OSC __attribute__ = POK_LCD_W/2
 Disable IRQ Interrupts.

Function Documentation

register uint32_t __regSP __ASM ( "sp"   )

Set Stack Pointer.

This function assigns the given value to the current stack pointer.

Parameters:
[in]topOfStackStack Pointer value to set
register uint32_t __reglr __ASM ( "lr"   )

Get link register.

This function returns the value of the link register

Returns:
Value of link register
__attribute__ ( (always_inline)   )

Disable IRQ Interrupts.

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.

Get Process Stack Pointer.

Get xPSR Register.

Get IPSR Register.

Set Control Register.

Get Control Register.

Enable IRQ Interrupts.

Clean and invalidate the whole D$.

Clean the whole D$.

Invalidate the whole D$.

Clean and Invalidate D$ by MVA.

Invalidate D$ by MVA.

Clean D$ by MVA.

Invalidate the whole I$.

Invalidate entire branch predictor array.

Invalidate the whole tlb.

Disable MMU.

Enable MMU.

Disable BTAC.

Enable BTAC.

Disable Caches.

Enable Caches.

Get SCTLR.

Set SCTLR.

Set DACR.

Get DACR.

Set TTBR0.

Get TTBR0.

Get CBAR.

Set CPACR.

Get CPACR.

Set FPEXC.

Get FPEXC.

Set FPSCR.

Get FPSCR.

Set User Mode.

Set Process Stack Pointer.

Set link register.

Get link register.

Set Stack Pointer.

Get CPSR Register.

Get APSR Register.

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

Returns:
APSR Register value

This function returns the content of the CPSR Register.

Returns:
CPSR Register value

This function assigns the given value to the current stack pointer.

Parameters:
[in]topOfStackStack Pointer value to set

This function returns the value of the link register

Returns:
Value of link register

This function sets the value of the link register

Parameters:
[in]lrLR value to set

This function assigns the given value to the USR/SYS Stack Pointer (PSP).

Parameters:
[in]topOfProcStackUSR/SYS Stack Pointer value to set

This function changes the processor state to User Mode

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

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

Returns:
Floating Point Exception Control register value

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

Parameters:
[in]fpscrFloating Point Exception Control value to set

This function returns the current value of the Coprocessor Access Control register.

Returns:
Coprocessor Access Control register value

This function assigns the given value to the Coprocessor Access Control register.

Parameters:
[in]cpacrCoprocessor Acccess Control value to set

This function returns the value of the Configuration Base Address register.

Returns:
Configuration Base Address register value

This function returns the value of the Translation Table Base Register 0.

Returns:
Translation Table Base Register 0 value

This function assigns the given value to the Translation Table Base Register 0.

Parameters:
[in]ttbr0Translation Table Base Register 0 value to set

This function returns the value of the Domain Access Control Register.

Returns:
Domain Access Control Register value

This function assigns the given value to the Domain Access Control Register.

Parameters:
[in]dacrDomain Access Control Register value to set

This function assigns the given value to the System Control Register.

Parameters:
[in]sctlrSystem Control Register value to set

This function returns the value of the System Control Register.

Returns:
System Control Register value

Enable Caches

Disable Caches

Enable BTAC

Disable BTAC

Enable MMU

Disable MMU

TLBIALL. Invalidate the whole tlb

BPIALL. Branch Predictor Invalidate All.

ICIALLU. Instruction Cache Invalidate All to PoU

DCCMVAC. Data cache clean by MVA to PoC

DCIMVAC. Data cache invalidate by MVA to PoC

DCCIMVAC. Data cache clean and invalidate by MVA to PoC

DCISW. Invalidate by Set/Way

DCCSW. Clean by Set/Way

DCCISW. Clean and Invalidate by Set/Way

This function enables IRQ interrupts by clearing 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 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

Definition at line 589 of file core_caFunc.h.

__STATIC_INLINE void __ca9u_inv_tlb_all ( void   )

Invalidate the whole tlb.

TLBIALL. Invalidate the whole tlb

Definition at line 414 of file core_caFunc.h.

__STATIC_INLINE void __disable_btac ( void   )

Disable BTAC.

Disable BTAC

Definition at line 380 of file core_caFunc.h.

__STATIC_INLINE void __disable_caches ( void   )

Disable Caches.

Disable Caches

Definition at line 359 of file core_caFunc.h.

__STATIC_INLINE void __disable_mmu ( void   )

Disable MMU.

Disable MMU

Definition at line 402 of file core_caFunc.h.

__STATIC_INLINE void __enable_btac ( void   )

Enable BTAC.

Enable BTAC

Definition at line 370 of file core_caFunc.h.

__STATIC_INLINE void __enable_caches ( void   )

Enable Caches.

Enable Caches

Definition at line 349 of file core_caFunc.h.

__STATIC_INLINE void __enable_mmu ( void   )

Enable MMU.

Enable MMU

Definition at line 390 of file core_caFunc.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 71 of file core_caFunc.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_CBAR (  )

Get CBAR.

This function returns the value of the Configuration Base Address register.

Returns:
Configuration Base Address register value

Definition at line 269 of file core_caFunc.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_CPACR ( void   )

Get CPACR.

This function returns the current value of the Coprocessor Access Control register.

Returns:
Coprocessor Access Control register value

Definition at line 244 of file core_caFunc.h.

__STATIC_INLINE uint32_t __get_CPSR ( void   )

Get CPSR Register.

This function returns the content of the CPSR Register.

Returns:
CPSR Register value

Definition at line 84 of file core_caFunc.h.

__STATIC_INLINE uint32_t __get_DACR (  )

Get DACR.

This function returns the value of the Domain Access Control Register.

Returns:
Domain Access Control Register value

Definition at line 303 of file core_caFunc.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_FPEXC ( void   )

Get FPEXC.

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

Returns:
Floating Point Exception Control register value

Definition at line 213 of file core_caFunc.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 182 of file core_caFunc.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_SCTLR (  )

Get SCTLR.

This function returns the value of the System Control Register.

Returns:
System Control Register value

Definition at line 340 of file core_caFunc.h.

__STATIC_INLINE uint32_t __get_TTBR0 (  )

Get TTBR0.

This function returns the value of the Translation Table Base Register 0.

Returns:
Translation Table Base Register 0 value

Definition at line 280 of file core_caFunc.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_CPACR ( uint32_t  cpacr )

Set CPACR.

This function assigns the given value to the Coprocessor Access Control register.

Parameters:
[in]cpacrCoprocessor Acccess Control value to set

Definition at line 256 of file core_caFunc.h.

__STATIC_ASM void __set_CPS_USR ( void   )

Set User Mode.

This function changes the processor state to User Mode

Definition at line 151 of file core_caFunc.h.

__STATIC_INLINE void __set_DACR ( uint32_t  dacr )

Set DACR.

This function assigns the given value to the Domain Access Control Register.

Parameters:
[in]dacrDomain Access Control Register value to set

Definition at line 314 of file core_caFunc.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_FPEXC ( uint32_t  fpexc )

Set FPEXC.

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

Parameters:
[in]fpscrFloating Point Exception Control value to set

Definition at line 230 of file core_caFunc.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 199 of file core_caFunc.h.

__STATIC_INLINE void __set_LR ( uint32_t  lr )

Set link register.

This function sets the value of the link register

Parameters:
[in]lrLR value to set

Definition at line 121 of file core_caFunc.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 USR/SYS Stack Pointer (PSP).

Parameters:
[in]topOfProcStackUSR/SYS Stack Pointer value to set

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

Parameters:
[in]topOfProcStackProcess Stack Pointer value to set

Definition at line 132 of file core_caFunc.h.

__STATIC_INLINE void __set_SCTLR ( uint32_t  sctlr )

Set SCTLR.

This function assigns the given value to the System Control Register.

Parameters:
[in]sctlrSystem Control Register value to set

Definition at line 328 of file core_caFunc.h.

__STATIC_INLINE void __set_TTBR0 ( uint32_t  ttbr0 )

Set TTBR0.

This function assigns the given value to the Translation Table Base Register 0.

Parameters:
[in]ttbr0Translation Table Base Register 0 value to set

Definition at line 291 of file core_caFunc.h.

void __v7_all_cache ( uint32_t  op )

Clean and Invalidate the entire data or unified cache.

Generic mechanism for cleaning/invalidating the entire data or unified cache to the point of coherency.

Definition at line 484 of file core_caFunc.h.

__STATIC_INLINE void __v7_clean_dcache_all ( void   )

Clean the whole D$.

DCCSW. Clean by Set/Way

Definition at line 556 of file core_caFunc.h.

__STATIC_INLINE void __v7_clean_dcache_mva ( void *  va )

Clean D$ by MVA.

DCCMVAC. Data cache clean by MVA to PoC

Definition at line 452 of file core_caFunc.h.

__STATIC_INLINE void __v7_clean_inv_dcache_all ( void   )

Clean and invalidate the whole D$.

DCCISW. Clean and Invalidate by Set/Way

Definition at line 565 of file core_caFunc.h.

__STATIC_INLINE void __v7_clean_inv_dcache_mva ( void *  va )

Clean and Invalidate D$ by MVA.

DCCIMVAC. Data cache clean and invalidate by MVA to PoC

Definition at line 472 of file core_caFunc.h.

__STATIC_INLINE void __v7_inv_btac ( void   )

Invalidate entire branch predictor array.

BPIALL. Branch Predictor Invalidate All.

Definition at line 427 of file core_caFunc.h.

__STATIC_INLINE void __v7_inv_dcache_all ( void   )

Invalidate the whole D$.

DCISW. Invalidate by Set/Way

Definition at line 547 of file core_caFunc.h.

__STATIC_INLINE void __v7_inv_dcache_mva ( void *  va )

Invalidate D$ by MVA.

DCIMVAC. Data cache invalidate by MVA to PoC

Definition at line 462 of file core_caFunc.h.

__STATIC_INLINE void __v7_inv_icache_all ( void   )

Invalidate the whole I$.

ICIALLU. Instruction Cache Invalidate All to PoU

Definition at line 441 of file core_caFunc.h.


Variable Documentation

struct tagBITMAPINFO __attribute__ = POK_LCD_W/2

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

Get Process Stack Pointer.

Get xPSR Register.

Get IPSR Register.

Set Control Register.

Get Control Register.

Enable IRQ Interrupts.

Clean and invalidate the whole D$.

Clean the whole D$.

Invalidate the whole D$.

Clean and Invalidate D$ by MVA.

Invalidate D$ by MVA.

Clean D$ by MVA.

Invalidate the whole I$.

Invalidate entire branch predictor array.

Invalidate the whole tlb.

Disable MMU.

Enable MMU.

Disable BTAC.

Enable BTAC.

Disable Caches.

Enable Caches.

Get SCTLR.

Set SCTLR.

Set DACR.

Get DACR.

Set TTBR0.

Get TTBR0.

Get CBAR.

Set CPACR.

Get CPACR.

Set FPEXC.

Get FPEXC.

Set FPSCR.

Get FPSCR.

Set User Mode.

Set Process Stack Pointer.

Set link register.

Get link register.

Set Stack Pointer.

Get CPSR Register.

Get APSR Register.

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

Returns:
APSR Register value

This function returns the content of the CPSR Register.

Returns:
CPSR Register value

This function assigns the given value to the current stack pointer.

Parameters:
[in]topOfStackStack Pointer value to set

This function returns the value of the link register

Returns:
Value of link register

This function sets the value of the link register

Parameters:
[in]lrLR value to set

This function assigns the given value to the USR/SYS Stack Pointer (PSP).

Parameters:
[in]topOfProcStackUSR/SYS Stack Pointer value to set

This function changes the processor state to User Mode

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

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

Returns:
Floating Point Exception Control register value

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

Parameters:
[in]fpscrFloating Point Exception Control value to set

This function returns the current value of the Coprocessor Access Control register.

Returns:
Coprocessor Access Control register value

This function assigns the given value to the Coprocessor Access Control register.

Parameters:
[in]cpacrCoprocessor Acccess Control value to set

This function returns the value of the Configuration Base Address register.

Returns:
Configuration Base Address register value

This function returns the value of the Translation Table Base Register 0.

Returns:
Translation Table Base Register 0 value

This function assigns the given value to the Translation Table Base Register 0.

Parameters:
[in]ttbr0Translation Table Base Register 0 value to set

This function returns the value of the Domain Access Control Register.

Returns:
Domain Access Control Register value

This function assigns the given value to the Domain Access Control Register.

Parameters:
[in]dacrDomain Access Control Register value to set

This function assigns the given value to the System Control Register.

Parameters:
[in]sctlrSystem Control Register value to set

This function returns the value of the System Control Register.

Returns:
System Control Register value

Enable Caches

Disable Caches

Enable BTAC

Disable BTAC

Enable MMU

Disable MMU

TLBIALL. Invalidate the whole tlb

BPIALL. Branch Predictor Invalidate All.

ICIALLU. Instruction Cache Invalidate All to PoU

DCCMVAC. Data cache clean by MVA to PoC

DCIMVAC. Data cache invalidate by MVA to PoC

DCCIMVAC. Data cache clean and invalidate by MVA to PoC

DCISW. Invalidate by Set/Way

DCCSW. Clean by Set/Way

DCCISW. Clean and Invalidate by Set/Way

This function enables IRQ interrupts by clearing 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 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

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 599 of file core_caFunc.h.