aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios/os/hal/ports/STM32/STM32F7xx/stm32_isr.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios/os/hal/ports/STM32/STM32F7xx/stm32_isr.h')
-rw-r--r--lib/chibios/os/hal/ports/STM32/STM32F7xx/stm32_isr.h340
1 files changed, 340 insertions, 0 deletions
diff --git a/lib/chibios/os/hal/ports/STM32/STM32F7xx/stm32_isr.h b/lib/chibios/os/hal/ports/STM32/STM32F7xx/stm32_isr.h
new file mode 100644
index 000000000..1ed43c388
--- /dev/null
+++ b/lib/chibios/os/hal/ports/STM32/STM32F7xx/stm32_isr.h
@@ -0,0 +1,340 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/**
18 * @file STM32F7xx/stm32_isr.h
19 * @brief STM32F7xx ISR handler header.
20 *
21 * @addtogroup STM32F7xx_ISR
22 * @{
23 */
24
25#ifndef STM32_ISR_H
26#define STM32_ISR_H
27
28/*===========================================================================*/
29/* Driver constants. */
30/*===========================================================================*/
31
32/**
33 * @name ISRs suppressed in standard drivers
34 * @{
35 */
36#define STM32_TIM1_SUPPRESS_ISR
37#define STM32_TIM2_SUPPRESS_ISR
38#define STM32_TIM3_SUPPRESS_ISR
39#define STM32_TIM4_SUPPRESS_ISR
40#define STM32_TIM5_SUPPRESS_ISR
41#define STM32_TIM6_SUPPRESS_ISR
42#define STM32_TIM7_SUPPRESS_ISR
43#define STM32_TIM8_SUPPRESS_ISR
44#define STM32_TIM9_SUPPRESS_ISR
45#define STM32_TIM10_SUPPRESS_ISR
46#define STM32_TIM11_SUPPRESS_ISR
47#define STM32_TIM12_SUPPRESS_ISR
48#define STM32_TIM13_SUPPRESS_ISR
49#define STM32_TIM14_SUPPRESS_ISR
50
51#define STM32_USART1_SUPPRESS_ISR
52#define STM32_USART2_SUPPRESS_ISR
53#define STM32_USART3_SUPPRESS_ISR
54#define STM32_UART4_SUPPRESS_ISR
55#define STM32_UART5_SUPPRESS_ISR
56#define STM32_USART6_SUPPRESS_ISR
57#define STM32_UART7_SUPPRESS_ISR
58#define STM32_UART8_SUPPRESS_ISR
59/** @} */
60
61/**
62 * @name ISR names and numbers
63 * @{
64 */
65/*
66 * ADC units.
67 */
68#define STM32_ADC_HANDLER Vector88
69
70#define STM32_ADC_NUMBER 18
71
72/*
73 * CAN units.
74 */
75#define STM32_CAN1_TX_HANDLER Vector8C
76#define STM32_CAN1_RX0_HANDLER Vector90
77#define STM32_CAN1_RX1_HANDLER Vector94
78#define STM32_CAN1_SCE_HANDLER Vector98
79#define STM32_CAN2_TX_HANDLER Vector13C
80#define STM32_CAN2_RX0_HANDLER Vector140
81#define STM32_CAN2_RX1_HANDLER Vector144
82#define STM32_CAN2_SCE_HANDLER Vector148
83#define STM32_CAN3_TX_HANDLER Vector1E0
84#define STM32_CAN3_RX0_HANDLER Vector1E4
85#define STM32_CAN3_RX1_HANDLER Vector1E8
86#define STM32_CAN3_SCE_HANDLER Vector1EC
87
88#define STM32_CAN1_TX_NUMBER 19
89#define STM32_CAN1_RX0_NUMBER 20
90#define STM32_CAN1_RX1_NUMBER 21
91#define STM32_CAN1_SCE_NUMBER 22
92#define STM32_CAN2_TX_NUMBER 63
93#define STM32_CAN2_RX0_NUMBER 64
94#define STM32_CAN2_RX1_NUMBER 65
95#define STM32_CAN2_SCE_NUMBER 66
96#define STM32_CAN3_TX_NUMBER 104
97#define STM32_CAN3_RX0_NUMBER 105
98#define STM32_CAN3_RX1_NUMBER 106
99#define STM32_CAN3_SCE_NUMBER 107
100
101/*
102 * DMA units.
103 */
104#define STM32_DMA1_CH0_HANDLER Vector6C
105#define STM32_DMA1_CH1_HANDLER Vector70
106#define STM32_DMA1_CH2_HANDLER Vector74
107#define STM32_DMA1_CH3_HANDLER Vector78
108#define STM32_DMA1_CH4_HANDLER Vector7C
109#define STM32_DMA1_CH5_HANDLER Vector80
110#define STM32_DMA1_CH6_HANDLER Vector84
111#define STM32_DMA1_CH7_HANDLER VectorFC
112#define STM32_DMA2_CH0_HANDLER Vector120
113#define STM32_DMA2_CH1_HANDLER Vector124
114#define STM32_DMA2_CH2_HANDLER Vector128
115#define STM32_DMA2_CH3_HANDLER Vector12C
116#define STM32_DMA2_CH4_HANDLER Vector130
117#define STM32_DMA2_CH5_HANDLER Vector150
118#define STM32_DMA2_CH6_HANDLER Vector154
119#define STM32_DMA2_CH7_HANDLER Vector158
120
121#define STM32_DMA1_CH0_NUMBER 11
122#define STM32_DMA1_CH1_NUMBER 12
123#define STM32_DMA1_CH2_NUMBER 13
124#define STM32_DMA1_CH3_NUMBER 14
125#define STM32_DMA1_CH4_NUMBER 15
126#define STM32_DMA1_CH5_NUMBER 16
127#define STM32_DMA1_CH6_NUMBER 17
128#define STM32_DMA1_CH7_NUMBER 47
129#define STM32_DMA2_CH0_NUMBER 56
130#define STM32_DMA2_CH1_NUMBER 57
131#define STM32_DMA2_CH2_NUMBER 58
132#define STM32_DMA2_CH3_NUMBER 59
133#define STM32_DMA2_CH4_NUMBER 60
134#define STM32_DMA2_CH5_NUMBER 68
135#define STM32_DMA2_CH6_NUMBER 69
136#define STM32_DMA2_CH7_NUMBER 70
137
138/*
139 * EXTI unit.
140 */
141#define STM32_EXTI0_HANDLER Vector58
142#define STM32_EXTI1_HANDLER Vector5C
143#define STM32_EXTI2_HANDLER Vector60
144#define STM32_EXTI3_HANDLER Vector64
145#define STM32_EXTI4_HANDLER Vector68
146#define STM32_EXTI5_9_HANDLER Vector9C
147#define STM32_EXTI10_15_HANDLER VectorE0
148#define STM32_EXTI16_HANDLER Vector44 /* PVD */
149#define STM32_EXTI17_HANDLER VectorE4 /* RTC ALARM */
150#define STM32_EXTI18_HANDLER VectorE8 /* USB FS WAKEUP */
151#define STM32_EXTI19_HANDLER Vector138 /* ETH WAKEUP */
152#define STM32_EXTI20_HANDLER Vector170 /* USB HS WAKEUP */
153#define STM32_EXTI21_HANDLER Vector48 /* RTC TAMPER */
154#define STM32_EXTI22_HANDLER Vector4C /* RTC WAKEUP */
155#define STM32_EXTI23_HANDLER Vector1B4 /* LPTIM1 */
156
157#define STM32_EXTI0_NUMBER 6
158#define STM32_EXTI1_NUMBER 7
159#define STM32_EXTI2_NUMBER 8
160#define STM32_EXTI3_NUMBER 9
161#define STM32_EXTI4_NUMBER 10
162#define STM32_EXTI5_9_NUMBER 23
163#define STM32_EXTI10_15_NUMBER 40
164#define STM32_EXTI16_NUMBER 1
165#define STM32_EXTI17_NUMBER 41
166#define STM32_EXTI18_NUMBER 42
167#define STM32_EXTI19_NUMBER 62
168#define STM32_EXTI20_NUMBER 76
169#define STM32_EXTI21_NUMBER 2
170#define STM32_EXTI22_NUMBER 3
171#define STM32_EXTI23_NUMBER 93
172
173/*
174 * I2C units.
175 */
176#define STM32_I2C1_EVENT_HANDLER VectorBC
177#define STM32_I2C1_ERROR_HANDLER VectorC0
178#define STM32_I2C2_EVENT_HANDLER VectorC4
179#define STM32_I2C2_ERROR_HANDLER VectorC8
180#define STM32_I2C3_EVENT_HANDLER Vector160
181#define STM32_I2C3_ERROR_HANDLER Vector164
182#define STM32_I2C4_EVENT_HANDLER Vector1BC
183#define STM32_I2C4_ERROR_HANDLER Vector1C0
184
185#define STM32_I2C1_EVENT_NUMBER 31
186#define STM32_I2C1_ERROR_NUMBER 32
187#define STM32_I2C2_EVENT_NUMBER 33
188#define STM32_I2C2_ERROR_NUMBER 34
189#define STM32_I2C3_EVENT_NUMBER 72
190#define STM32_I2C3_ERROR_NUMBER 73
191#define STM32_I2C4_EVENT_NUMBER 95
192#define STM32_I2C4_ERROR_NUMBER 96
193
194/*
195 * ETH units.
196 */
197#define STM32_ETH_HANDLER Vector134
198
199#define STM32_ETH_NUMBER 61
200
201/*
202 * QUADSPI units.
203 */
204#define STM32_QUADSPI1_HANDLER Vector1B0
205
206#define STM32_QUADSPI1_NUMBER 92
207
208/*
209 * SDMMC units.
210 */
211#define STM32_SDMMC1_HANDLER Vector104
212#define STM32_SDMMC2_HANDLER Vector1DC
213
214#define STM32_SDMMC1_NUMBER 49
215#define STM32_SDMMC2_NUMBER 103
216
217/*
218 * TIM units.
219 */
220#define STM32_TIM1_BRK_TIM9_HANDLER VectorA0
221#define STM32_TIM1_UP_TIM10_HANDLER VectorA4
222#define STM32_TIM1_TRGCO_TIM11_HANDLER VectorA8
223#define STM32_TIM1_CC_HANDLER VectorAC
224#define STM32_TIM2_HANDLER VectorB0
225#define STM32_TIM3_HANDLER VectorB4
226#define STM32_TIM4_HANDLER VectorB8
227#define STM32_TIM5_HANDLER Vector108
228#define STM32_TIM6_HANDLER Vector118
229#define STM32_TIM7_HANDLER Vector11C
230#define STM32_TIM8_BRK_TIM12_HANDLER VectorEC
231#define STM32_TIM8_UP_TIM13_HANDLER VectorF0
232#define STM32_TIM8_TRGCO_TIM14_HANDLER VectorF4
233#define STM32_TIM8_CC_HANDLER VectorF8
234
235#define STM32_TIM1_BRK_TIM9_NUMBER 24
236#define STM32_TIM1_UP_TIM10_NUMBER 25
237#define STM32_TIM1_TRGCO_TIM11_NUMBER 26
238#define STM32_TIM1_CC_NUMBER 27
239#define STM32_TIM2_NUMBER 28
240#define STM32_TIM3_NUMBER 29
241#define STM32_TIM4_NUMBER 30
242#define STM32_TIM5_NUMBER 50
243#define STM32_TIM6_NUMBER 54
244#define STM32_TIM7_NUMBER 55
245#define STM32_TIM8_BRK_TIM12_NUMBER 43
246#define STM32_TIM8_UP_TIM13_NUMBER 44
247#define STM32_TIM8_TRGCO_TIM14_NUMBER 45
248#define STM32_TIM8_CC_NUMBER 46
249
250/*
251 * USART/UART units.
252 */
253#define STM32_USART1_HANDLER VectorD4
254#define STM32_USART2_HANDLER VectorD8
255#define STM32_USART3_HANDLER VectorDC
256#define STM32_UART4_HANDLER Vector110
257#define STM32_UART5_HANDLER Vector114
258#define STM32_USART6_HANDLER Vector15C
259#define STM32_UART7_HANDLER Vector188
260#define STM32_UART8_HANDLER Vector18C
261
262#define STM32_USART1_NUMBER 37
263#define STM32_USART2_NUMBER 38
264#define STM32_USART3_NUMBER 39
265#define STM32_UART4_NUMBER 52
266#define STM32_UART5_NUMBER 53
267#define STM32_USART6_NUMBER 71
268#define STM32_UART7_NUMBER 82
269#define STM32_UART8_NUMBER 83
270
271/*
272 * USB/OTG units.
273 */
274#define STM32_OTG1_HANDLER Vector14C
275#define STM32_OTG2_HANDLER Vector174
276#define STM32_OTG2_EP1OUT_HANDLER Vector168
277#define STM32_OTG2_EP1IN_HANDLER Vector16C
278
279#define STM32_OTG1_NUMBER 67
280#define STM32_OTG2_NUMBER 77
281#define STM32_OTG2_EP1OUT_NUMBER 74
282#define STM32_OTG2_EP1IN_NUMBER 75
283
284/*
285 * FSMC units.
286 */
287#define STM32_FSMC_HANDLER Vector100
288
289#define STM32_FSMC_NUMBER 48
290
291/*
292 * LTDC units.
293 */
294#define STM32_LTDC_EV_HANDLER Vector1A0
295#define STM32_LTDC_ER_HANDLER Vector1A4
296
297#define STM32_LTDC_EV_NUMBER 88
298#define STM32_LTDC_ER_NUMBER 89
299
300/*
301 * DMA2D units.
302 */
303#define STM32_DMA2D_HANDLER Vector1A8
304
305#define STM32_DMA2D_NUMBER 90
306
307/** @} */
308
309/*===========================================================================*/
310/* Driver pre-compile time settings. */
311/*===========================================================================*/
312
313/*===========================================================================*/
314/* Derived constants and error checks. */
315/*===========================================================================*/
316
317/*===========================================================================*/
318/* Driver data structures and types. */
319/*===========================================================================*/
320
321/*===========================================================================*/
322/* Driver macros. */
323/*===========================================================================*/
324
325/*===========================================================================*/
326/* External declarations. */
327/*===========================================================================*/
328
329#ifdef __cplusplus
330extern "C" {
331#endif
332 void irqInit(void);
333 void irqDeinit(void);
334#ifdef __cplusplus
335}
336#endif
337
338#endif /* STM32_ISR_H */
339
340/** @} */