Functions | |
uint32_t | CPUcpsid (void) |
Disable all external interrupts. More... | |
uint32_t | CPUprimask (void) |
Get the current interrupt state. More... | |
uint32_t | CPUcpsie (void) |
Enable all external interrupts. More... | |
static void | CPUwfi (void) |
Wait for interrupt. More... | |
static void | CPUwfe (void) |
Wait for event. More... | |
static void | CPUsev (void) |
Send event. More... | |
static void | CPUbasepriSet (uint32_t ui32NewBasepri) |
Update the interrupt priority disable level. More... | |
uint32_t | CPUbasepriGet (void) |
Get the interrupt priority disable level. More... | |
void | CPUdelay (uint32_t ui32Count) |
Provide a small delay. More... | |
static void | CPU_WriteBufferDisable (void) |
Disable CPU write buffering (recommended for debug purpose only). More... | |
static void | CPU_WriteBufferEnable (void) |
Enable CPU write buffering (default setting). More... | |
The CPU API provides a set of functions performing very low-level control of the system CPU. All functions in this API are written in assembler in order to either access special registers or avoid any compiler optimizations. Each function exists in several compiler specific versions: One version for each supported compiler.
|
inlinestatic |
Disable CPU write buffering (recommended for debug purpose only).
This function helps debugging "bus fault crashes". Disables write buffer use during default memory map accesses.
This causes all bus faults to be precise bus faults but decreases the performance of the processor because the stores to memory have to complete before the next instruction can be executed.
|
inlinestatic |
Enable CPU write buffering (default setting).
Re-enables write buffer during default memory map accesses if CPU_WriteBufferDisable() has been used for bus fault debugging.
uint32_t CPUbasepriGet | ( | void | ) |
Get the interrupt priority disable level.
Use this function to get the the level of priority that will disable interrupts with a lower priority level.
Definition at line 325 of file cpu.c.
Referenced by IntPriorityMaskGet().
|
inlinestatic |
Update the interrupt priority disable level.
Use this function to change the level of priority that will disable interrupts with a lower priority level.
ui32NewBasepri | is the new basis priority level to set. |
Definition at line 315 of file cpu.h.
Referenced by IntPriorityMaskSet().
uint32_t CPUcpsid | ( | void | ) |
Disable all external interrupts.
Use this function to disable all system interrupts. This function is implemented as a wrapper function for the CPSID instruction.
Definition at line 97 of file cpu.c.
Referenced by AuxAdiDdiSafeRead(), AuxAdiDdiSafeWrite(), IntMasterDisable(), SafeHapiAuxAdiSelect(), SafeHapiVoid(), and SysCtrlSystemReset().
uint32_t CPUcpsie | ( | void | ) |
Enable all external interrupts.
Use this function to enable all system interrupts. This function is implemented as a wrapper function for the CPSIE instruction.
Definition at line 249 of file cpu.c.
Referenced by AuxAdiDdiSafeRead(), AuxAdiDdiSafeWrite(), IntMasterEnable(), SafeHapiAuxAdiSelect(), and SafeHapiVoid().
void CPUdelay | ( | uint32_t | ui32Count | ) |
Provide a small delay.
This function provides means for generating a constant length delay. It is written in assembly to keep the delay consistent across tool chains, avoiding the need to tune the delay based on the tool chain in use.
The loop takes 3 cycles/loop.
ui32Count | is the number of delay loop iterations to perform. |
Referenced by CRYPTOAesCbc(), CRYPTOAesEcb(), CRYPTOAesLoadKey(), CRYPTOCcmAuthEncrypt(), CRYPTOCcmAuthEncryptResultGet(), CRYPTOCcmInvAuthDecrypt(), CRYPTOCcmInvAuthDecryptResultGet(), and I2CMasterControl().
uint32_t CPUprimask | ( | void | ) |
Get the current interrupt state.
Use this function to retrieve the current state of the interrupts. This function is implemented as a wrapper function returning the state of PRIMASK.
Definition at line 173 of file cpu.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Wait for interrupt.
Use this function to let the System CPU wait for the next interrupt. This function is implemented as a wrapper function for the WFI instruction.
Definition at line 165 of file cpu.h.
Referenced by PRCMDeepSleep(), and PRCMSleep().