aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios/os/hal/ports/STM32/STM32F37x/stm32_isr.h
diff options
context:
space:
mode:
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.h243
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
233extern "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/** @} */