/** @file scb.h
 * Module handling the System Control Block
 *
 * The module provides functions to configure miscelaneous options of the cortex
 * m3, including sleep behavior, event handler priorities, resets and fault
 * handlers
 */

#ifndef _SCB_H_
#define _SCB_H_

//--includes--------------------------------------------------------------------

#include "stdint.h"


//--type definitions------------------------------------------------------------

//--functions-------------------------------------------------------------------

uint16_t scb_pending_exception(void);
uint16_t scb_active_exception(void);

void scb_configure_vector_table(uint32_t offset);
void scb_reset_system(void);
void scb_configure_deepsleep(bool enable);
void scb_configure_div0_fault(bool enable);
void scb_configure_unalign_fault(bool enable);


#endif //_SCB_H_

