~ruther/stm32h747i-disco-usb-image-viewer

ref: d73097e33538bc9b4d5ad1be19e5cba70157f7e4 stm32h747i-disco-usb-image-viewer/firmware/devices/stm32h747/isr.c -rw-r--r-- 21.1 KiB
d73097e3 — Rutherther chore: move firmware to firmware/ folder 3 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
#include <stdint.h>
#include "defines.h"
#define ISR_VECTOR_SIZE_WORDS 166

void reset_handler(void);
void default_handler(void);
void nmi_handler(void) __attribute__((weak, alias("default_handler")));
void hard_fault_handler(void) __attribute__((weak, alias("default_handler")));
void bus_fault_handler(void) __attribute__((weak, alias("default_handler")));
void usage_fault_handler(void) __attribute__((weak, alias("default_handler")));
void svcall_handler(void) __attribute__((weak, alias("default_handler")));
void debug_monitor_handler(void) __attribute__((weak, alias("default_handler")));
void pendsv_handler(void) __attribute__((weak, alias("default_handler")));
void systick_handler(void) __attribute__((weak, alias("default_handler")));
void wwdg_handler(void) __attribute__((weak, alias("default_handler"))); /* window watchdog */
void pvd_pvm_handler(void) __attribute__((weak, alias("default_handler"))); /* pvd through exti line detection */
void rtc_tamp_stamp_css_lse_handler(void) __attribute__((weak, alias("default_handler"))); /* tamper and timestamps through the exti line */
void rtc_wkup_handler(void) __attribute__((weak, alias("default_handler"))); /* rtc wakeup through the exti line */
void flash_handler(void) __attribute__((weak, alias("default_handler"))); /* flash */
void rcc_handler(void) __attribute__((weak, alias("default_handler"))); /* rcc */
void exti0_handler(void) __attribute__((weak, alias("default_handler"))); /* exti line0 */
void exti1_handler(void) __attribute__((weak, alias("default_handler"))); /* exti line1 */
void exti2_handler(void) __attribute__((weak, alias("default_handler"))); /* exti line2 */
void exti3_handler(void) __attribute__((weak, alias("default_handler"))); /* exti line3 */
void exti4_handler(void) __attribute__((weak, alias("default_handler"))); /* exti line4 */
void dma1_stream0_handler(void) __attribute__((weak, alias("default_handler"))); /* dma1 stream 0                */
void dma1_stream1_handler(void) __attribute__((weak, alias("default_handler"))); /* dma1 stream 1                */
void dma1_stream2_handler(void) __attribute__((weak, alias("default_handler"))); /* dma1 stream 2                */
void dma1_stream3_handler(void) __attribute__((weak, alias("default_handler"))); /* dma1 stream 3 */
void dma1_stream4_handler(void) __attribute__((weak, alias("default_handler"))); /* dma1 stream 4 */
void dma1_stream5_handler(void) __attribute__((weak, alias("default_handler"))); /* dma1 stream 5 */
void dma1_stream6_handler(void) __attribute__((weak, alias("default_handler"))); /* dma1 stream 6 */
void adc_1_2_handler(void) __attribute__((weak, alias("default_handler"))); /* adc1, adc2 and adc3s         */
void fccan1_it0_handler(void) __attribute__((weak, alias("default_handler")));
void fccan2_it0_handler(void) __attribute__((weak, alias("default_handler")));
void fccan1_it1_handler(void) __attribute__((weak, alias("default_handler")));
void fccan2_it1_handler(void) __attribute__((weak, alias("default_handler")));
void exti9_5_handler(void) __attribute__((weak, alias("default_handler"))); /* external line[9:5]s          */
void tim1_brk_handler(void) __attribute__((weak, alias("default_handler"))); /* tim1 break and tim9          */
void tim1_up_handler(void) __attribute__((weak, alias("default_handler"))); /* tim1 update and tim10        */
void tim1_trg_com_handler(void) __attribute__((weak, alias("default_handler"))); /* tim1 trigger and commutation and tim11 */
void tim_cc_handler(void) __attribute__((weak, alias("default_handler"))); /* tim1 capture compare         */
void tim2_handler(void) __attribute__((weak, alias("default_handler"))); /* tim2                         */
void tim3_handler(void) __attribute__((weak, alias("default_handler"))); /* tim3                         */
void tim4_handler(void) __attribute__((weak, alias("default_handler"))); /* tim4                         */
void i2c1_ev_handler(void) __attribute__((weak, alias("default_handler"))); /* i2c1 event                   */
void i2c1_er_handler(void) __attribute__((weak, alias("default_handler"))); /* i2c1 error                   */
void i2c2_ev_handler(void) __attribute__((weak, alias("default_handler"))); /* i2c2 event                   */
void i2c2_er_handler(void) __attribute__((weak, alias("default_handler"))); /* i2c2 error                   */
void spi1_handler(void) __attribute__((weak, alias("default_handler"))); /* spi1                         */
void spi2_handler(void) __attribute__((weak, alias("default_handler"))); /* spi2                         */
void usart1_handler(void) __attribute__((weak, alias("default_handler"))); /* usart1                       */
void usart2_handler(void) __attribute__((weak, alias("default_handler"))); /* usart2                       */
void usart3_handler(void) __attribute__((weak, alias("default_handler"))); /* usart3                       */
void exti15_10_handler(void) __attribute__((weak, alias("default_handler"))); /* external line[15:10]s        */
void rtc_alarm_handler(void) __attribute__((weak, alias("default_handler"))); /* rtc alarm (a and b) through exti line */
void tim8_brk_tim12_handler(void) __attribute__((weak, alias("default_handler"))); /* tim8 break and tim12         */
void tim8_up_tim13_handler(void) __attribute__((weak, alias("default_handler"))); /* tim8 update and tim13        */
void tim8_trg_com_tim14_handler(void) __attribute__((weak, alias("default_handler"))); /* tim8 trigger and commutation and tim14 */
void tim8_cc_handler(void) __attribute__((weak, alias("default_handler"))); /* tim8 capture compare         */
void dma1_stream7_handler(void) __attribute__((weak, alias("default_handler"))); /* dma1 stream7                 */
void fmc_handler(void) __attribute__((weak, alias("default_handler"))); /* fmc                          */
void sdmmc1_handler(void) __attribute__((weak, alias("default_handler")));
void tim5_handler(void) __attribute__((weak, alias("default_handler"))); /* tim5                         */
void spi3_handler(void) __attribute__((weak, alias("default_handler"))); /* spi3                         */
void uart4_handler(void) __attribute__((weak, alias("default_handler"))); /* uart4                        */
void uart5_handler(void) __attribute__((weak, alias("default_handler"))); /* uart5                        */
void tim6_dac_handler(void) __attribute__((weak, alias("default_handler"))); /* tim6 and dac1&2 underrun errors */
void tim7_handler(void) __attribute__((weak, alias("default_handler"))); /* tim7                         */
void dma2_stream0_handler(void) __attribute__((weak, alias("default_handler"))); /* dma2 stream 0                */
void dma2_stream1_handler(void) __attribute__((weak, alias("default_handler"))); /* dma2 stream 1                */
void dma2_stream2_handler(void) __attribute__((weak, alias("default_handler"))); /* dma2 stream 2                */
void dma2_stream3_handler(void) __attribute__((weak, alias("default_handler"))); /* dma2 stream 3                */
void dma2_stream4_handler(void) __attribute__((weak, alias("default_handler"))); /* dma2 stream 4                */
void eth_handler(void) __attribute__((weak, alias("default_handler")));
void eth_wkup_handler(void) __attribute__((weak, alias("default_handler")));
void fdcan_cal_handler(void) __attribute__((weak, alias("default_handler")));
void dma2_stream5_handler(void) __attribute__((weak, alias("default_handler"))); /* dma2 stream 5                */
void dma2_stream6_handler(void) __attribute__((weak, alias("default_handler"))); /* dma2 stream 6                */
void dma2_stream7_handler(void) __attribute__((weak, alias("default_handler"))); /* dma2 stream 7                */
void usart6_handler(void) __attribute__((weak, alias("default_handler"))); /* usart6                       */
void i2c3_ev_handler(void) __attribute__((weak, alias("default_handler"))); /* i2c3 event                   */
void i2c3_er_handler(void) __attribute__((weak, alias("default_handler"))); /* i2c3 error                   */
void otg_hs_ep1_out_handler(void) __attribute__((weak, alias("default_handler"))); /* usb otg hs end point 1 out   */
void otg_hs_ep1_in_handler(void) __attribute__((weak, alias("default_handler"))); /* usb otg hs end point 1 in    */
void otg_hs_wkup_handler(void) __attribute__((weak, alias("default_handler"))); /* usb otg hs wakeup through exti */
void otg_hs_handler(void) __attribute__((weak, alias("default_handler"))); /* usb otg hs                   */
void dcmi_handler(void) __attribute__((weak, alias("default_handler"))); /* dcmi                         */
void cryp_handler(void) __attribute__((weak, alias("default_handler")));
void hash_rng_handler(void) __attribute__((weak, alias("default_handler")));
void fpu_handler(void) __attribute__((weak, alias("default_handler"))); /* fpu                          */
void uart7_handler(void) __attribute__((weak, alias("default_handler")));
void uart8_handler(void) __attribute__((weak, alias("default_handler")));
void spi4_handler(void) __attribute__((weak, alias("default_handler"))); /* spi4                         */
void spi5_handler(void) __attribute__((weak, alias("default_handler"))); /* spi5                         */
void spi6_handler(void) __attribute__((weak, alias("default_handler"))); /* spi6                         */
void sai1_handler(void) __attribute__((weak, alias("default_handler"))); /* sai1                         */
void ltdc_handler(void) __attribute__((weak, alias("default_handler")));
void ltdc_er_handler(void) __attribute__((weak, alias("default_handler")));
void dma2d_handler(void) __attribute__((weak, alias("default_handler")));
void sai2_handler(void) __attribute__((weak, alias("default_handler")));
void quadspi_handler(void) __attribute__((weak, alias("default_handler"))); /* quadspi                      */
void lptim1_handler(void) __attribute__((weak, alias("default_handler"))); /* cec                          */
void cec_handler(void) __attribute__((weak, alias("default_handler"))); /* cec                          */
void i2c4_ev_handler(void) __attribute__((weak, alias("default_handler")));
void i2c4_er_handler(void) __attribute__((weak, alias("default_handler")));
void spdif_handler(void) __attribute__((weak, alias("default_handler"))); /* spdif rx                     */
void otg_fs_ep1_out_handler(void) __attribute__((weak, alias("default_handler")));
void otg_fs_ep1_in_handler(void) __attribute__((weak, alias("default_handler")));
void otg_fs_wkup_handler(void) __attribute__((weak, alias("default_handler")));
void otg_fs_handler(void) __attribute__((weak, alias("default_handler")));
void dmamux1_ov_handler(void) __attribute__((weak, alias("default_handler")));
void hrtim1_mst_handler(void) __attribute__((weak, alias("default_handler")));
void hrtim1_tima_handler(void) __attribute__((weak, alias("default_handler")));
void hrtim1_timb_handler(void) __attribute__((weak, alias("default_handler")));
void hrtim1_timc_handler(void) __attribute__((weak, alias("default_handler")));
void hrtim1_timd_handler(void) __attribute__((weak, alias("default_handler")));
void hrtim1_time_handler(void) __attribute__((weak, alias("default_handler")));
void hrtim1_flt_handler(void) __attribute__((weak, alias("default_handler")));
void dfsdm1_flt0_handler(void) __attribute__((weak, alias("default_handler")));
void dfsdm1_flt1_handler(void) __attribute__((weak, alias("default_handler")));
void dfsdm1_flt2_handler(void) __attribute__((weak, alias("default_handler")));
void dfsdm1_flt3_handler(void) __attribute__((weak, alias("default_handler")));
void sai3_handler(void) __attribute__((weak, alias("default_handler")));
void swpmi1_handler(void) __attribute__((weak, alias("default_handler")));
void tim15_handler(void) __attribute__((weak, alias("default_handler")));
void tim16_handler(void) __attribute__((weak, alias("default_handler")));
void tim17_handler(void) __attribute__((weak, alias("default_handler")));
void mdios_wkup_handler(void) __attribute__((weak, alias("default_handler")));
void mdios_handler(void) __attribute__((weak, alias("default_handler")));
void jpeg_handler(void) __attribute__((weak, alias("default_handler")));
void mdma_handler(void) __attribute__((weak, alias("default_handler")));
void dsi_dsi_wkup_handler(void) __attribute__((weak, alias("default_handler")));
void sdmmc2_handler(void) __attribute__((weak, alias("default_handler")));
void hsem0_handler(void) __attribute__((weak, alias("default_handler")));
void adc3_handler(void) __attribute__((weak, alias("default_handler")));
void dmamux2_ovr_handler(void) __attribute__((weak, alias("default_handler")));
void bdma_ch0_handler(void) __attribute__((weak, alias("default_handler")));
void bdma_ch1_handler(void) __attribute__((weak, alias("default_handler")));
void bdma_ch2_handler(void) __attribute__((weak, alias("default_handler")));
void bdma_ch3_handler(void) __attribute__((weak, alias("default_handler")));
void bdma_ch4_handler(void) __attribute__((weak, alias("default_handler")));
void bdma_ch5_handler(void) __attribute__((weak, alias("default_handler")));
void bdma_ch6_handler(void) __attribute__((weak, alias("default_handler")));
void bdma_ch7_handler(void) __attribute__((weak, alias("default_handler")));
void comp_handler(void) __attribute__((weak, alias("default_handler")));
void lptim2_handler(void) __attribute__((weak, alias("default_handler")));
void lptim3_handler(void) __attribute__((weak, alias("default_handler")));
void lptim4_handler(void) __attribute__((weak, alias("default_handler")));
void lptim5_handler(void) __attribute__((weak, alias("default_handler")));
void lptim6_handler(void) __attribute__((weak, alias("default_handler")));
void lpuart_handler(void) __attribute__((weak, alias("default_handler")));
void wwdg2_rst_handler(void) __attribute__((weak, alias("default_handler")));
void crs_handler(void) __attribute__((weak, alias("default_handler")));
void ecc_handler(void) __attribute__((weak, alias("default_handler")));
void sai4_handler(void) __attribute__((weak, alias("default_handler")));
void hold_core_handler(void) __attribute__((weak, alias("default_handler")));
void wkup_handler(void) __attribute__((weak, alias("default_handler")));

