aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios/os/hal/ports/STM32/STM32L4xx/stm32_isr.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios/os/hal/ports/STM32/STM32L4xx/stm32_isr.c')
-rw-r--r--lib/chibios/os/hal/ports/STM32/STM32L4xx/stm32_isr.c159
1 files changed, 159 insertions, 0 deletions
diff --git a/lib/chibios/os/hal/ports/STM32/STM32L4xx/stm32_isr.c b/lib/chibios/os/hal/ports/STM32/STM32L4xx/stm32_isr.c
new file mode 100644
index 000000000..68ab519f9
--- /dev/null
+++ b/lib/chibios/os/hal/ports/STM32/STM32L4xx/stm32_isr.c
@@ -0,0 +1,159 @@
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 STM32L4xx/stm32_isr.c
19 * @brief STM32L4xx ISR handler code.
20 *
21 * @addtogroup STM32L4xx_ISR
22 * @{
23 */
24
25#include "hal.h"
26
27/*===========================================================================*/
28/* Driver local definitions. */
29/*===========================================================================*/
30
31/*===========================================================================*/
32/* Driver exported variables. */
33/*===========================================================================*/
34
35/*===========================================================================*/
36/* Driver local variables. */
37/*===========================================================================*/
38
39/*===========================================================================*/
40/* Driver local functions. */
41/*===========================================================================*/
42
43#define exti_serve_irq(pr, channel) { \
44 \
45 if ((pr) & (1U << (channel))) { \
46 _pal_isr_code(channel); \
47 } \
48}
49
50/*===========================================================================*/
51/* Driver interrupt handlers. */
52/*===========================================================================*/
53
54#include "stm32_exti0.inc"
55#include "stm32_exti1.inc"
56#include "stm32_exti2.inc"
57#include "stm32_exti3.inc"
58#include "stm32_exti4.inc"
59#include "stm32_exti5_9.inc"
60#include "stm32_exti10_15.inc"
61#include "stm32_exti16-35_38.inc"
62#include "stm32_exti18.inc"
63#include "stm32_exti19.inc"
64#include "stm32_exti20.inc"
65#include "stm32_exti21_22.inc"
66
67#include "stm32_usart1.inc"
68#include "stm32_usart2.inc"
69#include "stm32_usart3.inc"
70#include "stm32_uart4.inc"
71#include "stm32_uart5.inc"
72#include "stm32_lpuart1.inc"
73
74#include "stm32_tim1_15_16_17.inc"
75#include "stm32_tim2.inc"
76#include "stm32_tim3.inc"
77#include "stm32_tim4.inc"
78#include "stm32_tim5.inc"
79#include "stm32_tim6.inc"
80#include "stm32_tim7.inc"
81#include "stm32_tim8.inc"
82
83/*===========================================================================*/
84/* Driver exported functions. */
85/*===========================================================================*/
86
87/**
88 * @brief Enables IRQ sources.
89 *
90 * @notapi
91 */
92void irqInit(void) {
93
94 exti0_irq_init();
95 exti1_irq_init();
96 exti2_irq_init();
97 exti3_irq_init();
98 exti4_irq_init();
99 exti5_9_irq_init();
100 exti10_15_irq_init();
101 exti16_exti35_38_irq_init();
102 exti18_irq_init();
103 exti19_irq_init();
104 exti21_22_irq_init();
105
106 tim1_tim15_tim16_tim17_irq_init();
107 tim2_irq_init();
108 tim3_irq_init();
109 tim4_irq_init();
110 tim5_irq_init();
111 tim6_irq_init();
112 tim7_irq_init();
113 tim8_irq_init();
114
115 usart1_irq_init();
116 usart2_irq_init();
117 usart3_irq_init();
118 uart4_irq_init();
119 uart5_irq_init();
120 lpuart1_irq_init();
121}
122
123/**
124 * @brief Disables IRQ sources.
125 *
126 * @notapi
127 */
128void irqDeinit(void) {
129
130 exti0_irq_deinit();
131 exti1_irq_deinit();
132 exti2_irq_deinit();
133 exti3_irq_deinit();
134 exti4_irq_deinit();
135 exti5_9_irq_deinit();
136 exti10_15_irq_deinit();
137 exti16_exti35_38_irq_deinit();
138 exti18_irq_deinit();
139 exti19_irq_deinit();
140 exti21_22_irq_deinit();
141
142 tim1_tim15_tim16_tim17_irq_deinit();
143 tim2_irq_deinit();
144 tim3_irq_deinit();
145 tim4_irq_deinit();
146 tim5_irq_deinit();
147 tim6_irq_deinit();
148 tim7_irq_deinit();
149 tim8_irq_deinit();
150
151 usart1_irq_deinit();
152 usart2_irq_deinit();
153 usart3_irq_deinit();
154 uart4_irq_deinit();
155 uart5_irq_deinit();
156 lpuart1_irq_deinit();
157}
158
159/** @} */