dRonin  adbada4
dRonin firmware
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
vectors_stm32f30x.c
Go to the documentation of this file.
1 
13 /*
14  * This program is free software; you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License as published by
16  * the Free Software Foundation; either version 3 of the License, or
17  * (at your option) any later version.
18  *
19  * This program is distributed in the hope that it will be useful, but
20  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  * for more details.
23  *
24  * You should have received a copy of the GNU General Public License along
25  * with this program; if not, see <http://www.gnu.org/licenses/>
26  */
27 
29 typedef const void (vector)(void);
30 
32 static void
34 {
35  for (;;) ;
36 }
37 
39 #define HANDLER(_name) extern vector _name __attribute__((weak, alias("default_io_handler")))
40 
41 HANDLER(Reserved_IRQHandler); // Reserved
42 HANDLER(WWDG_IRQHandler); // Window WatchDog
43 HANDLER(PVD_IRQHandler); // PVD through EXTI Line detection
44 HANDLER(TAMP_STAMP_IRQHandler); // Tamper and TimeStamps through the EXTI line
45 HANDLER(RTC_WKUP_IRQHandler); // RTC Wakeup through the EXTI line
46 HANDLER(FLASH_IRQHandler); // FLASH
47 HANDLER(RCC_IRQHandler); // RCC
48 HANDLER(EXTI0_IRQHandler); // EXTI Line0
49 HANDLER(EXTI1_IRQHandler); // EXTI Line1
50 HANDLER(EXTI2_TS_IRQHandler); // EXTI Line2 and Touch Sense Interrupt
51 HANDLER(EXTI3_IRQHandler); // EXTI Line3
52 HANDLER(EXTI4_IRQHandler); // EXTI Line4
53 HANDLER(DMA1_Channel1_IRQHandler); // DMA1 Channel 1
54 HANDLER(DMA1_Channel2_IRQHandler); // DMA1 Channel 2
55 HANDLER(DMA1_Channel3_IRQHandler); // DMA1 Channel 3
56 HANDLER(DMA1_Channel4_IRQHandler); // DMA1 Channel 4
57 HANDLER(DMA1_Channel5_IRQHandler); // DMA1 Channel 5
58 HANDLER(DMA1_Channel6_IRQHandler); // DMA1 Channel 6
59 HANDLER(DMA1_Channel7_IRQHandler); // DMA1 Channel 7
60 HANDLER(ADC1_2_IRQHandler); // ADC1 and ADC2
61 HANDLER(USB_HP_CAN1_TX_IRQHandler); // USB Device High Priority or CAN1 TX
62 HANDLER(USB_LP_CAN1_RX0_IRQHandler); // USB Device Low Priority or CAN1 RX0
63 HANDLER(CAN1_RX1_IRQHandler); // CAN1 RX1
64 HANDLER(CAN1_SCE_IRQHandler); // CAN1 SCE
65 HANDLER(EXTI9_5_IRQHandler); // External Line[9:5]s
66 HANDLER(TIM1_BRK_TIM15_IRQHandler); // TIM1 Break and TIM15
67 HANDLER(TIM1_UP_TIM16_IRQHandler); // TIM1 Update and TIM16
68 HANDLER(TIM1_TRG_COM_TIM17_IRQHandler); // TIM1 Trigger and Commutation and TIM17
69 HANDLER(TIM1_CC_IRQHandler); // TIM1 Capture Compare
70 HANDLER(TIM2_IRQHandler); // TIM2
71 HANDLER(TIM3_IRQHandler); // TIM3
72 HANDLER(TIM4_IRQHandler); // TIM4
73 HANDLER(I2C1_EV_EXTI23_IRQHandler); // I2C1 Event and EXTI23
74 HANDLER(I2C1_ER_IRQHandler); // I2C1 Error
75 HANDLER(I2C2_EV_EXTI24_IRQHandler); // I2C2 Event and EXTI24
76 HANDLER(I2C2_ER_IRQHandler); // I2C2 Error
77 HANDLER(SPI1_IRQHandler); // SPI1
78 HANDLER(SPI2_IRQHandler); // SPI2
79 HANDLER(USART1_EXTI25_IRQHandler); // USART1 and EXTI25
80 HANDLER(USART2_EXTI26_IRQHandler); // USART2 and EXTI26
81 HANDLER(USART3_EXTI28_IRQHandler); // USART3 and EXTI28
82 HANDLER(EXTI15_10_IRQHandler); // External Line[15:10]s
83 HANDLER(RTC_Alarm_IRQHandler); // RTC Alarm (A and B) through EXTI Line
84 HANDLER(USB_WKUP_IRQHandler); // USB FS Wakeup through EXTI line
85 HANDLER(TIM8_BRK_IRQHandler); // TIM8 Break
86 HANDLER(TIM8_UP_IRQHandler); // TIM8 Update
87 HANDLER(TIM8_TRG_COM_IRQHandler); // TIM8 Trigger and Commutation
88 HANDLER(TIM8_CC_IRQHandler); // TIM8 Capture Compare
89 HANDLER(ADC3_IRQHandler); // ADC3
90 HANDLER(SPI3_IRQHandler); // SPI3
91 HANDLER(UART4_EXTI34_IRQHandler); // UART4 and EXTI34
92 HANDLER(UART5_EXTI35_IRQHandler); // UART5 and EXTI35
93 HANDLER(TIM6_DAC_IRQHandler); // TIM6 and DAC1&2 underrun errors
94 HANDLER(TIM7_IRQHandler); // TIM7
95 HANDLER(DMA2_Channel1_IRQHandler); // DMA2 Channel 1
96 HANDLER(DMA2_Channel2_IRQHandler); // DMA2 Channel 2
97 HANDLER(DMA2_Channel3_IRQHandler); // DMA2 Channel 3
98 HANDLER(DMA2_Channel4_IRQHandler); // DMA2 Channel 4
99 HANDLER(DMA2_Channel5_IRQHandler); // DMA2 Channel 5
100 HANDLER(ADC4_IRQHandler); // ADC4
101 HANDLER(COMP1_2_3_IRQHandler); // COMP1, COMP2 and COMP3
102 HANDLER(COMP4_5_6_IRQHandler); // COMP4, COMP5 and COMP6
103 HANDLER(COMP7_IRQHandler); // COMP7
104 HANDLER(USB_HP_IRQHandler); // USB High Priority remap
105 HANDLER(USB_LP_IRQHandler); // USB Low Priority remap
106 HANDLER(USB_WKUP_RMP_IRQHandler); // USB Wakup remap
107 HANDLER(FPU_IRQHandler); // FPU
108 
110 vector *io_vectors[] __attribute__((section(".io_vectors"))) = {
111  WWDG_IRQHandler, // Window WatchDog
112  PVD_IRQHandler, // PVD through EXTI Line detection
113  TAMP_STAMP_IRQHandler, // Tamper and TimeStamps through the EXTI line
114  RTC_WKUP_IRQHandler, // RTC Wakeup through the EXTI line
115  FLASH_IRQHandler, // FLASH
116  RCC_IRQHandler, // RCC
117  EXTI0_IRQHandler, // EXTI Line0
118  EXTI1_IRQHandler, // EXTI Line1
119  EXTI2_TS_IRQHandler, // EXTI Line2 and Touch Sense Interrupt
120  EXTI3_IRQHandler, // EXTI Line3
121  EXTI4_IRQHandler, // EXTI Line4
122  DMA1_Channel1_IRQHandler, // DMA1 Channel 1
123  DMA1_Channel2_IRQHandler, // DMA1 Channel 2
124  DMA1_Channel3_IRQHandler, // DMA1 Channel 3
125  DMA1_Channel4_IRQHandler, // DMA1 Channel 4
126  DMA1_Channel5_IRQHandler, // DMA1 Channel 5
127  DMA1_Channel6_IRQHandler, // DMA1 Channel 6
128  DMA1_Channel7_IRQHandler, // DMA1 Channel 7
129  ADC1_2_IRQHandler, // ADC1 and ADC2
130  USB_HP_CAN1_TX_IRQHandler, // USB Device High Priority or CAN1 TX
131  USB_LP_CAN1_RX0_IRQHandler, // USB Device Low Priority or CAN1 RX0
132  CAN1_RX1_IRQHandler, // CAN1 RX1
133  CAN1_SCE_IRQHandler, // CAN1 SCE
134  EXTI9_5_IRQHandler, // External Line[9:5]s
135  TIM1_BRK_TIM15_IRQHandler, // TIM1 Break and TIM15
136  TIM1_UP_TIM16_IRQHandler, // TIM1 Update and TIM16
137  TIM1_TRG_COM_TIM17_IRQHandler, // TIM1 Trigger and Commutation and TIM17
138  TIM1_CC_IRQHandler, // TIM1 Capture Compare
139  TIM2_IRQHandler, // TIM2
140  TIM3_IRQHandler, // TIM3
141  TIM4_IRQHandler, // TIM4
142  I2C1_EV_EXTI23_IRQHandler, // I2C1 Event and EXTI23
143  I2C1_ER_IRQHandler, // I2C1 Error
144  I2C2_EV_EXTI24_IRQHandler, // I2C2 Event and EXTI24
145  I2C2_ER_IRQHandler, // I2C2 Error
146  SPI1_IRQHandler, // SPI1
147  SPI2_IRQHandler, // SPI2
148  USART1_EXTI25_IRQHandler, // USART1 and EXTI25
149  USART2_EXTI26_IRQHandler, // USART2 and EXTI26
150  USART3_EXTI28_IRQHandler, // USART3 and EXTI28
151  EXTI15_10_IRQHandler, // External Line[15:10]s
152  RTC_Alarm_IRQHandler, // RTC Alarm (A and B) through EXTI Line
153  USB_WKUP_IRQHandler, // USB FS Wakeup through EXTI line
154  TIM8_BRK_IRQHandler, // TIM8 Break
155  TIM8_UP_IRQHandler, // TIM8 Update
156  TIM8_TRG_COM_IRQHandler, // TIM8 Trigger and Commutation
157  TIM8_CC_IRQHandler, // TIM8 Capture Compare
158  ADC3_IRQHandler, // ADC3
159  Reserved_IRQHandler, // reserved
160  Reserved_IRQHandler, // reserved
161  Reserved_IRQHandler, // reserved
162  SPI3_IRQHandler, // SPI3
163  UART4_EXTI34_IRQHandler, // UART4 and EXTI34
164  UART5_EXTI35_IRQHandler, // UART5 and EXTI35
165  TIM6_DAC_IRQHandler, // TIM6 and DAC1&2 underrun errors
166  TIM7_IRQHandler, // TIM7
167  DMA2_Channel1_IRQHandler, // DMA2 Channel 1
168  DMA2_Channel2_IRQHandler, // DMA2 Channel 2
169  DMA2_Channel3_IRQHandler, // DMA2 Channel 3
170  DMA2_Channel4_IRQHandler, // DMA2 Channel 4
171  DMA2_Channel5_IRQHandler, // DMA2 Channel 5
172  ADC4_IRQHandler, // ADC4
173  Reserved_IRQHandler, // reserved
174  Reserved_IRQHandler, // reserved
175  COMP1_2_3_IRQHandler, // COMP1, COMP2 and COMP3
176  COMP4_5_6_IRQHandler, // COMP4, COMP5 and COMP6
177  COMP7_IRQHandler, // COMP7
178  Reserved_IRQHandler, // reserved
179  Reserved_IRQHandler, // reserved
180  Reserved_IRQHandler, // reserved
181  Reserved_IRQHandler, // reserved
182  Reserved_IRQHandler, // reserved
183  Reserved_IRQHandler, // reserved
184  Reserved_IRQHandler, // reserved
185  USB_HP_IRQHandler, // USB High Priority remap
186  USB_LP_IRQHandler, // USB Low Priority remap
187  USB_WKUP_RMP_IRQHandler, // USB Wakup remap
188  Reserved_IRQHandler, // reserved
189  Reserved_IRQHandler, // reserved
190  Reserved_IRQHandler, // reserved
191  Reserved_IRQHandler, // reserved
192  FPU_IRQHandler, // FPU
193 };
194 
#define USB_LP_CAN1_RX0_IRQHandler
void TIM1_BRK_TIM15_IRQHandler(void)
Definition: pios_tim.c:324
#define USB_HP_IRQHandler
#define DMA2_Channel3_IRQHandler
#define TIM1_CC_IRQHandler
void TIM8_BRK_IRQHandler(void)
Definition: pios_tim.c:414
#define PVD_IRQHandler
#define DMA1_Channel4_IRQHandler
#define ADC4_IRQHandler
#define USB_LP_IRQHandler
#define ADC1_2_IRQHandler
#define DMA2_Channel1_IRQHandler
#define TAMP_STAMP_IRQHandler
#define DMA1_Channel2_IRQHandler
#define SPI1_IRQHandler
void TIM6_DAC_IRQHandler(void)
Definition: pios_tim.c:389
#define DMA1_Channel5_IRQHandler
#define SPI3_IRQHandler
#define EXTI2_TS_IRQHandler
#define WWDG_IRQHandler
void TIM8_UP_IRQHandler(void)
Definition: pios_tim.c:402
#define EXTI15_10_IRQHandler
static void default_io_handler(void)
#define FLASH_IRQHandler
#define DMA1_Channel3_IRQHandler
#define RTC_WKUP_IRQHandler
#define COMP1_2_3_IRQHandler
#define USART2_EXTI26_IRQHandler
void TIM7_IRQHandler(void)
Definition: pios_tim.c:396
#define DMA1_Channel1_IRQHandler
#define HANDLER(_name)
#define I2C2_ER_IRQHandler
#define SPI2_IRQHandler
#define TIM2_IRQHandler
vector *io_vectors[] __attribute__((section(".io_vectors")))
#define CAN1_RX1_IRQHandler
#define DMA2_Channel5_IRQHandler
void TIM4_IRQHandler(void)
Definition: pios_tim.c:378
#define EXTI0_IRQHandler
#define DMA1_Channel7_IRQHandler
#define USB_HP_CAN1_TX_IRQHandler
const void( vector)(void)
#define DMA2_Channel4_IRQHandler
#define TIM3_IRQHandler
#define UART5_EXTI35_IRQHandler
#define ADC3_IRQHandler
#define I2C1_ER_IRQHandler
#define FPU_IRQHandler
#define USART1_EXTI25_IRQHandler
#define EXTI3_IRQHandler
void TIM1_UP_TIM16_IRQHandler(void)
Definition: pios_tim.c:338
#define COMP7_IRQHandler
#define COMP4_5_6_IRQHandler
#define I2C2_EV_EXTI24_IRQHandler
#define RTC_Alarm_IRQHandler
void TIM8_CC_IRQHandler(void)
Definition: pios_tim.c:408
#define EXTI9_5_IRQHandler
void TIM1_TRG_COM_TIM17_IRQHandler(void)
Definition: pios_tim.c:351
#define DMA1_Channel6_IRQHandler
#define USB_WKUP_RMP_IRQHandler
#define USART3_EXTI28_IRQHandler
#define EXTI1_IRQHandler
#define DMA2_Channel2_IRQHandler
#define I2C1_EV_EXTI23_IRQHandler
#define EXTI4_IRQHandler
void TIM8_TRG_COM_IRQHandler(void)
Definition: pios_tim.c:430
#define USB_WKUP_IRQHandler
#define RCC_IRQHandler
#define CAN1_SCE_IRQHandler
#define UART4_EXTI34_IRQHandler