diff options
Diffstat (limited to 'lib/chibios/os/hal/ports/STM32/STM32F37x/stm32_isr.h')
-rw-r--r-- | lib/chibios/os/hal/ports/STM32/STM32F37x/stm32_isr.h | 243 |
1 files changed, 243 insertions, 0 deletions
diff --git a/lib/chibios/os/hal/ports/STM32/STM32F37x/stm32_isr.h b/lib/chibios/os/hal/ports/STM32/STM32F37x/stm32_isr.h new file mode 100644 index 000000000..7690f7d97 --- /dev/null +++ b/lib/chibios/os/hal/ports/STM32/STM32F37x/stm32_isr.h | |||
@@ -0,0 +1,243 @@ | |||
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 STM32F37x/stm32_isr.h | ||
19 | * @brief STM32F37x ISR handler header. | ||
20 | * | ||
21 | * @addtogroup STM32F37x_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 | |||
44 | #define STM32_CAN1_TX_NUMBER 19 | ||
45 | #define STM32_CAN1_RX0_NUMBER 20 | ||
46 | #define STM32_CAN1_RX1_NUMBER 21 | ||
47 | #define STM32_CAN1_SCE_NUMBER 22 | ||
48 | |||
49 | /* | ||
50 | * I2C units. | ||
51 | */ | ||
52 | #define STM32_I2C1_EVENT_HANDLER VectorBC | ||
53 | #define STM32_I2C1_ERROR_HANDLER VectorC0 | ||
54 | #define STM32_I2C1_EVENT_NUMBER 31 | ||
55 | #define STM32_I2C1_ERROR_NUMBER 32 | ||
56 | |||
57 | #define STM32_I2C2_EVENT_HANDLER VectorC4 | ||
58 | #define STM32_I2C2_ERROR_HANDLER VectorC8 | ||
59 | #define STM32_I2C2_EVENT_NUMBER 33 | ||
60 | #define STM32_I2C2_ERROR_NUMBER 34 | ||
61 | |||
62 | /* | ||
63 | * TIM units. | ||
64 | */ | ||
65 | #define STM32_TIM2_HANDLER VectorB0 | ||
66 | #define STM32_TIM3_HANDLER VectorB4 | ||
67 | #define STM32_TIM4_HANDLER VectorB8 | ||
68 | #define STM32_TIM5_HANDLER Vector108 | ||
69 | #define STM32_TIM6_HANDLER Vector118 | ||
70 | #define STM32_TIM7_HANDLER Vector11C | ||
71 | #define STM32_TIM12_HANDLER VectorEC | ||
72 | #define STM32_TIM13_HANDLER VectorF0 | ||
73 | #define STM32_TIM14_HANDLER VectorF4 | ||
74 | #define STM32_TIM15_HANDLER VectorA0 | ||
75 | #define STM32_TIM16_HANDLER VectorA4 | ||
76 | #define STM32_TIM17_HANDLER VectorA8 | ||
77 | #define STM32_TIM18_HANDLER VectorAC | ||
78 | #define STM32_TIM19_HANDLER Vector178 | ||
79 | |||
80 | #define STM32_TIM2_NUMBER 28 | ||
81 | #define STM32_TIM3_NUMBER 29 | ||
82 | #define STM32_TIM4_NUMBER 30 | ||
83 | #define STM32_TIM5_NUMBER 50 | ||
84 | #define STM32_TIM6_NUMBER 54 | ||
85 | #define STM32_TIM7_NUMBER 55 | ||
86 | #define STM32_TIM12_NUMBER 43 | ||
87 | #define STM32_TIM13_NUMBER 44 | ||
88 | #define STM32_TIM14_NUMBER 45 | ||
89 | #define STM32_TIM15_NUMBER 24 | ||
90 | #define STM32_TIM16_NUMBER 25 | ||
91 | #define STM32_TIM17_NUMBER 26 | ||
92 | #define STM32_TIM18_NUMBER 27 | ||
93 | #define STM32_TIM19_NUMBER 78 | ||
94 | |||
95 | /* | ||
96 | * USART units. | ||
97 | */ | ||
98 | #define STM32_USART1_HANDLER VectorD4 | ||
99 | #define STM32_USART2_HANDLER VectorD8 | ||
100 | #define STM32_USART3_HANDLER VectorDC | ||
101 | |||
102 | #define STM32_USART1_NUMBER 37 | ||
103 | #define STM32_USART2_NUMBER 38 | ||
104 | #define STM32_USART3_NUMBER 39 | ||
105 | |||
106 | /* | ||
107 | * USB units. | ||
108 | */ | ||
109 | #define STM32_USB1_HP_HANDLER Vector168 | ||
110 | #define STM32_USB1_LP_HANDLER Vector16C | ||
111 | |||
112 | #define STM32_USB1_HP_NUMBER 74 | ||
113 | #define STM32_USB1_LP_NUMBER 75 | ||
114 | /** @} */ | ||
115 | |||
116 | /*===========================================================================*/ | ||
117 | /* Driver pre-compile time settings. */ | ||
118 | /*===========================================================================*/ | ||
119 | |||
120 | /** | ||
121 | * @name Configuration options | ||
122 | * @{ | ||
123 | */ | ||
124 | /** | ||
125 | * @brief EXTI0 interrupt priority level setting. | ||
126 | */ | ||
127 | #if !defined(STM32_IRQ_EXTI0_PRIORITY) || defined(__DOXYGEN__) | ||
128 | #define STM32_IRQ_EXTI0_PRIORITY 6 | ||
129 | #endif | ||
130 | |||
131 | /** | ||
132 | * @brief EXTI1 interrupt priority level setting. | ||
133 | */ | ||
134 | #if !defined(STM32_IRQ_EXTI1_PRIORITY) || defined(__DOXYGEN__) | ||
135 | #define STM32_IRQ_EXTI1_PRIORITY 6 | ||
136 | #endif | ||
137 | |||
138 | /** | ||
139 | * @brief EXTI2 interrupt priority level setting. | ||
140 | */ | ||
141 | #if !defined(STM32_IRQ_EXTI2_PRIORITY) || defined(__DOXYGEN__) | ||
142 | #define STM32_IRQ_EXTI2_PRIORITY 6 | ||
143 | #endif | ||
144 | |||
145 | /** | ||
146 | * @brief EXTI3 interrupt priority level setting. | ||
147 | */ | ||
148 | #if !defined(STM32_IRQ_EXTI3_PRIORITY) || defined(__DOXYGEN__) | ||
149 | #define STM32_IRQ_EXTI3_PRIORITY 6 | ||
150 | #endif | ||
151 | |||
152 | /** | ||
153 | * @brief EXTI4 interrupt priority level setting. | ||
154 | */ | ||
155 | #if !defined(STM32_IRQ_EXTI4_PRIORITY) || defined(__DOXYGEN__) | ||
156 | #define STM32_IRQ_EXTI4_PRIORITY 6 | ||
157 | #endif | ||
158 | |||
159 | /** | ||
160 | * @brief EXTI5..9 interrupt priority level setting. | ||
161 | */ | ||
162 | #if !defined(STM32_IRQ_EXTI5_9_PRIORITY) || defined(__DOXYGEN__) | ||
163 | #define STM32_IRQ_EXTI5_9_PRIORITY 6 | ||
164 | #endif | ||
165 | |||
166 | /** | ||
167 | * @brief EXTI10..15 interrupt priority level setting. | ||
168 | */ | ||
169 | #if !defined(STM32_IRQ_EXTI10_15_PRIORITY) || defined(__DOXYGEN__) | ||
170 | #define STM32_IRQ_EXTI10_15_PRIORITY 6 | ||
171 | #endif | ||
172 | |||
173 | /** | ||
174 | * @brief EXTI16 interrupt priority level setting. | ||
175 | */ | ||
176 | #if !defined(STM32_IRQ_EXTI16_PRIORITY) || defined(__DOXYGEN__) | ||
177 | #define STM32_IRQ_EXTI16_PRIORITY 6 | ||
178 | #endif | ||
179 | |||
180 | /** | ||
181 | * @brief EXTI17 interrupt priority level setting. | ||
182 | */ | ||
183 | #if !defined(STM32_IRQ_EXTI17_PRIORITY) || defined(__DOXYGEN__) | ||
184 | #define STM32_IRQ_EXTI17_PRIORITY 6 | ||
185 | #endif | ||
186 | |||
187 | /** | ||
188 | * @brief EXTI18 interrupt priority level setting. | ||
189 | */ | ||
190 | #if !defined(STM32_IRQ_EXTI18_PRIORITY) || defined(__DOXYGEN__) | ||
191 | #define STM32_IRQ_EXTI18_PRIORITY 6 | ||
192 | #endif | ||
193 | |||
194 | /** | ||
195 | * @brief EXTI19 interrupt priority level setting. | ||
196 | */ | ||
197 | #if !defined(STM32_IRQ_EXTI19_PRIORITY) || defined(__DOXYGEN__) | ||
198 | #define STM32_IRQ_EXTI19_PRIORITY 6 | ||
199 | #endif | ||
200 | |||
201 | /** | ||
202 | * @brief EXTI20 interrupt priority level setting. | ||
203 | */ | ||
204 | #if !defined(STM32_IRQ_EXTI20_PRIORITY) || defined(__DOXYGEN__) | ||
205 | #define STM32_IRQ_EXTI20_PRIORITY 6 | ||
206 | #endif | ||
207 | |||
208 | /** | ||
209 | * @brief EXTI21..22 interrupt priority level setting. | ||
210 | */ | ||
211 | #if !defined(STM32_IRQ_EXTI21_22_PRIORITY) || defined(__DOXYGEN__) | ||
212 | #define STM32_IRQ_EXTI21_22_PRIORITY 6 | ||
213 | #endif | ||
214 | /** @} */ | ||
215 | |||
216 | /*===========================================================================*/ | ||
217 | /* Derived constants and error checks. */ | ||
218 | /*===========================================================================*/ | ||
219 | |||
220 | /*===========================================================================*/ | ||
221 | /* Driver data structures and types. */ | ||
222 | /*===========================================================================*/ | ||
223 | |||
224 | /*===========================================================================*/ | ||
225 | /* Driver macros. */ | ||
226 | /*===========================================================================*/ | ||
227 | |||
228 | /*===========================================================================*/ | ||
229 | /* External declarations. */ | ||
230 | /*===========================================================================*/ | ||
231 | |||
232 | #ifdef __cplusplus | ||
233 | extern "C" { | ||
234 | #endif | ||
235 | void irqInit(void); | ||
236 | void irqDeinit(void); | ||
237 | #ifdef __cplusplus | ||
238 | } | ||
239 | #endif | ||
240 | |||
241 | #endif /* STM32_ISR_H */ | ||
242 | |||
243 | /** @} */ | ||