libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
cortex.h File Reference
#include <stdbool.h>
#include <stdint.h>
Include dependency graph for cortex.h:

Go to the source code of this file.

Macros

#define __CM_SAVER(state)
 
#define CM_ATOMIC_BLOCK()    for (uint32_t __CM_SAVER(true), __my = true; __my; __my = false)
 Cortex M Atomic Declare block. More...
 
#define CM_ATOMIC_CONTEXT()   uint32_t __CM_SAVER(true)
 Cortex M Atomic Declare context. More...
 

Functions

static void cm_enable_interrupts (void)
 Cortex M Enable interrupts. More...
 
static void cm_disable_interrupts (void)
 Cortex M Disable interrupts. More...
 
static void cm_enable_faults (void)
 Cortex M Enable faults. More...
 
static void cm_disable_faults (void)
 Cortex M Disable faults. More...
 
static bool cm_is_masked_interrupts (void)
 Cortex M Check if interrupts are masked. More...
 
static bool cm_is_masked_faults (void)
 Cortex M Check if Fault interrupt is masked. More...
 
static uint32_t cm_mask_interrupts (uint32_t mask)
 Cortex M Mask interrupts. More...
 
static uint32_t cm_mask_faults (uint32_t mask)
 Cortex M Mask HardFault interrupt. More...
 
static uint32_t __cm_atomic_set (uint32_t *val)