stm32f10x_conn.pp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728
  1. {
  2. Register definitions and utility code for STM32F10x - Connectivity line
  3. Created by Jeppe Johansen 2012 - [email protected]
  4. }
  5. unit stm32f10x_conn;
  6. {$goto on}
  7. {$define stm32f10x_conn}
  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. {$ALIGN 2}
  281. var
  282. { Timers }
  283. Timer1: TTimerRegisters absolute (APB2Base+$2C00);
  284. Timer2: TTimerRegisters absolute (APB1Base+$0000);
  285. Timer3: TTimerRegisters absolute (APB1Base+$0400);
  286. Timer4: TTimerRegisters absolute (APB1Base+$0800);
  287. Timer5: TTimerRegisters absolute (APB1Base+$0C00);
  288. Timer6: TTimerRegisters absolute (APB1Base+$1000);
  289. Timer7: TTimerRegisters absolute (APB1Base+$1400);
  290. Timer8: TTimerRegisters absolute (APB2Base+$3400);
  291. { RTC }
  292. RTC: TRTCRegisters absolute (APB1Base+$2800);
  293. { WDG }
  294. WWDG: TWWDGRegisters absolute (APB1Base+$2C00);
  295. IWDG: TIWDGRegisters absolute (APB1Base+$3000);
  296. { SPI }
  297. SPI1: TSPIRegisters absolute (APB2Base+$3000);
  298. SPI2: TSPIRegisters absolute (APB1Base+$3800);
  299. SPI3: TSPIRegisters absolute (APB1Base+$3C00);
  300. { USART/UART }
  301. USART1: TUSARTRegisters absolute (APB2Base+$3800);
  302. USART2: TUSARTRegisters absolute (APB1Base+$4400);
  303. USART3: TUSARTRegisters absolute (APB1Base+$4800);
  304. UART4: TUSARTRegisters absolute (APB1Base+$4C00);
  305. UART5: TUSARTRegisters absolute (APB1Base+$5000);
  306. { I2C }
  307. I2C1: TI2CRegisters absolute (APB1Base+$5400);
  308. I2C2: TI2CRegisters absolute (APB1Base+$5800);
  309. { USB }
  310. USB: TUSBRegisters absolute (APB1Base+$5C00);
  311. USBMem: TUSBMem absolute (APB1Base+$6000);
  312. { CAN }
  313. CAN: TCANRegisters absolute (APB1Base+$6800);
  314. { BKP }
  315. BKP: TBKPRegisters absolute (APB1Base+$6C00);
  316. { PWR }
  317. PWR: TPwrRegisters absolute (APB1Base+$7000);
  318. { DAC }
  319. DAC: TDACRegisters absolute (APB1Base+$7400);
  320. { GPIO }
  321. AFIO: TAFIORegisters absolute (APB2Base+$0);
  322. EXTI: TEXTIRegisters absolute (APB2Base+$0400);
  323. PortA: TPortRegisters absolute (APB2Base+$0800);
  324. PortB: TPortRegisters absolute (APB2Base+$0C00);
  325. PortC: TPortRegisters absolute (APB2Base+$1000);
  326. PortD: TPortRegisters absolute (APB2Base+$1400);
  327. PortE: TPortRegisters absolute (APB2Base+$1800);
  328. PortF: TPortRegisters absolute (APB2Base+$1C00);
  329. PortG: TPortRegisters absolute (APB2Base+$2000);
  330. { ADC }
  331. ADC1: TADCRegisters absolute (APB2Base+$2400);
  332. ADC2: TADCRegisters absolute (APB2Base+$2800);
  333. ADC3: TADCRegisters absolute (APB2Base+$3C00);
  334. { SDIO }
  335. SDIO: TSDIORegisters absolute (APB2Base+$8000);
  336. { DMA }
  337. DMA1: TDMARegisters absolute (AHBBase+$0000);
  338. DMA2: TDMARegisters absolute (AHBBase+$0400);
  339. { RCC }
  340. RCC: TRCCRegisters absolute (AHBBase+$1000);
  341. { Flash }
  342. Flash: TFlashRegisters absolute (AHBBase+$2000);
  343. { CRC }
  344. CRC: TCRCRegisters absolute (AHBBase+$3000);
  345. implementation
  346. procedure NMI_interrupt; external name 'NMI_interrupt';
  347. procedure Hardfault_interrupt; external name 'Hardfault_interrupt';
  348. procedure MemManage_interrupt; external name 'MemManage_interrupt';
  349. procedure BusFault_interrupt; external name 'BusFault_interrupt';
  350. procedure UsageFault_interrupt; external name 'UsageFault_interrupt';
  351. procedure SWI_interrupt; external name 'SWI_interrupt';
  352. procedure DebugMonitor_interrupt; external name 'DebugMonitor_interrupt';
  353. procedure PendingSV_interrupt; external name 'PendingSV_interrupt';
  354. procedure SysTick_interrupt; external name 'SysTick_interrupt';
  355. procedure Window_Watchdog_interrupt; external name 'Window_Watchdog_interrupt';
  356. procedure PVD_through_EXTI_Line_detection_interrupt; external name 'PVD_through_EXTI_Line_detection_interrupt';
  357. procedure Tamper_interrupt; external name 'Tamper_interrupt';
  358. procedure RTC_global_interrupt; external name 'RTC_global_interrupt';
  359. procedure Flash_global_interrupt; external name 'Flash_global_interrupt';
  360. procedure RCC_global_interrupt; external name 'RCC_global_interrupt';
  361. procedure EXTI_Line0_interrupt; external name 'EXTI_Line0_interrupt';
  362. procedure EXTI_Line1_interrupt; external name 'EXTI_Line1_interrupt';
  363. procedure EXTI_Line2_interrupt; external name 'EXTI_Line2_interrupt';
  364. procedure EXTI_Line3_interrupt; external name 'EXTI_Line3_interrupt';
  365. procedure EXTI_Line4_interrupt; external name 'EXTI_Line4_interrupt';
  366. procedure DMA1_Channel1_global_interrupt; external name 'DMA1_Channel1_global_interrupt';
  367. procedure DMA1_Channel2_global_interrupt; external name 'DMA1_Channel2_global_interrupt';
  368. procedure DMA1_Channel3_global_interrupt; external name 'DMA1_Channel3_global_interrupt';
  369. procedure DMA1_Channel4_global_interrupt; external name 'DMA1_Channel4_global_interrupt';
  370. procedure DMA1_Channel5_global_interrupt; external name 'DMA1_Channel5_global_interrupt';
  371. procedure DMA1_Channel6_global_interrupt; external name 'DMA1_Channel6_global_interrupt';
  372. procedure DMA1_Channel7_global_interrupt; external name 'DMA1_Channel7_global_interrupt';
  373. procedure ADC1_and_ADC2_global_interrupt; external name 'ADC1_and_ADC2_global_interrupt';
  374. procedure CAN1_TX_interrupts; external name 'CAN1_TX_interrupts';
  375. procedure CAN1_RX0_interrupts; external name 'CAN1_RX0_interrupts';
  376. procedure CAN1_RX1_interrupt; external name 'CAN1_RX1_interrupt';
  377. procedure CAN1_SCE_interrupt; external name 'CAN1_SCE_interrupt';
  378. procedure EXTI_Line9_5_interrupts; external name 'EXTI_Line9_5_interrupts';
  379. procedure TIM1_Break_interrupt; external name 'TIM1_Break_interrupt';
  380. procedure TIM1_Update_interrupt; external name 'TIM1_Update_interrupt';
  381. procedure TIM1_Trigger_and_Commutation_interrupts; external name 'TIM1_Trigger_and_Commutation_interrupts';
  382. procedure TIM1_Capture_Compare_interrupt; external name 'TIM1_Capture_Compare_interrupt';
  383. procedure TIM2_global_interrupt; external name 'TIM2_global_interrupt';
  384. procedure TIM3_global_interrupt; external name 'TIM3_global_interrupt';
  385. procedure TIM4_global_interrupt; external name 'TIM4_global_interrupt';
  386. procedure I2C1_event_interrupt; external name 'I2C1_event_interrupt';
  387. procedure I2C1_error_interrupt; external name 'I2C1_error_interrupt';
  388. procedure I2C2_event_interrupt; external name 'I2C2_event_interrupt';
  389. procedure I2C2_error_interrupt; external name 'I2C2_error_interrupt';
  390. procedure SPI1_global_interrupt; external name 'SPI1_global_interrupt';
  391. procedure SPI2_global_interrupt; external name 'SPI2_global_interrupt';
  392. procedure USART1_global_interrupt; external name 'USART1_global_interrupt';
  393. procedure USART2_global_interrupt; external name 'USART2_global_interrupt';
  394. procedure USART3_global_interrupt; external name 'USART3_global_interrupt';
  395. procedure EXTI_Line15_10_interrupts; external name 'EXTI_Line15_10_interrupts';
  396. procedure RTC_alarm_through_EXTI_line_interrupt; external name 'RTC_alarm_through_EXTI_line_interrupt';
  397. procedure USB_OTG_FS_Wakeup_through_EXTI_line_interrupt; external name 'USB_OTG_FS_Wakeup_through_EXTI_line_interrupt';
  398. procedure TIM5_global_interrupt; external name 'TIM5_global_interrupt';
  399. procedure SPI3_global_interrupt; external name 'SPI3_global_interrupt';
  400. procedure UART4_global_interrupt; external name 'UART4_global_interrupt';
  401. procedure UART5_global_interrupt; external name 'UART5_global_interrupt';
  402. procedure TIM6_global_interrupt; external name 'TIM6_global_interrupt';
  403. procedure TIM7_global_interrupt; external name 'TIM7_global_interrupt';
  404. procedure DMA2_Channel1_global_interrupt; external name 'DMA2_Channel1_global_interrupt';
  405. procedure DMA2_Channel2_global_interrupt; external name 'DMA2_Channel2_global_interrupt';
  406. procedure DMA2_Channel3_global_interrupt; external name 'DMA2_Channel3_global_interrupt';
  407. procedure DMA2_Channel4_global_interrupt; external name 'DMA2_Channel4_global_interrupt';
  408. procedure DMA2_Channel5_global_interrupt; external name 'DMA2_Channel5_global_interrupt';
  409. procedure Ethernet_global_interrupt; external name 'Ethernet_global_interrupt';
  410. procedure Ethernet_Wakeup_through_EXTI_line_interrupt; external name 'Ethernet_Wakeup_through_EXTI_line_interrupt';
  411. procedure CAN2_TX_interrupts; external name 'CAN2_TX_interrupts';
  412. procedure CAN2_RX0_interrupts; external name 'CAN2_RX0_interrupts';
  413. procedure CAN2_RX1_interrupt; external name 'CAN2_RX1_interrupt';
  414. procedure CAN2_SCE_interrupt; external name 'CAN2_SCE_interrupt';
  415. procedure USB_On_The_Go_FS_global_interrupt; external name 'USB_On_The_Go_FS_global_interrupt';
  416. {$i cortexm3_start.inc}
  417. procedure Vectors; assembler; nostackframe;
  418. label interrupt_vectors;
  419. asm
  420. .section ".init.interrupt_vectors"
  421. interrupt_vectors:
  422. .long _stack_top
  423. .long Startup
  424. .long NMI_interrupt
  425. .long Hardfault_interrupt
  426. .long MemManage_interrupt
  427. .long BusFault_interrupt
  428. .long UsageFault_interrupt
  429. .long 0
  430. .long 0
  431. .long 0
  432. .long 0
  433. .long SWI_interrupt
  434. .long DebugMonitor_interrupt
  435. .long 0
  436. .long PendingSV_interrupt
  437. .long SysTick_interrupt
  438. .long Window_Watchdog_interrupt
  439. .long PVD_through_EXTI_Line_detection_interrupt
  440. .long Tamper_interrupt
  441. .long RTC_global_interrupt
  442. .long Flash_global_interrupt
  443. .long RCC_global_interrupt
  444. .long EXTI_Line0_interrupt
  445. .long EXTI_Line1_interrupt
  446. .long EXTI_Line2_interrupt
  447. .long EXTI_Line3_interrupt
  448. .long EXTI_Line4_interrupt
  449. .long DMA1_Channel1_global_interrupt
  450. .long DMA1_Channel2_global_interrupt
  451. .long DMA1_Channel3_global_interrupt
  452. .long DMA1_Channel4_global_interrupt
  453. .long DMA1_Channel5_global_interrupt
  454. .long DMA1_Channel6_global_interrupt
  455. .long DMA1_Channel7_global_interrupt
  456. .long ADC1_and_ADC2_global_interrupt
  457. .long CAN1_TX_interrupts
  458. .long CAN1_RX0_interrupts
  459. .long CAN1_RX1_interrupt
  460. .long CAN1_SCE_interrupt
  461. .long EXTI_Line9_5_interrupts
  462. .long TIM1_Break_interrupt
  463. .long TIM1_Update_interrupt
  464. .long TIM1_Trigger_and_Commutation_interrupts
  465. .long TIM1_Capture_Compare_interrupt
  466. .long TIM2_global_interrupt
  467. .long TIM3_global_interrupt
  468. .long TIM4_global_interrupt
  469. .long I2C1_event_interrupt
  470. .long I2C1_error_interrupt
  471. .long I2C2_event_interrupt
  472. .long I2C2_error_interrupt
  473. .long SPI1_global_interrupt
  474. .long SPI2_global_interrupt
  475. .long USART1_global_interrupt
  476. .long USART2_global_interrupt
  477. .long USART3_global_interrupt
  478. .long EXTI_Line15_10_interrupts
  479. .long RTC_alarm_through_EXTI_line_interrupt
  480. .long USB_OTG_FS_Wakeup_through_EXTI_line_interrupt
  481. .long 0
  482. .long 0
  483. .long 0
  484. .long 0
  485. .long 0
  486. .long 0
  487. .long 0
  488. .long TIM5_global_interrupt
  489. .long SPI3_global_interrupt
  490. .long UART4_global_interrupt
  491. .long UART5_global_interrupt
  492. .long TIM6_global_interrupt
  493. .long TIM7_global_interrupt
  494. .long DMA2_Channel1_global_interrupt
  495. .long DMA2_Channel2_global_interrupt
  496. .long DMA2_Channel3_global_interrupt
  497. .long DMA2_Channel4_global_interrupt
  498. .long DMA2_Channel5_global_interrupt
  499. .long Ethernet_global_interrupt
  500. .long Ethernet_Wakeup_through_EXTI_line_interrupt
  501. .long CAN2_TX_interrupts
  502. .long CAN2_RX0_interrupts
  503. .long CAN2_RX1_interrupt
  504. .long CAN2_SCE_interrupt
  505. .long USB_On_The_Go_FS_global_interrupt
  506. .weak NMI_interrupt
  507. .weak Hardfault_interrupt
  508. .weak MemManage_interrupt
  509. .weak BusFault_interrupt
  510. .weak UsageFault_interrupt
  511. .weak SWI_interrupt
  512. .weak DebugMonitor_interrupt
  513. .weak PendingSV_interrupt
  514. .weak SysTick_interrupt
  515. .weak Window_Watchdog_interrupt
  516. .weak PVD_through_EXTI_Line_detection_interrupt
  517. .weak Tamper_interrupt
  518. .weak RTC_global_interrupt
  519. .weak Flash_global_interrupt
  520. .weak RCC_global_interrupt
  521. .weak EXTI_Line0_interrupt
  522. .weak EXTI_Line1_interrupt
  523. .weak EXTI_Line2_interrupt
  524. .weak EXTI_Line3_interrupt
  525. .weak EXTI_Line4_interrupt
  526. .weak DMA1_Channel1_global_interrupt
  527. .weak DMA1_Channel2_global_interrupt
  528. .weak DMA1_Channel3_global_interrupt
  529. .weak DMA1_Channel4_global_interrupt
  530. .weak DMA1_Channel5_global_interrupt
  531. .weak DMA1_Channel6_global_interrupt
  532. .weak DMA1_Channel7_global_interrupt
  533. .weak ADC1_and_ADC2_global_interrupt
  534. .weak CAN1_TX_interrupts
  535. .weak CAN1_RX0_interrupts
  536. .weak CAN1_RX1_interrupt
  537. .weak CAN1_SCE_interrupt
  538. .weak EXTI_Line9_5_interrupts
  539. .weak TIM1_Break_interrupt
  540. .weak TIM1_Update_interrupt
  541. .weak TIM1_Trigger_and_Commutation_interrupts
  542. .weak TIM1_Capture_Compare_interrupt
  543. .weak TIM2_global_interrupt
  544. .weak TIM3_global_interrupt
  545. .weak TIM4_global_interrupt
  546. .weak I2C1_event_interrupt
  547. .weak I2C1_error_interrupt
  548. .weak I2C2_event_interrupt
  549. .weak I2C2_error_interrupt
  550. .weak SPI1_global_interrupt
  551. .weak SPI2_global_interrupt
  552. .weak USART1_global_interrupt
  553. .weak USART2_global_interrupt
  554. .weak USART3_global_interrupt
  555. .weak EXTI_Line15_10_interrupts
  556. .weak RTC_alarm_through_EXTI_line_interrupt
  557. .weak USB_OTG_FS_Wakeup_through_EXTI_line_interrupt
  558. .weak TIM5_global_interrupt
  559. .weak SPI3_global_interrupt
  560. .weak UART4_global_interrupt
  561. .weak UART5_global_interrupt
  562. .weak TIM6_global_interrupt
  563. .weak TIM7_global_interrupt
  564. .weak DMA2_Channel1_global_interrupt
  565. .weak DMA2_Channel2_global_interrupt
  566. .weak DMA2_Channel3_global_interrupt
  567. .weak DMA2_Channel4_global_interrupt
  568. .weak DMA2_Channel5_global_interrupt
  569. .weak Ethernet_global_interrupt
  570. .weak Ethernet_Wakeup_through_EXTI_line_interrupt
  571. .weak CAN2_TX_interrupts
  572. .weak CAN2_RX0_interrupts
  573. .weak CAN2_RX1_interrupt
  574. .weak CAN2_SCE_interrupt
  575. .weak USB_On_The_Go_FS_global_interrupt
  576. .set NMI_interrupt, HaltProc
  577. .set Hardfault_interrupt, HaltProc
  578. .set MemManage_interrupt, HaltProc
  579. .set BusFault_interrupt, HaltProc
  580. .set UsageFault_interrupt, HaltProc
  581. .set SWI_interrupt, HaltProc
  582. .set DebugMonitor_interrupt, HaltProc
  583. .set PendingSV_interrupt, HaltProc
  584. .set SysTick_interrupt, HaltProc
  585. .set Window_Watchdog_interrupt, HaltProc
  586. .set PVD_through_EXTI_Line_detection_interrupt, HaltProc
  587. .set Tamper_interrupt, HaltProc
  588. .set RTC_global_interrupt, HaltProc
  589. .set Flash_global_interrupt, HaltProc
  590. .set RCC_global_interrupt, HaltProc
  591. .set EXTI_Line0_interrupt, HaltProc
  592. .set EXTI_Line1_interrupt, HaltProc
  593. .set EXTI_Line2_interrupt, HaltProc
  594. .set EXTI_Line3_interrupt, HaltProc
  595. .set EXTI_Line4_interrupt, HaltProc
  596. .set DMA1_Channel1_global_interrupt, HaltProc
  597. .set DMA1_Channel2_global_interrupt, HaltProc
  598. .set DMA1_Channel3_global_interrupt, HaltProc
  599. .set DMA1_Channel4_global_interrupt, HaltProc
  600. .set DMA1_Channel5_global_interrupt, HaltProc
  601. .set DMA1_Channel6_global_interrupt, HaltProc
  602. .set DMA1_Channel7_global_interrupt, HaltProc
  603. .set ADC1_and_ADC2_global_interrupt, HaltProc
  604. .set CAN1_TX_interrupts, HaltProc
  605. .set CAN1_RX0_interrupts, HaltProc
  606. .set CAN1_RX1_interrupt, HaltProc
  607. .set CAN1_SCE_interrupt, HaltProc
  608. .set EXTI_Line9_5_interrupts, HaltProc
  609. .set TIM1_Break_interrupt, HaltProc
  610. .set TIM1_Update_interrupt, HaltProc
  611. .set TIM1_Trigger_and_Commutation_interrupts, HaltProc
  612. .set TIM1_Capture_Compare_interrupt, HaltProc
  613. .set TIM2_global_interrupt, HaltProc
  614. .set TIM3_global_interrupt, HaltProc
  615. .set TIM4_global_interrupt, HaltProc
  616. .set I2C1_event_interrupt, HaltProc
  617. .set I2C1_error_interrupt, HaltProc
  618. .set I2C2_event_interrupt, HaltProc
  619. .set I2C2_error_interrupt, HaltProc
  620. .set SPI1_global_interrupt, HaltProc
  621. .set SPI2_global_interrupt, HaltProc
  622. .set USART1_global_interrupt, HaltProc
  623. .set USART2_global_interrupt, HaltProc
  624. .set USART3_global_interrupt, HaltProc
  625. .set EXTI_Line15_10_interrupts, HaltProc
  626. .set RTC_alarm_through_EXTI_line_interrupt, HaltProc
  627. .set USB_OTG_FS_Wakeup_through_EXTI_line_interrupt, HaltProc
  628. .set TIM5_global_interrupt, HaltProc
  629. .set SPI3_global_interrupt, HaltProc
  630. .set UART4_global_interrupt, HaltProc
  631. .set UART5_global_interrupt, HaltProc
  632. .set TIM6_global_interrupt, HaltProc
  633. .set TIM7_global_interrupt, HaltProc
  634. .set DMA2_Channel1_global_interrupt, HaltProc
  635. .set DMA2_Channel2_global_interrupt, HaltProc
  636. .set DMA2_Channel3_global_interrupt, HaltProc
  637. .set DMA2_Channel4_global_interrupt, HaltProc
  638. .set DMA2_Channel5_global_interrupt, HaltProc
  639. .set Ethernet_global_interrupt, HaltProc
  640. .set Ethernet_Wakeup_through_EXTI_line_interrupt, HaltProc
  641. .set CAN2_TX_interrupts, HaltProc
  642. .set CAN2_RX0_interrupts, HaltProc
  643. .set CAN2_RX1_interrupt, HaltProc
  644. .set CAN2_SCE_interrupt, HaltProc
  645. .set USB_On_The_Go_FS_global_interrupt, HaltProc
  646. .text
  647. end;
  648. end.