aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios/os/hal/ports/STM32/STM32F4xx/stm32_isr.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios/os/hal/ports/STM32/STM32F4xx/stm32_isr.h')
-rw-r--r--lib/chibios/os/hal/ports/STM32/STM32F4xx/stm32_isr.h275
1 files changed, 275 insertions, 0 deletions
diff --git a/lib/chibios/os/hal/ports/STM32/STM32F4xx/stm32_isr.h b/lib/chibios/os/hal/ports/STM32/STM32F4xx/stm32_isr.h
new file mode 100644
index 000000000..56b86a12c
--- /dev/null
+++ b/lib/chibios/os/hal/ports/STM32/STM32F4xx/stm32_isr.h
@@ -0,0 +1,275 @@
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 STM32F4xx/stm32_isr.h
19 * @brief STM32F4xx ISR handler header.
20 *
21 * @addtogroup STM32F4xx_ISR
22 * @{
23 */
24
25#ifndef STM32_ISR_H
26#define STM32_ISR_H
27
28/*===========================================================================*/
29/* Driver constants. */
30/*===========================================================================*/
31
32/**
33 * @name ISR names and numbers remapping
34 * @{
35 */
36/*
37 * CAN units.
38 */
39#define STM32_CAN1_TX_HANDLER Vector8C
40#define STM32_CAN1_RX0_HANDLER Vector90
41#define STM32_CAN1_RX1_HANDLER Vector94
42#define STM32_CAN1_SCE_HANDLER Vector98
43#define STM32_CAN2_TX_HANDLER Vector13C
44#define STM32_CAN2_RX0_HANDLER Vector140
45#define STM32_CAN2_RX1_HANDLER Vector144
46#define STM32_CAN2_SCE_HANDLER Vector148
47
48#define STM32_CAN1_TX_NUMBER 19
49#define STM32_CAN1_RX0_NUMBER 20
50#define STM32_CAN1_RX1_NUMBER 21
51#define STM32_CAN1_SCE_NUMBER 22
52#define STM32_CAN2_TX_NUMBER 63
53#define STM32_CAN2_RX0_NUMBER 64
54#define STM32_CAN2_RX1_NUMBER 65
55#define STM32_CAN2_SCE_NUMBER 66
56
57/*
58 * I2C units.
59 */
60#define STM32_I2C1_EVENT_HANDLER VectorBC
61#define STM32_I2C1_ERROR_HANDLER VectorC0
62#define STM32_I2C1_EVENT_NUMBER 31
63#define STM32_I2C1_ERROR_NUMBER 32
64
65#define STM32_I2C2_EVENT_HANDLER VectorC4
66#define STM32_I2C2_ERROR_HANDLER VectorC8
67#define STM32_I2C2_EVENT_NUMBER 33
68#define STM32_I2C2_ERROR_NUMBER 34
69
70#define STM32_I2C3_EVENT_HANDLER Vector160
71#define STM32_I2C3_ERROR_HANDLER Vector164
72#define STM32_I2C3_EVENT_NUMBER 72
73#define STM32_I2C3_ERROR_NUMBER 73
74
75/*
76 * OTG units.
77 */
78#define STM32_OTG1_HANDLER Vector14C
79#define STM32_OTG2_HANDLER Vector174
80#define STM32_OTG2_EP1OUT_HANDLER Vector168
81#define STM32_OTG2_EP1IN_HANDLER Vector16C
82
83#define STM32_OTG1_NUMBER 67
84#define STM32_OTG2_NUMBER 77
85#define STM32_OTG2_EP1OUT_NUMBER 74
86#define STM32_OTG2_EP1IN_NUMBER 75
87
88/*
89 * SDIO unit.
90 */
91#define STM32_SDIO_HANDLER Vector104
92
93#define STM32_SDIO_NUMBER 49
94
95/*
96 * TIM units.
97 */
98#define STM32_TIM1_UP_HANDLER VectorA4
99#define STM32_TIM1_CC_HANDLER VectorAC
100#define STM32_TIM2_HANDLER VectorB0
101#define STM32_TIM3_HANDLER VectorB4
102#define STM32_TIM4_HANDLER VectorB8
103#define STM32_TIM5_HANDLER Vector108
104#define STM32_TIM6_HANDLER Vector118
105#define STM32_TIM7_HANDLER Vector11C
106#define STM32_TIM8_UP_HANDLER VectorF0
107#define STM32_TIM8_CC_HANDLER VectorF8
108#define STM32_TIM9_HANDLER VectorA0
109#define STM32_TIM10_HANDLER VectorA4 /* Note: same as STM32_TIM1_UP */
110#define STM32_TIM11_HANDLER VectorA8
111#define STM32_TIM12_HANDLER VectorEC
112#define STM32_TIM13_HANDLER VectorF0 /* Note: same as STM32_TIM8_UP */
113#define STM32_TIM14_HANDLER VectorF4
114
115#define STM32_TIM1_UP_NUMBER 25
116#define STM32_TIM1_CC_NUMBER 27
117#define STM32_TIM2_NUMBER 28
118#define STM32_TIM3_NUMBER 29
119#define STM32_TIM4_NUMBER 30
120#define STM32_TIM5_NUMBER 50
121#define STM32_TIM6_NUMBER 54
122#define STM32_TIM7_NUMBER 55
123#define STM32_TIM8_UP_NUMBER 44
124#define STM32_TIM8_CC_NUMBER 46
125#define STM32_TIM9_NUMBER 24
126#define STM32_TIM10_NUMBER 25 /* Note: same as STM32_TIM1_UP */
127#define STM32_TIM11_NUMBER 26
128#define STM32_TIM12_NUMBER 43
129#define STM32_TIM13_NUMBER 44 /* Note: same as STM32_TIM8_UP */
130#define STM32_TIM14_NUMBER 45
131
132/*
133 * LPTIM units.
134 */
135#define STM32_LPTIM1_HANDLER Vector1C4
136
137#define STM32_LPTIM1_NUMBER 97
138
139/*
140 * USART units.
141 */
142#define STM32_USART1_HANDLER VectorD4
143#define STM32_USART2_HANDLER VectorD8
144#define STM32_USART3_HANDLER VectorDC
145#define STM32_UART4_HANDLER Vector110
146#define STM32_UART5_HANDLER Vector114
147#define STM32_USART6_HANDLER Vector15C
148#define STM32_UART7_HANDLER Vector188
149#define STM32_UART8_HANDLER Vector18C
150
151#define STM32_USART1_NUMBER 37
152#define STM32_USART2_NUMBER 38
153#define STM32_USART3_NUMBER 39
154#define STM32_UART4_NUMBER 52
155#define STM32_UART5_NUMBER 53
156#define STM32_USART6_NUMBER 71
157#define STM32_UART7_NUMBER 82
158#define STM32_UART8_NUMBER 83
159
160/*
161 * Ethernet
162 */
163#define ETH_IRQHandler Vector134
164
165/*
166 * FSMC
167 */
168#define STM32_FSMC_HANDLER Vector100
169
170#define STM32_FSMC_NUMBER 48
171
172/*
173 * LTDC
174 */
175#define STM32_LTDC_EV_HANDLER Vector1A0
176#define STM32_LTDC_ER_HANDLER Vector1A4
177
178#define STM32_LTDC_EV_NUMBER 88
179#define STM32_LTDC_ER_NUMBER 89
180
181/*
182 * DMA2D
183 */
184#define STM32_DMA2D_HANDLER Vector1A8
185
186#define STM32_DMA2D_NUMBER 90
187
188/** @} */
189
190/*===========================================================================*/
191/* Driver pre-compile time settings. */
192/*===========================================================================*/
193
194/**
195 * @name Configuration options
196 * @{
197 */
198/**
199 * @brief EXTI0 interrupt priority level setting.
200 */
201#if !defined(STM32_IRQ_EXTI0_PRIORITY) || defined(__DOXYGEN__)
202#define STM32_IRQ_EXTI0_PRIORITY 6
203#endif
204
205/**
206 * @brief EXTI1 interrupt priority level setting.
207 */
208#if !defined(STM32_IRQ_EXTI1_PRIORITY) || defined(__DOXYGEN__)
209#define STM32_IRQ_EXTI1_PRIORITY 6
210#endif
211
212/**
213 * @brief EXTI2 interrupt priority level setting.
214 */
215#if !defined(STM32_IRQ_EXTI2_PRIORITY) || defined(__DOXYGEN__)
216#define STM32_IRQ_EXTI2_PRIORITY 6
217#endif
218
219/**
220 * @brief EXTI3 interrupt priority level setting.
221 */
222#if !defined(STM32_IRQ_EXTI3_PRIORITY) || defined(__DOXYGEN__)
223#define STM32_IRQ_EXTI3_PRIORITY 6
224#endif
225
226/**
227 * @brief EXTI4 interrupt priority level setting.
228 */
229#if !defined(STM32_IRQ_EXTI4_PRIORITY) || defined(__DOXYGEN__)
230#define STM32_IRQ_EXTI4_PRIORITY 6
231#endif
232
233/**
234 * @brief EXTI5..9 interrupt priority level setting.
235 */
236#if !defined(STM32_IRQ_EXTI5_9_PRIORITY) || defined(__DOXYGEN__)
237#define STM32_IRQ_EXTI5_9_PRIORITY 6
238#endif
239
240/**
241 * @brief EXTI10..15 interrupt priority level setting.
242 */
243#if !defined(STM32_IRQ_EXTI10_15_PRIORITY) || defined(__DOXYGEN__)
244#define STM32_IRQ_EXTI10_15_PRIORITY 6
245#endif
246/** @} */
247
248/*===========================================================================*/
249/* Derived constants and error checks. */
250/*===========================================================================*/
251
252/*===========================================================================*/
253/* Driver data structures and types. */
254/*===========================================================================*/
255
256/*===========================================================================*/
257/* Driver macros. */
258/*===========================================================================*/
259
260/*===========================================================================*/
261/* External declarations. */
262/*===========================================================================*/
263
264#ifdef __cplusplus
265extern "C" {
266#endif
267 void irqInit(void);
268 void irqDeinit(void);
269#ifdef __cplusplus
270}
271#endif
272
273#endif /* STM32_ISR_H */
274
275/** @} */