Sound Byte Libs 1ee2ca6
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
Loading...
Searching...
No Matches
Functions
sbl::core::hal::memory Namespace Reference

Functions

void compiler_barrier ()
 Compiler memory barrier.
 
void data_barrier ()
 Data Memory Barrier (ARM DMB instruction)
 
void sync_barrier ()
 Data Synchronization Barrier (ARM DSB instruction)
 
void instruction_barrier ()
 Instruction Synchronization Barrier (ARM ISB instruction)
 

Function Documentation

◆ compiler_barrier()

void sbl::core::hal::memory::compiler_barrier ( )
inline

Compiler memory barrier.

Prevents compiler from reordering memory operations. Sufficient for single-core ARM Cortex-M systems. Compiles to no instructions - affects compiler optimization only.

Definition at line 25 of file barrier.hpp.

Referenced by data_barrier(), instruction_barrier(), and sync_barrier().

Here is the caller graph for this function:

◆ data_barrier()

void sbl::core::hal::memory::data_barrier ( )
inline

Data Memory Barrier (ARM DMB instruction)

Ensures all memory operations before the barrier complete before any memory operations after the barrier begin. Compiles to single ARM DMB instruction.

Definition at line 36 of file barrier.hpp.

References compiler_barrier().

Here is the call graph for this function:

◆ instruction_barrier()

void sbl::core::hal::memory::instruction_barrier ( )
inline

Instruction Synchronization Barrier (ARM ISB instruction)

Flushes pipeline and ensures all subsequent instructions are fetched from cache/memory after barrier effects complete. Compiles to single ARM ISB instruction.

Definition at line 66 of file barrier.hpp.

References compiler_barrier().

Here is the call graph for this function:

◆ sync_barrier()

void sbl::core::hal::memory::sync_barrier ( )
inline

Data Synchronization Barrier (ARM DSB instruction)

Ensures all memory operations and instructions complete before proceeding. Stronger than DMB. Compiles to single ARM DSB instruction.

Definition at line 51 of file barrier.hpp.

References compiler_barrier().

Here is the call graph for this function: