40 lines
920 B
C
40 lines
920 B
C
/** @file nvic_regs.h
|
|
* Module defining the Nested Vector Interrupt Controller (NVIC) registers.
|
|
*
|
|
* Mainly made to be used by the nvic module. It is recommanded to go through
|
|
* the functions provided by that module instead of directly using the registers
|
|
* defined here.
|
|
*/
|
|
|
|
#ifndef _NVIC_REGS_H_
|
|
#define _NVIC_REGS_H_
|
|
|
|
//--includes--------------------------------------------------------------------
|
|
|
|
#include "stdint.h"
|
|
|
|
|
|
//--type definitions------------------------------------------------------------
|
|
|
|
#define NVIC1_BASE_ADDRESS 0xE000E100
|
|
#define NVIC2_BASE_ADDRESS 0xE000EF00
|
|
|
|
struct __attribute__((packed)) NVIC1 {
|
|
uint32_t ISERX[3];
|
|
uint32_t ICERX[3];
|
|
uint32_t ISPRX[3];
|
|
uint32_t ICPRX[3];
|
|
uint32_t IABRX[3];
|
|
uint32_t IPRX[20];
|
|
};
|
|
|
|
struct __attribute__((packed)) NVIC2 {
|
|
uint32_t INTID;
|
|
};
|
|
|
|
|
|
//--functions-------------------------------------------------------------------
|
|
|
|
#endif //_NVIC_REGS_H_
|
|
|