stm32f10x_hd.pp 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771
  1. {
  2. Register definitions and utility code for STM32F10x - HD density
  3. Created by Jeppe Johansen 2012 - [email protected]
  4. }
  5. unit stm32f10x_hd;
  6. {$goto on}
  7. {$define stm32f10x_hd}
  8. interface
  9. type
  10. TBitvector32 = bitpacked array[0..31] of 0..1;
  11. {$PACKRECORDS 2}
  12. const
  13. PeripheralBase = $40000000;
  14. FSMCBase = $60000000;
  15. APB1Base = PeripheralBase;
  16. APB2Base = PeripheralBase+$10000;
  17. AHBBase = PeripheralBase+$20000;
  18. { FSMC }
  19. FSMCBank1NOR1 = FSMCBase+$00000000;
  20. FSMCBank1NOR2 = FSMCBase+$04000000;
  21. FSMCBank1NOR3 = FSMCBase+$08000000;
  22. FSMCBank1NOR4 = FSMCBase+$0C000000;
  23. FSMCBank1PSRAM1 = FSMCBase+$00000000;
  24. FSMCBank1PSRAM2 = FSMCBase+$04000000;
  25. FSMCBank1PSRAM3 = FSMCBase+$08000000;
  26. FSMCBank1PSRAM4 = FSMCBase+$0C000000;
  27. FSMCBank2NAND1 = FSMCBase+$10000000;
  28. FSMCBank3NAND2 = FSMCBase+$20000000;
  29. FSMCBank4PCCARD = FSMCBase+$30000000;
  30. type
  31. TTimerRegisters = record
  32. CR1, res1,
  33. CR2, res2,
  34. SMCR, res3,
  35. DIER, res4,
  36. SR, res5,
  37. EGR, res,
  38. CCMR1, res6,
  39. CCMR2, res7,
  40. CCER, res8,
  41. CNT, res9,
  42. PSC, res10,
  43. ARR, res11,
  44. RCR, res12,
  45. CCR1, res13,
  46. CCR2, res14,
  47. CCR3, res15,
  48. CCR4, res16,
  49. BDTR, res17,
  50. DCR, res18,
  51. DMAR, res19: Word;
  52. end;
  53. TRTCRegisters = record
  54. CRH, res1,
  55. CRL, res2,
  56. PRLH, res3,
  57. PRLL, res4,
  58. DIVH, res5,
  59. DIVL, res6,
  60. CNTH, res7,
  61. CNTL, res8,
  62. ALRH, res9,
  63. ALRL, res10: Word;
  64. end;
  65. TIWDGRegisters = record
  66. KR, res1,
  67. PR, res2,
  68. RLR, res3,
  69. SR, res4: word;
  70. end;
  71. TWWDGRegisters = record
  72. CR, res2,
  73. CFR, res3,
  74. SR, res4: word;
  75. end;
  76. TSPIRegisters = record
  77. CR1, res1,
  78. CR2, res2,
  79. SR, res3,
  80. DR, res4,
  81. CRCPR, res5,
  82. RXCRCR, res6,
  83. TXCRCR, res7,
  84. I2SCFGR, res8,
  85. I2SPR, res9: Word;
  86. end;
  87. TUSARTRegisters = record
  88. SR, res1,
  89. DR, res2,
  90. BRR, res3,
  91. CR1, res4,
  92. CR2, res5,
  93. CR3, res6,
  94. GTPR, res7: Word;
  95. end;
  96. TI2CRegisters = record
  97. CR1, res1,
  98. CR2, res2,
  99. OAR1, res3,
  100. OAR2, res4,
  101. DR, res5,
  102. SR1, res6,
  103. SR2, res7,
  104. CCR, res8: word;
  105. TRISE: byte;
  106. end;
  107. TUSBRegisters = record
  108. EPR: array[0..7] of longword;
  109. res: array[0..7] of longword;
  110. CNTR, res1,
  111. ISTR, res2,
  112. FNR, res3: Word;
  113. DADDR: byte; res4: word; res5: byte;
  114. BTABLE: Word;
  115. end;
  116. TUSBMem = packed array[0..511] of byte;
  117. TCANMailbox = record
  118. IR,
  119. DTR,
  120. DLR,
  121. DHR: longword;
  122. end;
  123. TCANRegisters = record
  124. MCR,
  125. MSR,
  126. TSR,
  127. RF0R,
  128. RF1R,
  129. IER,
  130. ESR,
  131. BTR: longword;
  132. res5: array[$020..$17F] of byte;
  133. TX: array[0..2] of TCANMailbox;
  134. RX: array[0..2] of TCANMailbox;
  135. res6: array[$1D0..$1FF] of byte;
  136. FMR,
  137. FM1R,
  138. res9: longword;
  139. FS1R, res10: word;
  140. res11: longword;
  141. FFA1R, res12: word;
  142. res13: longword;
  143. FA1R, res14: word;
  144. res15: array[$220..$23F] of byte;
  145. FOR1,
  146. FOR2: longword;
  147. FB: array[1..13] of array[1..2] of longword;
  148. end;
  149. TBKPRegisters = record
  150. DR: array[1..10] of record data, res: word; end;
  151. RTCCR,
  152. CR,
  153. CSR,
  154. res1,res2: longword;
  155. DR2: array[11..42] of record data, res: word; end;
  156. end;
  157. TPwrRegisters = record
  158. CR, res: word;
  159. CSR: Word;
  160. end;
  161. TDACRegisters = record
  162. CR,
  163. SWTRIGR: longword;
  164. DHR12R1, res2,
  165. DHR12L1, res3,
  166. DHR8R1, res4,
  167. DHR12R2, res5,
  168. DHR12L2, res6,
  169. DHR8R2, res7: word;
  170. DHR12RD,
  171. DHR12LD: longword;
  172. DHR8RD, res8,
  173. DOR1, res9,
  174. DOR2, res10: Word;
  175. end;
  176. TAFIORegisters = record
  177. EVCR,
  178. MAPR: longword;
  179. EXTICR: array[0..3] of longword;
  180. end;
  181. TEXTIRegisters = record
  182. IMR,
  183. EMR,
  184. RTSR,
  185. FTSR,
  186. SWIER,
  187. PR: longword;
  188. end;
  189. TPortRegisters = record
  190. CRL,
  191. CRH,
  192. IDR,
  193. ODR,
  194. BSRR,
  195. BRR,
  196. LCKR: longword;
  197. end;
  198. TADCRegisters = record
  199. SR,
  200. CR1,
  201. CR2,
  202. SMPR1,
  203. SMPR2: longword;
  204. JOFR1, res2,
  205. JOFR2, res3,
  206. JOFR3, res4,
  207. JOFR4, res5,
  208. HTR, res6,
  209. LTR, res7: word;
  210. SQR1,
  211. SQR2,
  212. SQR3,
  213. JSQR: longword;
  214. JDR1, res8,
  215. JDR2, res9,
  216. JDR3, res10,
  217. JDR4, res11: Word;
  218. DR: longword;
  219. end;
  220. TSDIORegisters = record
  221. POWER,
  222. CLKCR,
  223. ARG: longword;
  224. CMD, res3,
  225. RESPCMD, res4: Word;
  226. RESP1,
  227. RESP2,
  228. RESP3,
  229. RESP4,
  230. DTIMER,
  231. DLEN: longword;
  232. DCTRL, res5: word;
  233. DCOUNT,
  234. STA,
  235. ICR,
  236. MASK,
  237. FIFOCNT,
  238. FIFO: longword;
  239. end;
  240. TDMAChannel = record
  241. CCR, res1,
  242. CNDTR, res2: word;
  243. CPAR,
  244. CMAR,
  245. res: longword;
  246. end;
  247. TDMARegisters = record
  248. ISR,
  249. IFCR: longword;
  250. Channel: array[0..7] of TDMAChannel;
  251. end;
  252. TRCCRegisters = record
  253. CR,
  254. CFGR,
  255. CIR,
  256. APB2RSTR,
  257. APB1RSTR,
  258. AHBENR,
  259. APB2ENR,
  260. APB1ENR,
  261. BDCR,
  262. CSR: longword;
  263. end;
  264. TCRCRegisters = record
  265. DR: longword;
  266. IDR: byte; res1: word; res2: byte;
  267. CR: byte;
  268. end;
  269. TFlashRegisters = record
  270. ACR,
  271. KEYR,
  272. OPTKEYR,
  273. SR,
  274. CR,
  275. AR,
  276. res,
  277. OBR,
  278. WRPR: longword;
  279. end;
  280. TFSMC_Bank1 = record
  281. BCR1 : longword;
  282. BTR1 : longword;
  283. BCR2 : longword;
  284. BTR2 : longword;
  285. BCR3 : longword;
  286. BTR3 : longword;
  287. BCR4 : longword;
  288. BTR4 : longword;
  289. end;
  290. TFSMC_Bank1E = record
  291. BWTR1 : longword;
  292. res1 : longword;
  293. BWTR2 : longword;
  294. res2 : longword;
  295. BWTR3 : longword;
  296. res3 : longword;
  297. BWTR4 : longword;
  298. end;
  299. TFSMC_Bank2 = record
  300. PCR2,
  301. SR2,
  302. PMEM2,
  303. PATT2,
  304. res1,
  305. ECCR2 : longword
  306. end;
  307. TFSMC_Bank3 = record
  308. PCR3,
  309. SR3,
  310. PMEM3,
  311. PATT3,
  312. RESERVED0,
  313. ECCR3 : longword;
  314. end;
  315. TFSMC_Bank4 = record
  316. PCR4,
  317. SR4,
  318. PMEM4,
  319. PATT4,
  320. PIO4 : longword;
  321. end;
  322. {$ALIGN 2}
  323. var
  324. { Timers }
  325. Timer1: TTimerRegisters absolute (APB2Base+$2C00);
  326. Timer2: TTimerRegisters absolute (APB1Base+$0000);
  327. Timer3: TTimerRegisters absolute (APB1Base+$0400);
  328. Timer4: TTimerRegisters absolute (APB1Base+$0800);
  329. Timer5: TTimerRegisters absolute (APB1Base+$0C00);
  330. Timer6: TTimerRegisters absolute (APB1Base+$1000);
  331. Timer7: TTimerRegisters absolute (APB1Base+$1400);
  332. Timer8: TTimerRegisters absolute (APB2Base+$3400);
  333. { RTC }
  334. RTC: TRTCRegisters absolute (APB1Base+$2800);
  335. { WDG }
  336. WWDG: TWWDGRegisters absolute (APB1Base+$2C00);
  337. IWDG: TIWDGRegisters absolute (APB1Base+$3000);
  338. { SPI }
  339. SPI1: TSPIRegisters absolute (APB2Base+$3000);
  340. SPI2: TSPIRegisters absolute (APB1Base+$3800);
  341. SPI3: TSPIRegisters absolute (APB1Base+$3C00);
  342. { USART/UART }
  343. USART1: TUSARTRegisters absolute (APB2Base+$3800);
  344. USART2: TUSARTRegisters absolute (APB1Base+$4400);
  345. USART3: TUSARTRegisters absolute (APB1Base+$4800);
  346. UART4: TUSARTRegisters absolute (APB1Base+$4C00);
  347. UART5: TUSARTRegisters absolute (APB1Base+$5000);
  348. { I2C }
  349. I2C1: TI2CRegisters absolute (APB1Base+$5400);
  350. I2C2: TI2CRegisters absolute (APB1Base+$5800);
  351. { USB }
  352. USB: TUSBRegisters absolute (APB1Base+$5C00);
  353. USBMem: TUSBMem absolute (APB1Base+$6000);
  354. { CAN }
  355. CAN: TCANRegisters absolute (APB1Base+$6800);
  356. { BKP }
  357. BKP: TBKPRegisters absolute (APB1Base+$6C00);
  358. { PWR }
  359. PWR: TPwrRegisters absolute (APB1Base+$7000);
  360. { DAC }
  361. DAC: TDACRegisters absolute (APB1Base+$7400);
  362. { GPIO }
  363. AFIO: TAFIORegisters absolute (APB2Base+$0);
  364. EXTI: TEXTIRegisters absolute (APB2Base+$0400);
  365. PortA: TPortRegisters absolute (APB2Base+$0800);
  366. PortB: TPortRegisters absolute (APB2Base+$0C00);
  367. PortC: TPortRegisters absolute (APB2Base+$1000);
  368. PortD: TPortRegisters absolute (APB2Base+$1400);
  369. PortE: TPortRegisters absolute (APB2Base+$1800);
  370. PortF: TPortRegisters absolute (APB2Base+$1C00);
  371. PortG: TPortRegisters absolute (APB2Base+$2000);
  372. { ADC }
  373. ADC1: TADCRegisters absolute (APB2Base+$2400);
  374. ADC2: TADCRegisters absolute (APB2Base+$2800);
  375. ADC3: TADCRegisters absolute (APB2Base+$3C00);
  376. { SDIO }
  377. SDIO: TSDIORegisters absolute (APB2Base+$8000);
  378. { DMA }
  379. DMA1: TDMARegisters absolute (AHBBase+$0000);
  380. DMA2: TDMARegisters absolute (AHBBase+$0400);
  381. { RCC }
  382. RCC: TRCCRegisters absolute (AHBBase+$1000);
  383. { Flash }
  384. Flash: TFlashRegisters absolute (AHBBase+$2000);
  385. { CRC }
  386. CRC: TCRCRegisters absolute (AHBBase+$3000);
  387. { FSMC }
  388. FSMC_Bank1 : TFSMC_Bank1 absolute (FSMCBase + $40000000);
  389. FSMC_Bank1E : TFSMC_Bank1E absolute (FSMCBase + $40000104);
  390. FSMC_Bank2 : TFSMC_Bank2 absolute (FSMCBase + $40000060);
  391. FSMC_Bank3 : TFSMC_Bank3 absolute (FSMCBase + $40000080);
  392. FSMC_Bank4 : TFSMC_Bank4 absolute (FSMCBase + $400000A0);
  393. implementation
  394. procedure NMI_interrupt; external name 'NMI_interrupt';
  395. procedure Hardfault_interrupt; external name 'Hardfault_interrupt';
  396. procedure MemManage_interrupt; external name 'MemManage_interrupt';
  397. procedure BusFault_interrupt; external name 'BusFault_interrupt';
  398. procedure UsageFault_interrupt; external name 'UsageFault_interrupt';
  399. procedure SWI_interrupt; external name 'SWI_interrupt';
  400. procedure DebugMonitor_interrupt; external name 'DebugMonitor_interrupt';
  401. procedure PendingSV_interrupt; external name 'PendingSV_interrupt';
  402. procedure SysTick_interrupt; external name 'SysTick_interrupt';
  403. procedure Window_watchdog_interrupt; external name 'Window_watchdog_interrupt';
  404. procedure PVD_through_EXTI_Line_detection_interrupt; external name 'PVD_through_EXTI_Line_detection_interrupt';
  405. procedure Tamper_interrupt; external name 'Tamper_interrupt';
  406. procedure RTC_global_interrupt; external name 'RTC_global_interrupt';
  407. procedure Flash_global_interrupt; external name 'Flash_global_interrupt';
  408. procedure RCC_global_interrupt; external name 'RCC_global_interrupt';
  409. procedure EXTI_Line0_interrupt; external name 'EXTI_Line0_interrupt';
  410. procedure EXTI_Line1_interrupt; external name 'EXTI_Line1_interrupt';
  411. procedure EXTI_Line2_interrupt; external name 'EXTI_Line2_interrupt';
  412. procedure EXTI_Line3_interrupt; external name 'EXTI_Line3_interrupt';
  413. procedure EXTI_Line4_interrupt; external name 'EXTI_Line4_interrupt';
  414. procedure DMA1_Channel1_global_interrupt; external name 'DMA1_Channel1_global_interrupt';
  415. procedure DMA1_Channel2_global_interrupt; external name 'DMA1_Channel2_global_interrupt';
  416. procedure DMA1_Channel3_global_interrupt; external name 'DMA1_Channel3_global_interrupt';
  417. procedure DMA1_Channel4_global_interrupt; external name 'DMA1_Channel4_global_interrupt';
  418. procedure DMA1_Channel5_global_interrupt; external name 'DMA1_Channel5_global_interrupt';
  419. procedure DMA1_Channel6_global_interrupt; external name 'DMA1_Channel6_global_interrupt';
  420. procedure DMA1_Channel7_global_interrupt; external name 'DMA1_Channel7_global_interrupt';
  421. procedure ADC1_and_ADC2_global_interrupt; external name 'ADC1_and_ADC2_global_interrupt';
  422. procedure USB_High_Priority_or_CAN_TX_interrupts; external name 'USB_High_Priority_or_CAN_TX_interrupts';
  423. procedure USB_Low_Priority_or_CAN_RX0_interrupts; external name 'USB_Low_Priority_or_CAN_RX0_interrupts';
  424. procedure CAN_RX1_interrupt; external name 'CAN_RX1_interrupt';
  425. procedure CAN_SCE_interrupt; external name 'CAN_SCE_interrupt';
  426. procedure EXTI_Line9_5_interrupts; external name 'EXTI_Line9_5_interrupts';
  427. procedure TIM1_Break_interrupt; external name 'TIM1_Break_interrupt';
  428. procedure TIM1_Update_interrupt; external name 'TIM1_Update_interrupt';
  429. procedure TIM1_Trigger_and_Commutation_interrupts; external name 'TIM1_Trigger_and_Commutation_interrupts';
  430. procedure TIM1_Capture_Compare_interrupt; external name 'TIM1_Capture_Compare_interrupt';
  431. procedure TIM2_global_interrupt; external name 'TIM2_global_interrupt';
  432. procedure TIM3_global_interrupt; external name 'TIM3_global_interrupt';
  433. procedure TIM4_global_interrupt; external name 'TIM4_global_interrupt';
  434. procedure I2C1_event_interrupt; external name 'I2C1_event_interrupt';
  435. procedure I2C1_error_interrupt; external name 'I2C1_error_interrupt';
  436. procedure I2C2_event_interrupt; external name 'I2C2_event_interrupt';
  437. procedure I2C2_error_interrupt; external name 'I2C2_error_interrupt';
  438. procedure SPI1_global_interrupt; external name 'SPI1_global_interrupt';
  439. procedure SPI2_global_interrupt; external name 'SPI2_global_interrupt';
  440. procedure USART1_global_interrupt; external name 'USART1_global_interrupt';
  441. procedure USART2_global_interrupt; external name 'USART2_global_interrupt';
  442. procedure USART3_global_interrupt; external name 'USART3_global_interrupt';
  443. procedure EXTI_Line15_10_interrupts; external name 'EXTI_Line15_10_interrupts';
  444. procedure RTC_alarm_through_EXTI_line_interrupt; external name 'RTC_alarm_through_EXTI_line_interrupt';
  445. procedure USB_wakeup_from_suspend_through_EXTI_line_interrupt; external name 'USB_wakeup_from_suspend_through_EXTI_line_interrupt';
  446. procedure TIM8_Break_interrupt; external name 'TIM8_Break_interrupt';
  447. procedure TIM8_Update_interrupt; external name 'TIM8_Update_interrupt';
  448. procedure TIM8_Trigger_and_Commutation_interrupts; external name 'TIM8_Trigger_and_Commutation_interrupts';
  449. procedure TIM8_Capture_Compare_interrupt; external name 'TIM8_Capture_Compare_interrupt';
  450. procedure ADC3_global_interrupt; external name 'ADC3_global_interrupt';
  451. procedure FSMC_global_interrupt; external name 'FSMC_global_interrupt';
  452. procedure SDIO_global_interrupt; external name 'SDIO_global_interrupt';
  453. procedure TIM5_global_interrupt; external name 'TIM5_global_interrupt';
  454. procedure SPI3_global_interrupt; external name 'SPI3_global_interrupt';
  455. procedure UART4_global_interrupt; external name 'UART4_global_interrupt';
  456. procedure UART5_global_interrupt; external name 'UART5_global_interrupt';
  457. procedure TIM6_global_interrupt; external name 'TIM6_global_interrupt';
  458. procedure TIM7_global_interrupt; external name 'TIM7_global_interrupt';
  459. procedure DMA2_Channel1_global_interrupt; external name 'DMA2_Channel1_global_interrupt';
  460. procedure DMA2_Channel2_global_interrupt; external name 'DMA2_Channel2_global_interrupt';
  461. procedure DMA2_Channel3_global_interrupt; external name 'DMA2_Channel3_global_interrupt';
  462. procedure DMA2_Channel4_and_DMA2_Channel5_global_interrupts; external name 'DMA2_Channel4_and_DMA2_Channel5_global_interrupts';
  463. {$i cortexm3_start.inc}
  464. procedure Vectors; assembler; nostackframe;
  465. label interrupt_vectors;
  466. asm
  467. .section ".init.interrupt_vectors"
  468. interrupt_vectors:
  469. .long _stack_top
  470. .long Startup
  471. .long NMI_interrupt
  472. .long Hardfault_interrupt
  473. .long MemManage_interrupt
  474. .long BusFault_interrupt
  475. .long UsageFault_interrupt
  476. .long 0
  477. .long 0
  478. .long 0
  479. .long 0
  480. .long SWI_interrupt
  481. .long DebugMonitor_interrupt
  482. .long 0
  483. .long PendingSV_interrupt
  484. .long SysTick_interrupt
  485. .long Window_watchdog_interrupt
  486. .long PVD_through_EXTI_Line_detection_interrupt
  487. .long Tamper_interrupt
  488. .long RTC_global_interrupt
  489. .long Flash_global_interrupt
  490. .long RCC_global_interrupt
  491. .long EXTI_Line0_interrupt
  492. .long EXTI_Line1_interrupt
  493. .long EXTI_Line2_interrupt
  494. .long EXTI_Line3_interrupt
  495. .long EXTI_Line4_interrupt
  496. .long DMA1_Channel1_global_interrupt
  497. .long DMA1_Channel2_global_interrupt
  498. .long DMA1_Channel3_global_interrupt
  499. .long DMA1_Channel4_global_interrupt
  500. .long DMA1_Channel5_global_interrupt
  501. .long DMA1_Channel6_global_interrupt
  502. .long DMA1_Channel7_global_interrupt
  503. .long ADC1_and_ADC2_global_interrupt
  504. .long USB_High_Priority_or_CAN_TX_interrupts
  505. .long USB_Low_Priority_or_CAN_RX0_interrupts
  506. .long CAN_RX1_interrupt
  507. .long CAN_SCE_interrupt
  508. .long EXTI_Line9_5_interrupts
  509. .long TIM1_Break_interrupt
  510. .long TIM1_Update_interrupt
  511. .long TIM1_Trigger_and_Commutation_interrupts
  512. .long TIM1_Capture_Compare_interrupt
  513. .long TIM2_global_interrupt
  514. .long TIM3_global_interrupt
  515. .long TIM4_global_interrupt
  516. .long I2C1_event_interrupt
  517. .long I2C1_error_interrupt
  518. .long I2C2_event_interrupt
  519. .long I2C2_error_interrupt
  520. .long SPI1_global_interrupt
  521. .long SPI2_global_interrupt
  522. .long USART1_global_interrupt
  523. .long USART2_global_interrupt
  524. .long USART3_global_interrupt
  525. .long EXTI_Line15_10_interrupts
  526. .long RTC_alarm_through_EXTI_line_interrupt
  527. .long USB_wakeup_from_suspend_through_EXTI_line_interrupt
  528. .long TIM8_Break_interrupt
  529. .long TIM8_Update_interrupt
  530. .long TIM8_Trigger_and_Commutation_interrupts
  531. .long TIM8_Capture_Compare_interrupt
  532. .long ADC3_global_interrupt
  533. .long FSMC_global_interrupt
  534. .long SDIO_global_interrupt
  535. .long TIM5_global_interrupt
  536. .long SPI3_global_interrupt
  537. .long UART4_global_interrupt
  538. .long UART5_global_interrupt
  539. .long TIM6_global_interrupt
  540. .long TIM7_global_interrupt
  541. .long DMA2_Channel1_global_interrupt
  542. .long DMA2_Channel2_global_interrupt
  543. .long DMA2_Channel3_global_interrupt
  544. .long DMA2_Channel4_and_DMA2_Channel5_global_interrupts
  545. .weak NMI_interrupt
  546. .weak Hardfault_interrupt
  547. .weak MemManage_interrupt
  548. .weak BusFault_interrupt
  549. .weak UsageFault_interrupt
  550. .weak SWI_interrupt
  551. .weak DebugMonitor_interrupt
  552. .weak PendingSV_interrupt
  553. .weak SysTick_interrupt
  554. .weak Window_watchdog_interrupt
  555. .weak PVD_through_EXTI_Line_detection_interrupt
  556. .weak Tamper_interrupt
  557. .weak RTC_global_interrupt
  558. .weak Flash_global_interrupt
  559. .weak RCC_global_interrupt
  560. .weak EXTI_Line0_interrupt
  561. .weak EXTI_Line1_interrupt
  562. .weak EXTI_Line2_interrupt
  563. .weak EXTI_Line3_interrupt
  564. .weak EXTI_Line4_interrupt
  565. .weak DMA1_Channel1_global_interrupt
  566. .weak DMA1_Channel2_global_interrupt
  567. .weak DMA1_Channel3_global_interrupt
  568. .weak DMA1_Channel4_global_interrupt
  569. .weak DMA1_Channel5_global_interrupt
  570. .weak DMA1_Channel6_global_interrupt
  571. .weak DMA1_Channel7_global_interrupt
  572. .weak ADC1_and_ADC2_global_interrupt
  573. .weak USB_High_Priority_or_CAN_TX_interrupts
  574. .weak USB_Low_Priority_or_CAN_RX0_interrupts
  575. .weak CAN_RX1_interrupt
  576. .weak CAN_SCE_interrupt
  577. .weak EXTI_Line9_5_interrupts
  578. .weak TIM1_Break_interrupt
  579. .weak TIM1_Update_interrupt
  580. .weak TIM1_Trigger_and_Commutation_interrupts
  581. .weak TIM1_Capture_Compare_interrupt
  582. .weak TIM2_global_interrupt
  583. .weak TIM3_global_interrupt
  584. .weak TIM4_global_interrupt
  585. .weak I2C1_event_interrupt
  586. .weak I2C1_error_interrupt
  587. .weak I2C2_event_interrupt
  588. .weak I2C2_error_interrupt
  589. .weak SPI1_global_interrupt
  590. .weak SPI2_global_interrupt
  591. .weak USART1_global_interrupt
  592. .weak USART2_global_interrupt
  593. .weak USART3_global_interrupt
  594. .weak EXTI_Line15_10_interrupts
  595. .weak RTC_alarm_through_EXTI_line_interrupt
  596. .weak USB_wakeup_from_suspend_through_EXTI_line_interrupt
  597. .weak TIM8_Break_interrupt
  598. .weak TIM8_Update_interrupt
  599. .weak TIM8_Trigger_and_Commutation_interrupts
  600. .weak TIM8_Capture_Compare_interrupt
  601. .weak ADC3_global_interrupt
  602. .weak FSMC_global_interrupt
  603. .weak SDIO_global_interrupt
  604. .weak TIM5_global_interrupt
  605. .weak SPI3_global_interrupt
  606. .weak UART4_global_interrupt
  607. .weak UART5_global_interrupt
  608. .weak TIM6_global_interrupt
  609. .weak TIM7_global_interrupt
  610. .weak DMA2_Channel1_global_interrupt
  611. .weak DMA2_Channel2_global_interrupt
  612. .weak DMA2_Channel3_global_interrupt
  613. .weak DMA2_Channel4_and_DMA2_Channel5_global_interrupts
  614. .set NMI_interrupt, HaltProc
  615. .set Hardfault_interrupt, HaltProc
  616. .set MemManage_interrupt, HaltProc
  617. .set BusFault_interrupt, HaltProc
  618. .set UsageFault_interrupt, HaltProc
  619. .set SWI_interrupt, HaltProc
  620. .set DebugMonitor_interrupt, HaltProc
  621. .set PendingSV_interrupt, HaltProc
  622. .set SysTick_interrupt, HaltProc
  623. .set Window_watchdog_interrupt, HaltProc
  624. .set PVD_through_EXTI_Line_detection_interrupt, HaltProc
  625. .set Tamper_interrupt, HaltProc
  626. .set RTC_global_interrupt, HaltProc
  627. .set Flash_global_interrupt, HaltProc
  628. .set RCC_global_interrupt, HaltProc
  629. .set EXTI_Line0_interrupt, HaltProc
  630. .set EXTI_Line1_interrupt, HaltProc
  631. .set EXTI_Line2_interrupt, HaltProc
  632. .set EXTI_Line3_interrupt, HaltProc
  633. .set EXTI_Line4_interrupt, HaltProc
  634. .set DMA1_Channel1_global_interrupt, HaltProc
  635. .set DMA1_Channel2_global_interrupt, HaltProc
  636. .set DMA1_Channel3_global_interrupt, HaltProc
  637. .set DMA1_Channel4_global_interrupt, HaltProc
  638. .set DMA1_Channel5_global_interrupt, HaltProc
  639. .set DMA1_Channel6_global_interrupt, HaltProc
  640. .set DMA1_Channel7_global_interrupt, HaltProc
  641. .set ADC1_and_ADC2_global_interrupt, HaltProc
  642. .set USB_High_Priority_or_CAN_TX_interrupts, HaltProc
  643. .set USB_Low_Priority_or_CAN_RX0_interrupts, HaltProc
  644. .set CAN_RX1_interrupt, HaltProc
  645. .set CAN_SCE_interrupt, HaltProc
  646. .set EXTI_Line9_5_interrupts, HaltProc
  647. .set TIM1_Break_interrupt, HaltProc
  648. .set TIM1_Update_interrupt, HaltProc
  649. .set TIM1_Trigger_and_Commutation_interrupts, HaltProc
  650. .set TIM1_Capture_Compare_interrupt, HaltProc
  651. .set TIM2_global_interrupt, HaltProc
  652. .set TIM3_global_interrupt, HaltProc
  653. .set TIM4_global_interrupt, HaltProc
  654. .set I2C1_event_interrupt, HaltProc
  655. .set I2C1_error_interrupt, HaltProc
  656. .set I2C2_event_interrupt, HaltProc
  657. .set I2C2_error_interrupt, HaltProc
  658. .set SPI1_global_interrupt, HaltProc
  659. .set SPI2_global_interrupt, HaltProc
  660. .set USART1_global_interrupt, HaltProc
  661. .set USART2_global_interrupt, HaltProc
  662. .set USART3_global_interrupt, HaltProc
  663. .set EXTI_Line15_10_interrupts, HaltProc
  664. .set RTC_alarm_through_EXTI_line_interrupt, HaltProc
  665. .set USB_wakeup_from_suspend_through_EXTI_line_interrupt, HaltProc
  666. .set TIM8_Break_interrupt, HaltProc
  667. .set TIM8_Update_interrupt, HaltProc
  668. .set TIM8_Trigger_and_Commutation_interrupts, HaltProc
  669. .set TIM8_Capture_Compare_interrupt, HaltProc
  670. .set ADC3_global_interrupt, HaltProc
  671. .set FSMC_global_interrupt, HaltProc
  672. .set SDIO_global_interrupt, HaltProc
  673. .set TIM5_global_interrupt, HaltProc
  674. .set SPI3_global_interrupt, HaltProc
  675. .set UART4_global_interrupt, HaltProc
  676. .set UART5_global_interrupt, HaltProc
  677. .set TIM6_global_interrupt, HaltProc
  678. .set TIM7_global_interrupt, HaltProc
  679. .set DMA2_Channel1_global_interrupt, HaltProc
  680. .set DMA2_Channel2_global_interrupt, HaltProc
  681. .set DMA2_Channel3_global_interrupt, HaltProc
  682. .set DMA2_Channel4_and_DMA2_Channel5_global_interrupts, HaltProc
  683. .text
  684. end;
  685. end.