1{
2Register definitions and utility code for STM32F429
3
4Created by Jeppe Johansen 2015 - jeppe@j-software.dk
5}
6unit stm32f429;
7
8{$goto on}
9
10interface
11
12{$PACKRECORDS 2}
13const
14 PeripheralBase 	= $40000000;
15
16 FSMC_Base = $A0000000;
17 RNG_Base = $50060800;
18 HASH_Base = $50060400;
19 CRYP_Base = $50060000;
20 DCMI_Base = $50050000;
21 USB_OTG_FS_Base = $50000000;
22 USB_OTG_HS_Base = $40040000;
23 DMA2D_Base = $4002B000;
24 ETHERNET_Base = $40026400;
25 DMA2_Base = $40026400;
26 DMA1_Base = $40026000;
27 BKPSRAM_Base = $40024000;
28 FLASH_Base = $40023C00;
29 RCC_Base = $40023800;
30 CRC_Base = $40023000;
31 GPIOK_Base = $40022800;
32 GPIOJ_Base = $40022400;
33 GPIOI_Base = $40022000;
34 GPIOH_Base = $40021C00;
35 GPIOG_Base = $40021800;
36 GPIOF_Base = $40021400;
37 GPIOE_Base = $40021000;
38 GPIOD_Base = $40020C00;
39 GPIOC_Base = $40020800;
40 GPIOB_Base = $40020400;
41 GPIOA_Base = $40020000;
42 LCD_TFT_Base = $40016800;
43 SAI1_Base = $40015800;
44 SPI6_Base = $40015400;
45 SPI5_Base = $40015000;
46 TIM11_Base = $40014800;
47 TIM10_Base = $40014400;
48 TIM9_Base = $40014000;
49 EXTI_Base = $40013C00;
50 SYSCFG_Base = $40013800;
51 SPI4_Base = $40013400;
52 SPI1_Base = $40013000;
53 SDIO_Base = $40012C00;
54 ADC_Base = $40012000;
55 USART6_Base = $40011600;
56 USART1_Base = $40011000;
57 TIM8_Base = $40010400;
58 TIM1_Base = $40010000;
59 UART8_Base = $40007C00;
60 UART7_Base = $40007800;
61 DAC_Base = $40007400;
62 PWR_Base = $40007000;
63 CAN2_Base = $40006800;
64 CAN1_Base = $40006400;
65 I2C3_Base = $40005C00;
66 I2C2_Base = $40005800;
67 I2C1_Base = $40005400;
68 UART5_Base = $40005000;
69 UART4_Base = $40004C00;
70 USART3_Base = $40004800;
71 USART2_Base = $40004400;
72 I2S3ext_Base = $40004000;
73 SPI3_Base = $40003C00;
74 SPI2_Base = $40003800;
75 I2S2ext_Base = $40003400;
76 IWDG_Base = $40003000;
77 WWDG_Base = $40002C00;
78 RTC_Base = $40002800;
79 TIM14_Base = $40002000;
80 TIM13_Base = $40001C00;
81 TIM12_Base = $40001800;
82 TIM7_Base = $40001400;
83 TIM6_Base = $40001000;
84 TIM5_Base = $40000C00;
85 TIM4_Base = $40000800;
86 TIM3_Base = $40000400;
87 TIM2_Base = $40000000;
88
89type
90 TPortRegisters = record
91  MODER,
92  OTYPER,
93  OSPEEDER,
94  PUPDR,
95  IDR,
96  ODR,
97  BSRR,
98  LCKR,
99  AFRL,
100  AFRH: longword;
101 end;
102
103 TRCCRegister = record
104  CR,
105  PLLCFGR,
106  CFGR,
107  CIR,
108  AHB1RSTR,
109  AHB2RSTR,
110  AHB3RSTR,
111  _res0,
112  APB1RSTR,
113  APB2RSTR,
114  _res1,_res2,
115  AHB1ENR,
116  AHB2ENR,
117  AHB3ENR,
118  _res3,
119  APB1ENR,
120  APB2ENR,
121  _res4,_res5,
122  AHB1LPENR,
123  AHB2LPENR,
124  AHB3LPENR,
125  _res6,
126  APB1LPENR,
127  APB2LPENR,
128  _res7,_res8,
129  BDCR,
130  CSR,
131  _res9,_res10,
132  SSCGR,
133  PLLI2SCFGR,
134  PLLSAICFGR,
135  DCKCFGR: longword;
136 end;
137
138 TPWRRegisters = record
139  CR,
140  CSR: longword;
141 end;
142
143{$ALIGN 2}
144var
145 { GPIO }
146 PortA: TPortRegisters		absolute GPIOA_Base;
147 PortB: TPortRegisters		absolute GPIOB_Base;
148 PortC: TPortRegisters		absolute GPIOC_Base;
149 PortD: TPortRegisters		absolute GPIOD_Base;
150 PortE: TPortRegisters		absolute GPIOE_Base;
151 PortF: TPortRegisters		absolute GPIOF_Base;
152 PortG: TPortRegisters		absolute GPIOG_Base;
153 PortH: TPortRegisters		absolute GPIOH_Base;
154 PortI: TPortRegisters		absolute GPIOI_Base;
155 PortJ: TPortRegisters		absolute GPIOJ_Base;
156 PortK: TPortRegisters		absolute GPIOK_Base;
157
158 { RCC }
159 RCC: TRCCRegister        absolute RCC_Base;
160
161 { PWR }
162 PWR: TPWRRegisters       absolute PWR_Base;
163
164implementation
165
166procedure NMI_interrupt; external name 'NMI_interrupt';
167procedure Hardfault_interrupt; external name 'Hardfault_interrupt';
168procedure MemManage_interrupt; external name 'MemManage_interrupt';
169procedure BusFault_interrupt; external name 'BusFault_interrupt';
170procedure UsageFault_interrupt; external name 'UsageFault_interrupt';
171procedure SWI_interrupt; external name 'SWI_interrupt';
172procedure DebugMonitor_interrupt; external name 'DebugMonitor_interrupt';
173procedure PendingSV_interrupt; external name 'PendingSV_interrupt';
174procedure SysTick_interrupt; external name 'SysTick_interrupt';
175
176procedure WWDG_interrupt; external name 'WWDG_interrupt';
177procedure PVD_interrupt; external name 'PVD_interrupt';
178procedure TAMP_STAMP_interrupt; external name 'TAMP_STAMP_interrupt';
179procedure RTC_WKUP_interrupt; external name 'RTC_WKUP_interrupt';
180procedure FLASH_interrupt; external name 'FLASH_interrupt';
181procedure RCC_interrupt; external name 'RCC_interrupt';
182procedure EXTI0_interrupt; external name 'EXTI0_interrupt';
183procedure EXTI1_interrupt; external name 'EXTI1_interrupt';
184procedure EXTI2_interrupt; external name 'EXTI2_interrupt';
185procedure EXTI3_interrupt; external name 'EXTI3_interrupt';
186procedure EXTI4_interrupt; external name 'EXTI4_interrupt';
187procedure DMA1_Channel0_interrupt; external name 'DMA1_Channel0_interrupt';
188procedure DMA1_Channel1_interrupt; external name 'DMA1_Channel1_interrupt';
189procedure DMA1_Channel2_interrupt; external name 'DMA1_Channel2_interrupt';
190procedure DMA1_Channel3_interrupt; external name 'DMA1_Channel3_interrupt';
191procedure DMA1_Channel4_interrupt; external name 'DMA1_Channel4_interrupt';
192procedure DMA1_Channel5_interrupt; external name 'DMA1_Channel5_interrupt';
193procedure DMA1_Channel6_interrupt; external name 'DMA1_Channel6_interrupt';
194procedure ADC1_2_3_interrupt; external name 'ADC1_2_3_interrupt';
195procedure CAN1_TX_interrupt; external name 'CAN1_TX_interrupt';
196procedure CAN1_RX0_interrupt; external name 'CAN1_RX0_interrupt';
197procedure CAN1_RX1_interrupt; external name 'CAN1_RX1_interrupt';
198procedure CAN1_SCE_interrupt; external name 'CAN1_SCE_interrupt';
199procedure EXTI9_5_interrupt; external name 'EXTI9_5_interrupt';
200procedure TIM1_BRK_TIM9_interrupt; external name 'TIM1_BRK_TIM9_interrupt';
201procedure TIM1_UP_TIM10_interrupt; external name 'TIM1_UP_TIM10_interrupt';
202procedure TIM1_TRG_COM_TIM11_interruptirq; external name 'TIM1_TRG_COM_TIM11_interruptirq';
203procedure TIM1_CC_interrupt; external name 'TIM1_CC_interrupt';
204procedure TIM2_interrupt; external name 'TIM2_interrupt';
205procedure TIM3_interrupt; external name 'TIM3_interrupt';
206procedure TIM4_interrupt; external name 'TIM4_interrupt';
207procedure I2C1_EV_interrupt; external name 'I2C1_EV_interrupt';
208procedure I2C1_ER_interrupt; external name 'I2C1_ER_interrupt';
209procedure I2C2_EV_interrupt; external name 'I2C2_EV_interrupt';
210procedure I2C2_ER_interrupt; external name 'I2C2_ER_interrupt';
211procedure SPI1_interrupt; external name 'SPI1_interrupt';
212procedure SPI2_interrupt; external name 'SPI2_interrupt';
213procedure USART1_interrupt; external name 'USART1_interrupt';
214procedure USART2_interrupt; external name 'USART2_interrupt';
215procedure USART3_interrupt; external name 'USART3_interrupt';
216procedure EXTI15_10_interrupt; external name 'EXTI15_10_interrupt';
217procedure RTCAlarm_interrupt; external name 'RTCAlarm_interrupt';
218procedure OTG_FS_WKUP_interrupt; external name 'OTG_FS_WKUP_interrupt';
219procedure TIM8_BRK_TIM12_interrupt; external name 'TIM8_BRK_TIM12_interrupt';
220procedure TIM8_UP_TIM13_interrupt; external name 'TIM8_UP_TIM13_interrupt';
221procedure TIM8_TRG_COM_TIM14_interrupt; external name 'TIM8_TRG_COM_TIM14_interrupt';
222procedure TIM8_CC_interrupt; external name 'TIM8_CC_interrupt';
223procedure DMA1_Stream7_interrupt; external name 'DMA1_Stream7_interrupt';
224procedure FSMC_interrupt; external name 'FSMC_interrupt';
225procedure SDIO_interrupt; external name 'SDIO_interrupt';
226procedure TIM5_interrupt; external name 'TIM5_interrupt';
227procedure SPI3_interrupt; external name 'SPI3_interrupt';
228procedure UART4_interrupt; external name 'UART4_interrupt';
229procedure UART5_interrupt; external name 'UART5_interrupt';
230procedure TIM6_DAC1_2_interrupt; external name 'TIM6_DAC1_2_interrupt';
231procedure TIM7_interrupt; external name 'TIM7_interrupt';
232procedure DMA2_Stream0_interrupt; external name 'DMA2_Stream0_interrupt';
233procedure DMA2_Stream1_interrupt; external name 'DMA2_Stream1_interrupt';
234procedure DMA2_Stream2_interrupt; external name 'DMA2_Stream2_interrupt';
235procedure DMA2_Stream3_interrupt; external name 'DMA2_Stream3_interrupt';
236procedure DMA2_Stream4_interrupt; external name 'DMA2_Stream4_interrupt';
237procedure ETH_interrupt; external name 'ETH_interrupt';
238procedure ETHWKUP_interrupt; external name 'ETHWKUP_interrupt';
239procedure CAN2_TX_interrupt; external name 'CAN2_TX_interrupt';
240procedure CAN2_RX0_interrupt; external name 'CAN2_RX0_interrupt';
241procedure CAN2_RX1_interrupt; external name 'CAN2_RX1_interrupt';
242procedure CAN2_SCE_interrupt; external name 'CAN2_SCE_interrupt';
243procedure OTG_FS_interrupt; external name 'OTG_FS_interrupt';
244procedure DMA2_Stream5_interrupt; external name 'DMA2_Stream5_interrupt';
245procedure DMA2_Stream6_interrupt; external name 'DMA2_Stream6_interrupt';
246procedure DMA2_Stream7_interrupt; external name 'DMA2_Stream7_interrupt';
247procedure USART6_interrupt; external name 'USART6_interrupt';
248procedure I2C3_EV_interrupt; external name 'I2C3_EV_interrupt';
249procedure I2C3_ER_interrupt; external name 'I2C3_ER_interrupt';
250procedure OTG_HS_EP1_OUT_interrupt; external name 'OTG_HS_EP1_OUT_interrupt';
251procedure OTG_HS_EP1_IN_interrupt; external name 'OTG_HS_EP1_IN_interrupt';
252procedure OTG_HS_WKUP_interrupt; external name 'OTG_HS_WKUP_interrupt';
253procedure OTG_HS_interrupt; external name 'OTG_HS_interrupt';
254procedure DCMI_interrupt; external name 'DCMI_interrupt';
255procedure CRYP_interrupt; external name 'CRYP_interrupt';
256procedure HASH_RNG_interrupt; external name 'HASH_RNG_interrupt';
257procedure FPU_interrupt; external name 'FPU_interrupt';
258procedure UART7_interrupt; external name 'UART7_interrupt';
259procedure UART8_interrupt; external name 'UART8_interrupt';
260procedure SPI4_interrupt; external name 'SPI4_interrupt';
261procedure LTDC_interrupt; external name 'LTDC_interrupt';
262procedure LTDC_ERR_interrupt; external name 'LTDC_ERR_interrupt';
263procedure DMA2D_interrupt; external name 'DMA2D_interrupt';
264
265{$i cortexm4f_start.inc}
266
267procedure Vectors; assembler; nostackframe;
268label interrupt_vectors;
269asm
270   .section ".init.interrupt_vectors"
271interrupt_vectors:
272   .long _stack_top
273   .long Startup
274   .long NMI_interrupt
275   .long Hardfault_interrupt
276   .long MemManage_interrupt
277   .long BusFault_interrupt
278   .long UsageFault_interrupt
279   .long 0
280   .long 0
281   .long 0
282   .long 0
283   .long SWI_interrupt
284   .long DebugMonitor_interrupt
285   .long 0
286   .long PendingSV_interrupt
287   .long SysTick_interrupt
288
289   .long WWDG_interrupt
290   .long PVD_interrupt
291   .long TAMP_STAMP_interrupt
292   .long RTC_WKUP_interrupt
293   .long FLASH_interrupt
294   .long RCC_interrupt
295   .long EXTI0_interrupt
296   .long EXTI1_interrupt
297   .long EXTI2_interrupt
298   .long EXTI3_interrupt
299   .long EXTI4_interrupt
300   .long DMA1_Channel0_interrupt
301   .long DMA1_Channel1_interrupt
302   .long DMA1_Channel2_interrupt
303   .long DMA1_Channel3_interrupt
304   .long DMA1_Channel4_interrupt
305   .long DMA1_Channel5_interrupt
306   .long DMA1_Channel6_interrupt
307   .long ADC1_2_3_interrupt
308   .long CAN1_TX_interrupt
309   .long CAN1_RX0_interrupt
310   .long CAN1_RX1_interrupt
311   .long CAN1_SCE_interrupt
312   .long EXTI9_5_interrupt
313   .long TIM1_BRK_TIM9_interrupt
314   .long TIM1_UP_TIM10_interrupt
315   .long TIM1_TRG_COM_TIM11_interruptirq
316   .long TIM1_CC_interrupt
317   .long TIM2_interrupt
318   .long TIM3_interrupt
319   .long TIM4_interrupt
320   .long I2C1_EV_interrupt
321   .long I2C1_ER_interrupt
322   .long I2C2_EV_interrupt
323   .long I2C2_ER_interrupt
324   .long SPI1_interrupt
325   .long SPI2_interrupt
326   .long USART1_interrupt
327   .long USART2_interrupt
328   .long USART3_interrupt
329   .long EXTI15_10_interrupt
330   .long RTCAlarm_interrupt
331   .long OTG_FS_WKUP_interrupt
332   .long TIM8_BRK_TIM12_interrupt
333   .long TIM8_UP_TIM13_interrupt
334   .long TIM8_TRG_COM_TIM14_interrupt
335   .long TIM8_CC_interrupt
336   .long DMA1_Stream7_interrupt
337   .long FSMC_interrupt
338   .long SDIO_interrupt
339   .long TIM5_interrupt
340   .long SPI3_interrupt
341   .long UART4_interrupt
342   .long UART5_interrupt
343   .long TIM6_DAC1_2_interrupt
344   .long TIM7_interrupt
345   .long DMA2_Stream0_interrupt
346   .long DMA2_Stream1_interrupt
347   .long DMA2_Stream2_interrupt
348   .long DMA2_Stream3_interrupt
349   .long DMA2_Stream4_interrupt
350   .long ETH_interrupt
351   .long ETHWKUP_interrupt
352   .long CAN2_TX_interrupt
353   .long CAN2_RX0_interrupt
354   .long CAN2_RX1_interrupt
355   .long CAN2_SCE_interrupt
356   .long OTG_FS_interrupt
357   .long DMA2_Stream5_interrupt
358   .long DMA2_Stream6_interrupt
359   .long DMA2_Stream7_interrupt
360   .long USART6_interrupt
361   .long I2C3_EV_interrupt
362   .long I2C3_ER_interrupt
363   .long OTG_HS_EP1_OUT_interrupt
364   .long OTG_HS_EP1_IN_interrupt
365   .long OTG_HS_WKUP_interrupt
366   .long OTG_HS_interrupt
367   .long DCMI_interrupt
368   .long CRYP_interrupt
369   .long HASH_RNG_interrupt
370   .long FPU_interrupt
371   .long UART7_interrupt
372   .long UART8_interrupt
373   .long SPI4_interrupt
374   .long LTDC_interrupt
375   .long LTDC_ERR_interrupt
376   .long DMA2D_interrupt
377
378   .weak NMI_interrupt
379   .weak Hardfault_interrupt
380   .weak MemManage_interrupt
381   .weak BusFault_interrupt
382   .weak UsageFault_interrupt
383   .weak SWI_interrupt
384   .weak DebugMonitor_interrupt
385   .weak PendingSV_interrupt
386   .weak SysTick_interrupt
387
388   .weak WWDG_interrupt
389   .weak PVD_interrupt
390   .weak TAMP_STAMP_interrupt
391   .weak RTC_WKUP_interrupt
392   .weak FLASH_interrupt
393   .weak RCC_interrupt
394   .weak EXTI0_interrupt
395   .weak EXTI1_interrupt
396   .weak EXTI2_interrupt
397   .weak EXTI3_interrupt
398   .weak EXTI4_interrupt
399   .weak DMA1_Channel0_interrupt
400   .weak DMA1_Channel1_interrupt
401   .weak DMA1_Channel2_interrupt
402   .weak DMA1_Channel3_interrupt
403   .weak DMA1_Channel4_interrupt
404   .weak DMA1_Channel5_interrupt
405   .weak DMA1_Channel6_interrupt
406   .weak ADC1_2_3_interrupt
407   .weak CAN1_TX_interrupt
408   .weak CAN1_RX0_interrupt
409   .weak CAN1_RX1_interrupt
410   .weak CAN1_SCE_interrupt
411   .weak EXTI9_5_interrupt
412   .weak TIM1_BRK_TIM9_interrupt
413   .weak TIM1_UP_TIM10_interrupt
414   .weak TIM1_TRG_COM_TIM11_interruptirq
415   .weak TIM1_CC_interrupt
416   .weak TIM2_interrupt
417   .weak TIM3_interrupt
418   .weak TIM4_interrupt
419   .weak I2C1_EV_interrupt
420   .weak I2C1_ER_interrupt
421   .weak I2C2_EV_interrupt
422   .weak I2C2_ER_interrupt
423   .weak SPI1_interrupt
424   .weak SPI2_interrupt
425   .weak USART1_interrupt
426   .weak USART2_interrupt
427   .weak USART3_interrupt
428   .weak EXTI15_10_interrupt
429   .weak RTCAlarm_interrupt
430   .weak OTG_FS_WKUP_interrupt
431   .weak TIM8_BRK_TIM12_interrupt
432   .weak TIM8_UP_TIM13_interrupt
433   .weak TIM8_TRG_COM_TIM14_interrupt
434   .weak TIM8_CC_interrupt
435   .weak DMA1_Stream7_interrupt
436   .weak FSMC_interrupt
437   .weak SDIO_interrupt
438   .weak TIM5_interrupt
439   .weak SPI3_interrupt
440   .weak UART4_interrupt
441   .weak UART5_interrupt
442   .weak TIM6_DAC1_2_interrupt
443   .weak TIM7_interrupt
444   .weak DMA2_Stream0_interrupt
445   .weak DMA2_Stream1_interrupt
446   .weak DMA2_Stream2_interrupt
447   .weak DMA2_Stream3_interrupt
448   .weak DMA2_Stream4_interrupt
449   .weak ETH_interrupt
450   .weak ETHWKUP_interrupt
451   .weak CAN2_TX_interrupt
452   .weak CAN2_RX0_interrupt
453   .weak CAN2_RX1_interrupt
454   .weak CAN2_SCE_interrupt
455   .weak OTG_FS_interrupt
456   .weak DMA2_Stream5_interrupt
457   .weak DMA2_Stream6_interrupt
458   .weak DMA2_Stream7_interrupt
459   .weak USART6_interrupt
460   .weak I2C3_EV_interrupt
461   .weak I2C3_ER_interrupt
462   .weak OTG_HS_EP1_OUT_interrupt
463   .weak OTG_HS_EP1_IN_interrupt
464   .weak OTG_HS_WKUP_interrupt
465   .weak OTG_HS_interrupt
466   .weak DCMI_interrupt
467   .weak CRYP_interrupt
468   .weak HASH_RNG_interrupt
469   .weak FPU_interrupt
470   .weak UART7_interrupt
471   .weak UART8_interrupt
472   .weak SPI4_interrupt
473   .weak LTDC_interrupt
474   .weak LTDC_ERR_interrupt
475   .weak DMA2D_interrupt
476
477   .set NMI_interrupt, HaltProc
478   .set Hardfault_interrupt, HaltProc
479   .set MemManage_interrupt, HaltProc
480   .set BusFault_interrupt, HaltProc
481   .set UsageFault_interrupt, HaltProc
482   .set SWI_interrupt, HaltProc
483   .set DebugMonitor_interrupt, HaltProc
484   .set PendingSV_interrupt, HaltProc
485   .set SysTick_interrupt, HaltProc
486
487   .set WWDG_interrupt, HaltProc
488   .set PVD_interrupt, HaltProc
489   .set TAMP_STAMP_interrupt, HaltProc
490   .set RTC_WKUP_interrupt, HaltProc
491   .set FLASH_interrupt, HaltProc
492   .set RCC_interrupt, HaltProc
493   .set EXTI0_interrupt, HaltProc
494   .set EXTI1_interrupt, HaltProc
495   .set EXTI2_interrupt, HaltProc
496   .set EXTI3_interrupt, HaltProc
497   .set EXTI4_interrupt, HaltProc
498   .set DMA1_Channel0_interrupt, HaltProc
499   .set DMA1_Channel1_interrupt, HaltProc
500   .set DMA1_Channel2_interrupt, HaltProc
501   .set DMA1_Channel3_interrupt, HaltProc
502   .set DMA1_Channel4_interrupt, HaltProc
503   .set DMA1_Channel5_interrupt, HaltProc
504   .set DMA1_Channel6_interrupt, HaltProc
505   .set ADC1_2_3_interrupt, HaltProc
506   .set CAN1_TX_interrupt, HaltProc
507   .set CAN1_RX0_interrupt, HaltProc
508   .set CAN1_RX1_interrupt, HaltProc
509   .set CAN1_SCE_interrupt, HaltProc
510   .set EXTI9_5_interrupt, HaltProc
511   .set TIM1_BRK_TIM9_interrupt, HaltProc
512   .set TIM1_UP_TIM10_interrupt, HaltProc
513   .set TIM1_TRG_COM_TIM11_interruptirq, HaltProc
514   .set TIM1_CC_interrupt, HaltProc
515   .set TIM2_interrupt, HaltProc
516   .set TIM3_interrupt, HaltProc
517   .set TIM4_interrupt, HaltProc
518   .set I2C1_EV_interrupt, HaltProc
519   .set I2C1_ER_interrupt, HaltProc
520   .set I2C2_EV_interrupt, HaltProc
521   .set I2C2_ER_interrupt, HaltProc
522   .set SPI1_interrupt, HaltProc
523   .set SPI2_interrupt, HaltProc
524   .set USART1_interrupt, HaltProc
525   .set USART2_interrupt, HaltProc
526   .set USART3_interrupt, HaltProc
527   .set EXTI15_10_interrupt, HaltProc
528   .set RTCAlarm_interrupt, HaltProc
529   .set OTG_FS_WKUP_interrupt, HaltProc
530   .set TIM8_BRK_TIM12_interrupt, HaltProc
531   .set TIM8_UP_TIM13_interrupt, HaltProc
532   .set TIM8_TRG_COM_TIM14_interrupt, HaltProc
533   .set TIM8_CC_interrupt, HaltProc
534   .set DMA1_Stream7_interrupt, HaltProc
535   .set FSMC_interrupt, HaltProc
536   .set SDIO_interrupt, HaltProc
537   .set TIM5_interrupt, HaltProc
538   .set SPI3_interrupt, HaltProc
539   .set UART4_interrupt, HaltProc
540   .set UART5_interrupt, HaltProc
541   .set TIM6_DAC1_2_interrupt, HaltProc
542   .set TIM7_interrupt, HaltProc
543   .set DMA2_Stream0_interrupt, HaltProc
544   .set DMA2_Stream1_interrupt, HaltProc
545   .set DMA2_Stream2_interrupt, HaltProc
546   .set DMA2_Stream3_interrupt, HaltProc
547   .set DMA2_Stream4_interrupt, HaltProc
548   .set ETH_interrupt, HaltProc
549   .set ETHWKUP_interrupt, HaltProc
550   .set CAN2_TX_interrupt, HaltProc
551   .set CAN2_RX0_interrupt, HaltProc
552   .set CAN2_RX1_interrupt, HaltProc
553   .set CAN2_SCE_interrupt, HaltProc
554   .set OTG_FS_interrupt, HaltProc
555   .set DMA2_Stream5_interrupt, HaltProc
556   .set DMA2_Stream6_interrupt, HaltProc
557   .set DMA2_Stream7_interrupt, HaltProc
558   .set USART6_interrupt, HaltProc
559   .set I2C3_EV_interrupt, HaltProc
560   .set I2C3_ER_interrupt, HaltProc
561   .set OTG_HS_EP1_OUT_interrupt, HaltProc
562   .set OTG_HS_EP1_IN_interrupt, HaltProc
563   .set OTG_HS_WKUP_interrupt, HaltProc
564   .set OTG_HS_interrupt, HaltProc
565   .set DCMI_interrupt, HaltProc
566   .set CRYP_interrupt, HaltProc
567   .set HASH_RNG_interrupt, HaltProc
568   .set FPU_interrupt, HaltProc
569   .set UART7_interrupt, HaltProc
570   .set UART8_interrupt, HaltProc
571   .set SPI4_interrupt, HaltProc
572   .set LTDC_interrupt, HaltProc
573   .set LTDC_ERR_interrupt, HaltProc
574   .set DMA2D_interrupt, HaltProc
575
576   .text
577end;
578
579end.
580