Atomic operations internals

nRF5 SDK v12.2.0

Macros

#define NRF_ATOMIC_OP (asm_op, old_val, new_val, ptr, value)   old_val = nrf_atomic_internal_##asm_op(ptr, value, &new_val)

Typedefs

typedef volatile uint32_t nrf_atomic_u32_t
Atomic 32 bit unsigned type.
typedef volatile uint32_t nrf_atomic_flag_t
Atomic 1 bit flag type (technically 32 bit)

Functions

static __asm uint32_t nrf_atomic_internal_mov ( nrf_atomic_u32_t *p_ptr, uint32_t value, uint32_t *p_new)
static __asm uint32_t nrf_atomic_internal_orr ( nrf_atomic_u32_t *p_ptr, uint32_t value, uint32_t *p_new)
static __asm uint32_t nrf_atomic_internal_and ( nrf_atomic_u32_t *p_ptr, uint32_t value, uint32_t *p_new)
static __asm uint32_t nrf_atomic_internal_eor ( nrf_atomic_u32_t *p_ptr, uint32_t value, uint32_t *p_new)
static __asm uint32_t nrf_atomic_internal_add ( nrf_atomic_u32_t *p_ptr, uint32_t value, uint32_t *p_new)
static __asm uint32_t nrf_atomic_internal_sub ( nrf_atomic_u32_t *p_ptr, uint32_t value, uint32_t *p_new)

Detailed Description