uint32_t isr_vector[ISR_VECTOR_SIZE_WORDS] __attribute__((section(".isr_vector"))) = {
  STACK_POINTER_INIT_ADDRESS,
  (uint32_t)&reset_handler,
  (uint32_t)&nmi_handler,
  (uint32_t)&hard_fault_handler,
  (uint32_t)&bus_fault_handler,
  (uint32_t)&usage_fault_handler,
  0,
  0,
  0,
  0,
  0,
  (uint32_t)&svcall_handler,
  (uint32_t)&debug_monitor_handler,
  0,
  (uint32_t)&pendsv_handler,
  (uint32_t)&systick_handler,
  (uint32_t)&wwdg_handler, /* window watchdog */
  (uint32_t)&pvd_pvm_handler, /* pvd through exti line detection */
  (uint32_t)&rtc_tamp_stamp_css_lse_handler, /* tamper and timestamps through the exti line */
  (uint32_t)&rtc_wkup_handler, /* rtc wakeup through the exti line */
  (uint32_t)&flash_handler, /* flash */
  (uint32_t)&rcc_handler, /* rcc */
  (uint32_t)&exti0_handler, /* exti line0 */
  (uint32_t)&exti1_handler, /* exti line1 */
  (uint32_t)&exti2_handler, /* exti line2 */
  (uint32_t)&exti3_handler, /* exti line3 */
  (uint32_t)&exti4_handler, /* exti line4 */
  (uint32_t)&dma1_stream0_handler, /* dma1 stream 0                */
  (uint32_t)&dma1_stream1_handler, /* dma1 stream 1                */
  (uint32_t)&dma1_stream2_handler, /* dma1 stream 2                */
  (uint32_t)&dma1_stream3_handler, /* dma1 stream 3 */
  (uint32_t)&dma1_stream4_handler, /* dma1 stream 4 */
  (uint32_t)&dma1_stream5_handler, /* dma1 stream 5 */
  (uint32_t)&dma1_stream6_handler, /* dma1 stream 6 */
  (uint32_t)&adc_1_2_handler, /* adc1, adc2 and adc3s         */
  (uint32_t)&fccan1_it0_handler,
  (uint32_t)&fccan2_it0_handler,
  (uint32_t)&fccan1_it1_handler,
  (uint32_t)&fccan2_it1_handler,
  (uint32_t)&exti9_5_handler, /* external line[9:5]s          */
  (uint32_t)&tim1_brk_handler, /* tim1 break and tim9          */
  (uint32_t)&tim1_up_handler, /* tim1 update and tim10        */
  (uint32_t)&tim1_trg_com_handler, /* tim1 trigger and commutation and tim11 */
  (uint32_t)&tim_cc_handler, /* tim1 capture compare         */
  (uint32_t)&tim2_handler, /* tim2                         */
  (uint32_t)&tim3_handler, /* tim3                         */
  (uint32_t)&tim4_handler, /* tim4                         */
  (uint32_t)&i2c1_ev_handler, /* i2c1 event                   */
  (uint32_t)&i2c1_er_handler, /* i2c1 error                   */
  (uint32_t)&i2c2_ev_handler, /* i2c2 event                   */
  (uint32_t)&i2c2_er_handler, /* i2c2 error                   */
  (uint32_t)&spi1_handler, /* spi1                         */
  (uint32_t)&spi2_handler, /* spi2                         */
  (uint32_t)&usart1_handler, /* usart1                       */
  (uint32_t)&usart2_handler, /* usart2                       */
  (uint32_t)&usart3_handler, /* usart3                       */
  (uint32_t)&exti15_10_handler, /* external line[15:10]s        */
  (uint32_t)&rtc_alarm_handler, /* rtc alarm (a and b) through exti line */
  0,
  (uint32_t)&tim8_brk_tim12_handler, /* tim8 break and tim12         */
  (uint32_t)&tim8_up_tim13_handler, /* tim8 update and tim13        */
  (uint32_t)&tim8_trg_com_tim14_handler, /* tim8 trigger and commutation and tim14 */
  (uint32_t)&tim8_cc_handler, /* tim8 capture compare         */
  (uint32_t)&dma1_stream7_handler, /* dma1 stream7                 */
  (uint32_t)&fmc_handler, /* fmc                          */
  (uint32_t)&sdmmc1_handler,
  (uint32_t)&tim5_handler, /* tim5                         */
  (uint32_t)&spi3_handler, /* spi3                         */
  (uint32_t)&uart4_handler, /* uart4                        */
  (uint32_t)&uart5_handler, /* uart5                        */
  (uint32_t)&tim6_dac_handler, /* tim6 and dac1&2 underrun errors */
  (uint32_t)&tim7_handler, /* tim7                         */
  (uint32_t)&dma2_stream0_handler, /* dma2 stream 0                */
  (uint32_t)&dma2_stream1_handler, /* dma2 stream 1                */
  (uint32_t)&dma2_stream2_handler, /* dma2 stream 2                */
  (uint32_t)&dma2_stream3_handler, /* dma2 stream 3                */
  (uint32_t)&dma2_stream4_handler, /* dma2 stream 4                */
  (uint32_t)&eth_handler,
  (uint32_t)&eth_wkup_handler,
  (uint32_t)&fdcan_cal_handler,
  0,
  0,
  0,
  0,
  (uint32_t)&dma2_stream5_handler, /* dma2 stream 5                */
  (uint32_t)&dma2_stream6_handler, /* dma2 stream 6                */
  (uint32_t)&dma2_stream7_handler, /* dma2 stream 7                */
  (uint32_t)&usart6_handler, /* usart6                       */
  (uint32_t)&i2c3_ev_handler, /* i2c3 event                   */
  (uint32_t)&i2c3_er_handler, /* i2c3 error                   */
  (uint32_t)&otg_hs_ep1_out_handler, /* usb otg hs end point 1 out   */
  (uint32_t)&otg_hs_ep1_in_handler, /* usb otg hs end point 1 in    */
  (uint32_t)&otg_hs_wkup_handler, /* usb otg hs wakeup through exti */
  (uint32_t)&otg_hs_handler, /* usb otg hs                   */
  (uint32_t)&dcmi_handler, /* dcmi                         */
  (uint32_t)&cryp_handler,
  (uint32_t)&hash_rng_handler,
  (uint32_t)&fpu_handler, /* fpu                          */
  (uint32_t)&uart7_handler,
  (uint32_t)&uart8_handler,
  (uint32_t)&spi4_handler, /* spi4                         */
  (uint32_t)&spi5_handler, /* spi5                         */
  (uint32_t)&spi6_handler, /* spi6                         */
  (uint32_t)&sai1_handler, /* sai1                         */
  (uint32_t)&ltdc_handler,
  (uint32_t)&ltdc_er_handler,
  (uint32_t)&dma2d_handler,
  (uint32_t)&sai2_handler,
  (uint32_t)&quadspi_handler, /* quadspi                      */
  (uint32_t)&lptim1_handler, /* cec                          */
  (uint32_t)&cec_handler, /* cec                          */
  (uint32_t)&i2c4_ev_handler,
  (uint32_t)&i2c4_er_handler,
  (uint32_t)&spdif_handler, /* spdif rx                     */
  (uint32_t)&otg_fs_ep1_out_handler,
  (uint32_t)&otg_fs_ep1_in_handler,
  (uint32_t)&otg_fs_wkup_handler,
  (uint32_t)&otg_fs_handler,
  (uint32_t)&dmamux1_ov_handler,
  (uint32_t)&hrtim1_mst_handler,
  (uint32_t)&hrtim1_tima_handler,
  (uint32_t)&hrtim1_timb_handler,
  (uint32_t)&hrtim1_timc_handler,
  (uint32_t)&hrtim1_timd_handler,
  (uint32_t)&hrtim1_time_handler,
  (uint32_t)&hrtim1_flt_handler,
  (uint32_t)&dfsdm1_flt0_handler,
  (uint32_t)&dfsdm1_flt1_handler,
  (uint32_t)&dfsdm1_flt2_handler,
  (uint32_t)&dfsdm1_flt3_handler,
  (uint32_t)&sai3_handler,
  (uint32_t)&swpmi1_handler,
  (uint32_t)&tim15_handler,
  (uint32_t)&tim16_handler,
  (uint32_t)&tim17_handler,
  (uint32_t)&mdios_wkup_handler,
  (uint32_t)&mdios_handler,
  (uint32_t)&jpeg_handler,
  (uint32_t)&mdma_handler,
  (uint32_t)&dsi_dsi_wkup_handler,
  (uint32_t)&sdmmc2_handler,
  (uint32_t)&hsem0_handler,
  0,
  (uint32_t)&adc3_handler,
  (uint32_t)&dmamux2_ovr_handler,
  (uint32_t)&bdma_ch0_handler,
  (uint32_t)&bdma_ch1_handler,
  (uint32_t)&bdma_ch2_handler,
  (uint32_t)&bdma_ch3_handler,
  (uint32_t)&bdma_ch4_handler,
  (uint32_t)&bdma_ch5_handler,
  (uint32_t)&bdma_ch6_handler,
  (uint32_t)&bdma_ch7_handler,
  (uint32_t)&comp_handler,
  (uint32_t)&lptim2_handler,
  (uint32_t)&lptim3_handler,
  (uint32_t)&lptim4_handler,
  (uint32_t)&lptim5_handler,
  (uint32_t)&lpuart_handler,
  (uint32_t)&wwdg2_rst_handler,
  (uint32_t)&crs_handler,
  (uint32_t)&ecc_handler,
  (uint32_t)&sai4_handler,
  0,
  (uint32_t)&hold_core_handler,
  (uint32_t)&wkup_handler
};

void default_handler(void)
{
  while(1);
}
Do not follow this link