|
Sound Byte Libs 1ee2ca6
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
|
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) | |
|
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().
|
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().
|
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().
|
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().