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;