lpc-field

Template project for programming NXP's LPC1768 MCUs
git clone git://git.mdnr.space/lpc-field
Log | Files | Refs | README | LICENSE

vector.h (1784B)


      1 /* 
      2  * Source: libopencm3 library: https://github.com/libopencm3/libopencm3
      3  */
      4 
      5 #define NVIC_WDT_IRQ 0
      6 #define NVIC_TIMER0_IRQ 1
      7 #define NVIC_TIMER1_IRQ 2
      8 #define NVIC_TIMER2_IRQ 3
      9 #define NVIC_TIMER3_IRQ 4
     10 #define NVIC_UART0_IRQ 5
     11 #define NVIC_UART1_IRQ 6
     12 #define NVIC_UART2_IRQ 7
     13 #define NVIC_UART3_IRQ 8
     14 #define NVIC_PWM_IRQ 9
     15 #define NVIC_I2C0_IRQ 10
     16 #define NVIC_I2C1_IRQ 11
     17 #define NVIC_I2C2_IRQ 12
     18 #define NVIC_SPI_IRQ 13
     19 #define NVIC_SSP0_IRQ 14
     20 #define NVIC_SSP1_IRQ 15
     21 #define NVIC_PLL0_IRQ 16
     22 #define NVIC_RTC_IRQ 17
     23 #define NVIC_EINT0_IRQ 18
     24 #define NVIC_EINT1_IRQ 19
     25 #define NVIC_EINT2_IRQ 20
     26 #define NVIC_EINT3_IRQ 21
     27 #define NVIC_ADC_IRQ 22
     28 #define NVIC_BOD_IRQ 23
     29 #define NVIC_USB_IRQ 24
     30 #define NVIC_CAN_IRQ 25
     31 #define NVIC_GPDMA_IRQ 26
     32 #define NVIC_I2S_IRQ 27
     33 #define NVIC_ETHERNET_IRQ 28
     34 #define NVIC_RIT_IRQ 29
     35 #define NVIC_MOTOR_PWM_IRQ 30
     36 #define NVIC_QEI_IRQ 31
     37 #define NVIC_PLL1_IRQ 32
     38 #define NVIC_USB_ACT_IRQ 33
     39 #define NVIC_CAN_ACT_IRQ 34
     40 
     41 #define NVIC_IRQ_COUNT 35
     42 
     43 typedef void (*vector_table_entry_t)(void);
     44 
     45 typedef struct {
     46 	unsigned int *initial_sp_value; /**< Initial stack pointer value. */
     47 	vector_table_entry_t reset;
     48 	vector_table_entry_t nmi;
     49 	vector_table_entry_t hard_fault;
     50 	vector_table_entry_t memory_manage_fault; /* not in CM0 */
     51 	vector_table_entry_t bus_fault;           /* not in CM0 */
     52 	vector_table_entry_t usage_fault;         /* not in CM0 */
     53 	vector_table_entry_t reserved_x001c[4];
     54 	vector_table_entry_t sv_call;
     55 	vector_table_entry_t debug_monitor;       /* not in CM0 */
     56 	vector_table_entry_t reserved_x0034;
     57 	vector_table_entry_t pend_sv;
     58 	vector_table_entry_t systick;
     59 	vector_table_entry_t irq[NVIC_IRQ_COUNT];
     60 } vector_table_t;
     61 
     62 extern unsigned _data_lma, _data, _edata, _ebss, _stack;
     63 extern vector_table_t vector_table;