Atomic operations internals

nRF5 SDK v15.0.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)

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)
static __asm bool nrf_atomic_internal_cmp_exch ( nrf_atomic_u32_t *p_data, uint32_t *p_expected, uint32_t value)
static __asm uint32_t nrf_atomic_internal_sub_hs ( nrf_atomic_u32_t *p_ptr, uint32_t value, uint32_t *p_new)

Detailed Description