|
libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
|
#include <libopencm3/cm3/sync.h>
Go to the source code of this file.
Functions | |
| void | __dmb () |
| uint32_t | __ldrex (volatile uint32_t *addr) |
| uint32_t | __strex (uint32_t val, volatile uint32_t *addr) |
| void | mutex_lock (mutex_t *m) |
| uint32_t | mutex_trylock (mutex_t *m) |
| void | mutex_unlock (mutex_t *m) |
| void __dmb | ( | void | ) |
Definition at line 23 of file sync.c.
Referenced by mutex_trylock(), and mutex_unlock().

| uint32_t __ldrex | ( | volatile uint32_t * | addr | ) |
Definition at line 31 of file sync.c.
Referenced by mutex_trylock().

| uint32_t __strex | ( | uint32_t | val, |
| volatile uint32_t * | addr | ||
| ) |
Definition at line 38 of file sync.c.
Referenced by mutex_trylock().

| void mutex_lock | ( | mutex_t * | m | ) |
Definition at line 46 of file sync.c.
References mutex_trylock().

| uint32_t mutex_trylock | ( | mutex_t * | m | ) |
Definition at line 52 of file sync.c.
References __dmb(), __ldrex(), __strex(), MUTEX_LOCKED, and MUTEX_UNLOCKED.
Referenced by mutex_lock().


| void mutex_unlock | ( | mutex_t * | m | ) |
Definition at line 70 of file sync.c.
References __dmb(), and MUTEX_UNLOCKED.
