theCore C++ embedded framework
arch/arm_cm/export/arch/execution.hpp File Reference

Various routines for CM* architectures, altering execution flow. More...

#include <limits.h>
Include dependency graph for arch/arm_cm/export/arch/execution.hpp:
This graph shows which files directly or indirectly include this file:

Namespaces

 ecl
 

Functions

void arch_delay (uint32_t loop_count)
 Provides a small delay. More...
 
 ecl::__attribute__ ((noreturn)) static inline void abort()
 Aborts execution of currently running code. Never return. More...
 
static void ecl::wfi ()
 Waits for interrupts. More...
 
static void ecl::wfe ()
 Waits for events. More...
 
static void ecl::arch_spin_wait (uint32_t ms)
 Performs a dummy busy wait for specified amount of milliseconds. More...
 

Detailed Description

Various routines for CM* architectures, altering execution flow.

Function Documentation

◆ arch_delay()

void arch_delay ( uint32_t  loop_count)

Provides a small delay.

Parameters
loop_countis the number of delay loop iterations to perform.

This function provides a means of generating a delay by executing a simple 3 instruction cycle loop a given number of times. It is written in assembly to keep the loop instruction count consistent across tool chains.

Returns
None.