1#[cfg(feature = "rt")]
2extern "C" {
3 fn WWDG();
4 fn PVD_PVM();
5 fn RTC_TAMP_CSS_LSE();
6 fn RTC_WKUP();
7 fn FLASH();
8 fn RCC();
9 fn EXTI0();
10 fn EXTI1();
11 fn EXTI2();
12 fn EXTI3();
13 fn EXTI4();
14 fn DMA1_CH1();
15 fn DMA1_CH2();
16 fn DMA1_CH3();
17 fn DMA1_CH4();
18 fn DMA1_CH5();
19 fn DMA1_CH6();
20 fn DMA1_CH7();
21 fn ADC1_2();
22 fn USB_HP();
23 fn USB_LP();
24 fn fdcan1_intr1_it();
25 fn fdcan1_intr0_it();
26 fn EXTI9_5();
27 fn TIM1_BRK_TIM15();
28 fn TIM1_UP_TIM16();
29 fn TIM1_TRG_COM();
30 fn TIM1_CC();
31 fn TIM2();
32 fn TIM3();
33 fn TIM4();
34 fn I2C1_EV();
35 fn I2C1_ER();
36 fn I2C2_EV();
37 fn I2C2_ER();
38 fn SPI1();
39 fn SPI2();
40 fn USART1();
41 fn USART2();
42 fn USART3();
43 fn EXTI15_10();
44 fn RTC_ALARM();
45 fn USBWakeUP();
46 fn TIM8_BRK();
47 fn TIM8_UP();
48 fn TIM8_TRG_COM();
49 fn TIM8_CC();
50 fn ADC3();
51 fn FMC();
52 fn LPTIM1();
53 fn TIM5();
54 fn SPI3();
55 fn UART4();
56 fn UART5();
57 fn TIM6_DACUNDER();
58 fn TIM7();
59 fn DMA2_CH1();
60 fn DMA2_CH2();
61 fn DMA2_CH3();
62 fn DMA2_CH4();
63 fn DMA2_CH5();
64 fn ADC4();
65 fn ADC5();
66 fn UCPD1();
67 fn COMP1_2_3();
68 fn COMP4_5_6();
69 fn COMP7();
70 fn HRTIM_Master_IRQn();
71 fn HRTIM_TIMA_IRQn();
72 fn HRTIM_TIMB_IRQn();
73 fn HRTIM_TIMC_IRQn();
74 fn HRTIM_TIMD_IRQn();
75 fn HRTIM_TIME_IRQn();
76 fn HRTIM_TIM_FLT_IRQn();
77 fn HRTIM_TIMF_IRQn();
78 fn CRS();
79 fn SAI();
80 fn TIM20_BRK();
81 fn TIM20_UP();
82 fn TIM20_TRG_COM();
83 fn TIM20_CC();
84 fn FPU();
85 fn I2C4_EV();
86 fn I2C4_ER();
87 fn SPI4();
88 fn AES();
89 fn FDCAN2_intr0();
90 fn FDCAN2_intr1();
91 fn FDCAN3_intr0();
92 fn FDCAN3_intr1();
93 fn RNG();
94 fn LPUART();
95 fn I2C3_EV();
96 fn I2C3_ER();
97 fn DMAMUX_OVR();
98 fn QUADSPI();
99 fn DMA1_CH8();
100 fn DMA2_CH6();
101 fn DMA2_CH7();
102 fn DMA2_CH8();
103 fn Cordic();
104 fn FMAC();
105}
106
107#[doc(hidden)]
108pub union Vector {
109 _handler: unsafe extern "C" fn(),
110 _reserved: u32,
111}
112
113#[cfg(feature = "rt")]
114#[doc(hidden)]
115#[link_section = ".vector_table.interrupts"]
116#[no_mangle]
117pub static __INTERRUPTS: [Vector; 102] = [
118 Vector { _handler: WWDG },
119 Vector { _handler: PVD_PVM },
120 Vector {
121 _handler: RTC_TAMP_CSS_LSE,
122 },
123 Vector { _handler: RTC_WKUP },
124 Vector { _handler: FLASH },
125 Vector { _handler: RCC },
126 Vector { _handler: EXTI0 },
127 Vector { _handler: EXTI1 },
128 Vector { _handler: EXTI2 },
129 Vector { _handler: EXTI3 },
130 Vector { _handler: EXTI4 },
131 Vector { _handler: DMA1_CH1 },
132 Vector { _handler: DMA1_CH2 },
133 Vector { _handler: DMA1_CH3 },
134 Vector { _handler: DMA1_CH4 },
135 Vector { _handler: DMA1_CH5 },
136 Vector { _handler: DMA1_CH6 },
137 Vector { _handler: DMA1_CH7 },
138 Vector { _handler: ADC1_2 },
139 Vector { _handler: USB_HP },
140 Vector { _handler: USB_LP },
141 Vector {
142 _handler: fdcan1_intr1_it,
143 },
144 Vector {
145 _handler: fdcan1_intr0_it,
146 },
147 Vector { _handler: EXTI9_5 },
148 Vector {
149 _handler: TIM1_BRK_TIM15,
150 },
151 Vector {
152 _handler: TIM1_UP_TIM16,
153 },
154 Vector {
155 _handler: TIM1_TRG_COM,
156 },
157 Vector { _handler: TIM1_CC },
158 Vector { _handler: TIM2 },
159 Vector { _handler: TIM3 },
160 Vector { _handler: TIM4 },
161 Vector { _handler: I2C1_EV },
162 Vector { _handler: I2C1_ER },
163 Vector { _handler: I2C2_EV },
164 Vector { _handler: I2C2_ER },
165 Vector { _handler: SPI1 },
166 Vector { _handler: SPI2 },
167 Vector { _handler: USART1 },
168 Vector { _handler: USART2 },
169 Vector { _handler: USART3 },
170 Vector {
171 _handler: EXTI15_10,
172 },
173 Vector {
174 _handler: RTC_ALARM,
175 },
176 Vector {
177 _handler: USBWakeUP,
178 },
179 Vector { _handler: TIM8_BRK },
180 Vector { _handler: TIM8_UP },
181 Vector {
182 _handler: TIM8_TRG_COM,
183 },
184 Vector { _handler: TIM8_CC },
185 Vector { _handler: ADC3 },
186 Vector { _handler: FMC },
187 Vector { _handler: LPTIM1 },
188 Vector { _handler: TIM5 },
189 Vector { _handler: SPI3 },
190 Vector { _handler: UART4 },
191 Vector { _handler: UART5 },
192 Vector {
193 _handler: TIM6_DACUNDER,
194 },
195 Vector { _handler: TIM7 },
196 Vector { _handler: DMA2_CH1 },
197 Vector { _handler: DMA2_CH2 },
198 Vector { _handler: DMA2_CH3 },
199 Vector { _handler: DMA2_CH4 },
200 Vector { _handler: DMA2_CH5 },
201 Vector { _handler: ADC4 },
202 Vector { _handler: ADC5 },
203 Vector { _handler: UCPD1 },
204 Vector {
205 _handler: COMP1_2_3,
206 },
207 Vector {
208 _handler: COMP4_5_6,
209 },
210 Vector { _handler: COMP7 },
211 Vector {
212 _handler: HRTIM_Master_IRQn,
213 },
214 Vector {
215 _handler: HRTIM_TIMA_IRQn,
216 },
217 Vector {
218 _handler: HRTIM_TIMB_IRQn,
219 },
220 Vector {
221 _handler: HRTIM_TIMC_IRQn,
222 },
223 Vector {
224 _handler: HRTIM_TIMD_IRQn,
225 },
226 Vector {
227 _handler: HRTIM_TIME_IRQn,
228 },
229 Vector {
230 _handler: HRTIM_TIM_FLT_IRQn,
231 },
232 Vector {
233 _handler: HRTIM_TIMF_IRQn,
234 },
235 Vector { _handler: CRS },
236 Vector { _handler: SAI },
237 Vector {
238 _handler: TIM20_BRK,
239 },
240 Vector { _handler: TIM20_UP },
241 Vector {
242 _handler: TIM20_TRG_COM,
243 },
244 Vector { _handler: TIM20_CC },
245 Vector { _handler: FPU },
246 Vector { _handler: I2C4_EV },
247 Vector { _handler: I2C4_ER },
248 Vector { _handler: SPI4 },
249 Vector { _handler: AES },
250 Vector {
251 _handler: FDCAN2_intr0,
252 },
253 Vector {
254 _handler: FDCAN2_intr1,
255 },
256 Vector {
257 _handler: FDCAN3_intr0,
258 },
259 Vector {
260 _handler: FDCAN3_intr1,
261 },
262 Vector { _handler: RNG },
263 Vector { _handler: LPUART },
264 Vector { _handler: I2C3_EV },
265 Vector { _handler: I2C3_ER },
266 Vector {
267 _handler: DMAMUX_OVR,
268 },
269 Vector { _handler: QUADSPI },
270 Vector { _handler: DMA1_CH8 },
271 Vector { _handler: DMA2_CH6 },
272 Vector { _handler: DMA2_CH7 },
273 Vector { _handler: DMA2_CH8 },
274 Vector { _handler: Cordic },
275 Vector { _handler: FMAC },
276];
277
278#[repr(u16)]
280#[derive(Copy, Clone, Debug, PartialEq, Eq)]
281#[allow(non_camel_case_types)]
282pub enum Interrupt {
283 WWDG = 0,
285 PVD_PVM = 1,
287 RTC_TAMP_CSS_LSE = 2,
289 RTC_WKUP = 3,
291 FLASH = 4,
293 RCC = 5,
295 EXTI0 = 6,
297 EXTI1 = 7,
299 EXTI2 = 8,
301 EXTI3 = 9,
303 EXTI4 = 10,
305 DMA1_CH1 = 11,
307 DMA1_CH2 = 12,
309 DMA1_CH3 = 13,
311 DMA1_CH4 = 14,
313 DMA1_CH5 = 15,
315 DMA1_CH6 = 16,
317 DMA1_CH7 = 17,
319 ADC1_2 = 18,
321 USB_HP = 19,
323 USB_LP = 20,
325 fdcan1_intr1_it = 21,
327 fdcan1_intr0_it = 22,
329 EXTI9_5 = 23,
331 TIM1_BRK_TIM15 = 24,
333 TIM1_UP_TIM16 = 25,
335 TIM1_TRG_COM = 26,
337 TIM1_CC = 27,
339 TIM2 = 28,
341 TIM3 = 29,
343 TIM4 = 30,
345 I2C1_EV = 31,
347 I2C1_ER = 32,
349 I2C2_EV = 33,
351 I2C2_ER = 34,
353 SPI1 = 35,
355 SPI2 = 36,
357 USART1 = 37,
359 USART2 = 38,
361 USART3 = 39,
363 EXTI15_10 = 40,
365 RTC_ALARM = 41,
367 USBWakeUP = 42,
369 TIM8_BRK = 43,
371 TIM8_UP = 44,
373 TIM8_TRG_COM = 45,
375 TIM8_CC = 46,
377 ADC3 = 47,
379 FMC = 48,
381 LPTIM1 = 49,
383 TIM5 = 50,
385 SPI3 = 51,
387 UART4 = 52,
389 UART5 = 53,
391 TIM6_DACUNDER = 54,
393 TIM7 = 55,
395 DMA2_CH1 = 56,
397 DMA2_CH2 = 57,
399 DMA2_CH3 = 58,
401 DMA2_CH4 = 59,
403 DMA2_CH5 = 60,
405 ADC4 = 61,
407 ADC5 = 62,
409 UCPD1 = 63,
411 COMP1_2_3 = 64,
413 COMP4_5_6 = 65,
415 COMP7 = 66,
417 HRTIM_Master_IRQn = 67,
419 HRTIM_TIMA_IRQn = 68,
421 HRTIM_TIMB_IRQn = 69,
423 HRTIM_TIMC_IRQn = 70,
425 HRTIM_TIMD_IRQn = 71,
427 HRTIM_TIME_IRQn = 72,
429 HRTIM_TIM_FLT_IRQn = 73,
431 HRTIM_TIMF_IRQn = 74,
433 CRS = 75,
435 SAI = 76,
437 TIM20_BRK = 77,
439 TIM20_UP = 78,
441 TIM20_TRG_COM = 79,
443 TIM20_CC = 80,
445 FPU = 81,
447 I2C4_EV = 82,
449 I2C4_ER = 83,
451 SPI4 = 84,
453 AES = 85,
455 FDCAN2_intr0 = 86,
457 FDCAN2_intr1 = 87,
459 FDCAN3_intr0 = 88,
461 FDCAN3_intr1 = 89,
463 RNG = 90,
465 LPUART = 91,
467 I2C3_EV = 92,
469 I2C3_ER = 93,
471 DMAMUX_OVR = 94,
473 QUADSPI = 95,
475 DMA1_CH8 = 96,
477 DMA2_CH6 = 97,
479 DMA2_CH7 = 98,
481 DMA2_CH8 = 99,
483 Cordic = 100,
485 FMAC = 101,
487}
488unsafe impl external_cortex_m::interrupt::InterruptNumber for Interrupt {
489 #[inline(always)]
490 fn number(self) -> u16 {
491 self as u16
492 }
493}