stm32g071xx.pp 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786
  1. unit stm32g071xx;
  2. (**
  3. ******************************************************************************
  4. * @file stm32g071xx.h
  5. * @author MCD Application Team
  6. * @brief CMSIS Cortex-M0+ Device Peripheral Access Layer Header File.
  7. * This file contains all the peripheral register's definitions, bits
  8. * definitions and memory mapping for stm32g071xx devices.
  9. *
  10. * This file contains:
  11. * - Data structures and the address mapping for all peripherals
  12. * - Peripheral's registers declarations and bits definition
  13. * - Macros to access peripheral's registers hardware
  14. *
  15. ******************************************************************************
  16. * @attention
  17. *
  18. * <h2><center>&copy; Copyright (c) 2018 STMicroelectronics.
  19. * All rights reserved.</center></h2>
  20. *
  21. * This software component is licensed by ST under BSD 3-Clause license,
  22. * the "License"; You may not use this file except in compliance with the
  23. * License. You may obtain a copy of the License at:
  24. * opensource.org/licenses/BSD-3-Clause
  25. *
  26. ******************************************************************************
  27. *)
  28. interface
  29. {$PACKRECORDS C}
  30. {$GOTO ON}
  31. {$SCOPEDENUMS ON}
  32. type
  33. TIRQn_Enum = (
  34. NonMaskableInt_IRQn = -14,
  35. HardFault_IRQn = -13,
  36. SVC_IRQn = -5,
  37. PendSV_IRQn = -2,
  38. SysTick_IRQn = -1,
  39. WWDG_IRQn = 0,
  40. PVD_IRQn = 1,
  41. RTC_TAMP_IRQn = 2,
  42. FLASH_IRQn = 3,
  43. RCC_IRQn = 4,
  44. EXTI0_1_IRQn = 5,
  45. EXTI2_3_IRQn = 6,
  46. EXTI4_15_IRQn = 7,
  47. UCPD1_2_IRQn = 8,
  48. DMA1_Channel1_IRQn = 9,
  49. DMA1_Channel2_3_IRQn = 10,
  50. DMA1_Ch4_7_DMAMUX1_OVR_IRQn = 11,
  51. ADC1_COMP_IRQn = 12,
  52. TIM1_BRK_UP_TRG_COM_IRQn = 13,
  53. TIM1_CC_IRQn = 14,
  54. TIM2_IRQn = 15,
  55. TIM3_IRQn = 16,
  56. TIM6_DAC_LPTIM1_IRQn = 17,
  57. TIM7_LPTIM2_IRQn = 18,
  58. TIM14_IRQn = 19,
  59. TIM15_IRQn = 20,
  60. TIM16_IRQn = 21,
  61. TIM17_IRQn = 22,
  62. I2C1_IRQn = 23,
  63. I2C2_IRQn = 24,
  64. SPI1_IRQn = 25,
  65. SPI2_IRQn = 26,
  66. USART1_IRQn = 27,
  67. USART2_IRQn = 28,
  68. USART3_4_LPUART1_IRQn = 29,
  69. CEC_IRQn = 30
  70. );
  71. TADC_Registers = record
  72. ISR : longword;
  73. IER : longword;
  74. CR : longword;
  75. CFGR1 : longword;
  76. CFGR2 : longword;
  77. SMPR : longword;
  78. RESERVED1 : longword;
  79. RESERVED2 : longword;
  80. TR1 : longword;
  81. TR2 : longword;
  82. CHSELR : longword;
  83. TR3 : longword;
  84. RESERVED3 : array[0..3] of longword;
  85. DR : longword;
  86. RESERVED4 : array[0..22] of longword;
  87. AWD2CR : longword;
  88. AWD3CR : longword;
  89. RESERVED5 : array[0..2] of longword;
  90. CALFACT : longword;
  91. end;
  92. TADC_Common_Registers = record
  93. CCR : longword;
  94. end;
  95. TCEC_Registers = record
  96. CR : longword;
  97. CFGR : longword;
  98. TXDR : longword;
  99. RXDR : longword;
  100. ISR : longword;
  101. IER : longword;
  102. end;
  103. TCOMP_Registers = record
  104. CSR : longword;
  105. end;
  106. TCOMP_Common_Registers = record
  107. CSR_ODD : longword;
  108. CSR_EVEN : longword;
  109. end;
  110. TCRC_Registers = record
  111. DR : longword;
  112. IDR : longword;
  113. CR : longword;
  114. RESERVED1 : longword;
  115. INIT : longword;
  116. POL : longword;
  117. end;
  118. TDAC_Registers = record
  119. CR : longword;
  120. SWTRIGR : longword;
  121. DHR12R1 : longword;
  122. DHR12L1 : longword;
  123. DHR8R1 : longword;
  124. DHR12R2 : longword;
  125. DHR12L2 : longword;
  126. DHR8R2 : longword;
  127. DHR12RD : longword;
  128. DHR12LD : longword;
  129. DHR8RD : longword;
  130. DOR1 : longword;
  131. DOR2 : longword;
  132. SR : longword;
  133. CCR : longword;
  134. MCR : longword;
  135. SHSR1 : longword;
  136. SHSR2 : longword;
  137. SHHR : longword;
  138. SHRR : longword;
  139. end;
  140. TDBG_Registers = record
  141. IDCODE : longword;
  142. CR : longword;
  143. APBFZ1 : longword;
  144. APBFZ2 : longword;
  145. end;
  146. TDMA_Channel_Registers = record
  147. CCR : longword;
  148. CNDTR : longword;
  149. CPAR : longword;
  150. CMAR : longword;
  151. end;
  152. TDMA_Registers = record
  153. ISR : longword;
  154. IFCR : longword;
  155. end;
  156. TDMAMUX_Channel_Registers = record
  157. CCR : longword;
  158. end;
  159. TDMAMUX_ChannelStatus_Registers = record
  160. CSR : longword;
  161. CFR : longword;
  162. end;
  163. TDMAMUX_RequestGen_Registers = record
  164. RGCR : longword;
  165. end;
  166. TDMAMUX_RequestGenStatus_Registers = record
  167. RGSR : longword;
  168. RGCFR : longword;
  169. end;
  170. TEXTI_Registers = record
  171. RTSR1 : longword;
  172. FTSR1 : longword;
  173. SWIER1 : longword;
  174. RPR1 : longword;
  175. FPR1 : longword;
  176. RESERVED1 : array[0..2] of longword;
  177. RESERVED2 : array[0..4] of longword;
  178. RESERVED3 : array[0..10] of longword;
  179. EXTICR : array[0..3] of longword;
  180. RESERVED4 : array[0..3] of longword;
  181. IMR1 : longword;
  182. EMR1 : longword;
  183. RESERVED5 : array[0..1] of longword;
  184. IMR2 : longword;
  185. EMR2 : longword;
  186. end;
  187. TFLASH_Registers = record
  188. ACR : longword;
  189. RESERVED1 : longword;
  190. KEYR : longword;
  191. OPTKEYR : longword;
  192. SR : longword;
  193. CR : longword;
  194. ECCR : longword;
  195. RESERVED2 : longword;
  196. OPTR : longword;
  197. PCROP1ASR : longword;
  198. PCROP1AER : longword;
  199. WRP1AR : longword;
  200. WRP1BR : longword;
  201. PCROP1BSR : longword;
  202. PCROP1BER : longword;
  203. RESERVED3 : array[0..16] of longword;
  204. SECR : longword;
  205. end;
  206. TGPIO_Registers = record
  207. MODER : longword;
  208. OTYPER : longword;
  209. OSPEEDR : longword;
  210. PUPDR : longword;
  211. IDR : longword;
  212. ODR : longword;
  213. BSRR : longword;
  214. LCKR : longword;
  215. AFR : array[0..1] of longword;
  216. BRR : longword;
  217. end;
  218. TI2C_Registers = record
  219. CR1 : longword;
  220. CR2 : longword;
  221. OAR1 : longword;
  222. OAR2 : longword;
  223. TIMINGR : longword;
  224. TIMEOUTR : longword;
  225. ISR : longword;
  226. ICR : longword;
  227. PECR : longword;
  228. RXDR : longword;
  229. TXDR : longword;
  230. end;
  231. TIWDG_Registers = record
  232. KR : longword;
  233. PR : longword;
  234. RLR : longword;
  235. SR : longword;
  236. WINR : longword;
  237. end;
  238. TLPTIM_Registers = record
  239. ISR : longword;
  240. ICR : longword;
  241. IER : longword;
  242. CFGR : longword;
  243. CR : longword;
  244. CMP : longword;
  245. ARR : longword;
  246. CNT : longword;
  247. RESERVED1 : longword;
  248. CFGR2 : longword;
  249. end;
  250. TPWR_Registers = record
  251. CR1 : longword;
  252. CR2 : longword;
  253. CR3 : longword;
  254. CR4 : longword;
  255. SR1 : longword;
  256. SR2 : longword;
  257. SCR : longword;
  258. RESERVED1 : longword;
  259. PUCRA : longword;
  260. PDCRA : longword;
  261. PUCRB : longword;
  262. PDCRB : longword;
  263. PUCRC : longword;
  264. PDCRC : longword;
  265. PUCRD : longword;
  266. PDCRD : longword;
  267. RESERVED2 : longword;
  268. RESERVED3 : longword;
  269. PUCRF : longword;
  270. PDCRF : longword;
  271. end;
  272. TRCC_Registers = record
  273. CR : longword;
  274. ICSCR : longword;
  275. CFGR : longword;
  276. PLLCFGR : longword;
  277. RESERVED0 : longword;
  278. RESERVED1 : longword;
  279. CIER : longword;
  280. CIFR : longword;
  281. CICR : longword;
  282. IOPRSTR : longword;
  283. AHBRSTR : longword;
  284. APBRSTR1 : longword;
  285. APBRSTR2 : longword;
  286. IOPENR : longword;
  287. AHBENR : longword;
  288. APBENR1 : longword;
  289. APBENR2 : longword;
  290. IOPSMENR : longword;
  291. AHBSMENR : longword;
  292. APBSMENR1 : longword;
  293. APBSMENR2 : longword;
  294. CCIPR : longword;
  295. RESERVED2 : longword;
  296. BDCR : longword;
  297. CSR : longword;
  298. end;
  299. TRTC_Registers = record
  300. TR : longword;
  301. DR : longword;
  302. SSR : longword;
  303. ICSR : longword;
  304. PRER : longword;
  305. WUTR : longword;
  306. CR : longword;
  307. RESERVED0 : longword;
  308. RESERVED1 : longword;
  309. WPR : longword;
  310. CALR : longword;
  311. SHIFTR : longword;
  312. TSTR : longword;
  313. TSDR : longword;
  314. TSSSR : longword;
  315. RESERVED2 : longword;
  316. ALRMAR : longword;
  317. ALRMASSR : longword;
  318. ALRMBR : longword;
  319. ALRMBSSR : longword;
  320. SR : longword;
  321. MISR : longword;
  322. RESERVED3 : longword;
  323. SCR : longword;
  324. &OR : longword;
  325. end;
  326. TTAMP_Registers = record
  327. CR1 : longword;
  328. CR2 : longword;
  329. RESERVED0 : longword;
  330. FLTCR : longword;
  331. RESERVED1 : array[0..6] of longword;
  332. IER : longword;
  333. SR : longword;
  334. MISR : longword;
  335. RESERVED2 : longword;
  336. SCR : longword;
  337. RESERVED3 : array[0..47] of longword;
  338. BKP0R : longword;
  339. BKP1R : longword;
  340. BKP2R : longword;
  341. BKP3R : longword;
  342. BKP4R : longword;
  343. end;
  344. TSPI_Registers = record
  345. CR1 : longword;
  346. CR2 : longword;
  347. SR : longword;
  348. DR : longword;
  349. CRCPR : longword;
  350. RXCRCR : longword;
  351. TXCRCR : longword;
  352. I2SCFGR : longword;
  353. I2SPR : longword;
  354. end;
  355. TSYSCFG_Registers = record
  356. CFGR1 : longword;
  357. RESERVED0 : array[0..4] of longword;
  358. CFGR2 : longword;
  359. RESERVED1 : array[0..24] of longword;
  360. IT_LINE_SR : array[0..31] of longword;
  361. end;
  362. TTIM_Registers = record
  363. CR1 : longword;
  364. CR2 : longword;
  365. SMCR : longword;
  366. DIER : longword;
  367. SR : longword;
  368. EGR : longword;
  369. CCMR1 : longword;
  370. CCMR2 : longword;
  371. CCER : longword;
  372. CNT : longword;
  373. PSC : longword;
  374. ARR : longword;
  375. RCR : longword;
  376. CCR1 : longword;
  377. CCR2 : longword;
  378. CCR3 : longword;
  379. CCR4 : longword;
  380. BDTR : longword;
  381. DCR : longword;
  382. DMAR : longword;
  383. OR1 : longword;
  384. CCMR3 : longword;
  385. CCR5 : longword;
  386. CCR6 : longword;
  387. AF1 : longword;
  388. AF2 : longword;
  389. TISEL : longword;
  390. end;
  391. TUSART_Registers = record
  392. CR1 : longword;
  393. CR2 : longword;
  394. CR3 : longword;
  395. BRR : longword;
  396. GTPR : longword;
  397. RTOR : longword;
  398. RQR : longword;
  399. ISR : longword;
  400. ICR : longword;
  401. RDR : longword;
  402. TDR : longword;
  403. PRESC : longword;
  404. end;
  405. TVREFBUF_Registers = record
  406. CSR : longword;
  407. CCR : longword;
  408. end;
  409. TWWDG_Registers = record
  410. CR : longword;
  411. CFR : longword;
  412. SR : longword;
  413. end;
  414. TUCPD_Registers = record
  415. CFG1 : longword;
  416. CFG2 : longword;
  417. RESERVED0 : longword;
  418. CR : longword;
  419. IMR : longword;
  420. SR : longword;
  421. ICR : longword;
  422. TX_ORDSET : longword;
  423. TX_PAYSZ : longword;
  424. TXDR : longword;
  425. RX_ORDSET : longword;
  426. RX_PAYSZ : longword;
  427. RXDR : longword;
  428. RX_ORDEXT1 : longword;
  429. RX_ORDEXT2 : longword;
  430. end;
  431. const
  432. FLASH_BASE = $08000000;
  433. SRAM_BASE = $20000000;
  434. PERIPH_BASE = $40000000;
  435. IOPORT_BASE = $50000000;
  436. APBPERIPH_BASE= PERIPH_BASE;
  437. AHBPERIPH_BASE= PERIPH_BASE + $00020000;
  438. TIM2_BASE = APBPERIPH_BASE + 0;
  439. TIM3_BASE = APBPERIPH_BASE + $00000400;
  440. TIM6_BASE = APBPERIPH_BASE + $00001000;
  441. TIM7_BASE = APBPERIPH_BASE + $00001400;
  442. TIM14_BASE = APBPERIPH_BASE + $00002000;
  443. RTC_BASE = APBPERIPH_BASE + $00002800;
  444. WWDG_BASE = APBPERIPH_BASE + $00002C00;
  445. IWDG_BASE = APBPERIPH_BASE + $00003000;
  446. SPI2_BASE = APBPERIPH_BASE + $00003800;
  447. USART2_BASE = APBPERIPH_BASE + $00004400;
  448. USART3_BASE = APBPERIPH_BASE + $00004800;
  449. USART4_BASE = APBPERIPH_BASE + $00004C00;
  450. I2C1_BASE = APBPERIPH_BASE + $00005400;
  451. I2C2_BASE = APBPERIPH_BASE + $00005800;
  452. PWR_BASE = APBPERIPH_BASE + $00007000;
  453. DAC1_BASE = APBPERIPH_BASE + $00007400;
  454. DAC_BASE = APBPERIPH_BASE + $00007400;
  455. CEC_BASE = APBPERIPH_BASE + $00007800;
  456. LPTIM1_BASE = APBPERIPH_BASE + $00007C00;
  457. LPUART1_BASE = APBPERIPH_BASE + $00008000;
  458. LPTIM2_BASE = APBPERIPH_BASE + $00009400;
  459. UCPD1_BASE = APBPERIPH_BASE + $0000A000;
  460. UCPD2_BASE = APBPERIPH_BASE + $0000A400;
  461. TAMP_BASE = APBPERIPH_BASE + $0000B000;
  462. SYSCFG_BASE = APBPERIPH_BASE + $00010000;
  463. VREFBUF_BASE = APBPERIPH_BASE + $00010030;
  464. COMP1_BASE = SYSCFG_BASE + $0200;
  465. COMP2_BASE = SYSCFG_BASE + $0204;
  466. ADC1_BASE = APBPERIPH_BASE + $00012400;
  467. ADC1_COMMON_BASE= APBPERIPH_BASE + $00012708;
  468. ADC_BASE = ADC1_COMMON_BASE;
  469. TIM1_BASE = APBPERIPH_BASE + $00012C00;
  470. SPI1_BASE = APBPERIPH_BASE + $00013000;
  471. USART1_BASE = APBPERIPH_BASE + $00013800;
  472. TIM15_BASE = APBPERIPH_BASE + $00014000;
  473. TIM16_BASE = APBPERIPH_BASE + $00014400;
  474. TIM17_BASE = APBPERIPH_BASE + $00014800;
  475. DBG_BASE = APBPERIPH_BASE + $00015800;
  476. DMA1_BASE = AHBPERIPH_BASE;
  477. DMAMUX1_BASE = AHBPERIPH_BASE + $00000800;
  478. RCC_BASE = AHBPERIPH_BASE + $00001000;
  479. EXTI_BASE = AHBPERIPH_BASE + $00001800;
  480. FLASH_R_BASE = AHBPERIPH_BASE + $00002000;
  481. CRC_BASE = AHBPERIPH_BASE + $00003000;
  482. DMA1_Channel1_BASE= DMA1_BASE + $00000008;
  483. DMA1_Channel2_BASE= DMA1_BASE + $0000001C;
  484. DMA1_Channel3_BASE= DMA1_BASE + $00000030;
  485. DMA1_Channel4_BASE= DMA1_BASE + $00000044;
  486. DMA1_Channel5_BASE= DMA1_BASE + $00000058;
  487. DMA1_Channel6_BASE= DMA1_BASE + $0000006C;
  488. DMA1_Channel7_BASE= DMA1_BASE + $00000080;
  489. DMAMUX1_Channel0_BASE= DMAMUX1_BASE;
  490. DMAMUX1_Channel1_BASE= DMAMUX1_BASE + $00000004;
  491. DMAMUX1_Channel2_BASE= DMAMUX1_BASE + $00000008;
  492. DMAMUX1_Channel3_BASE= DMAMUX1_BASE + $0000000C;
  493. DMAMUX1_Channel4_BASE= DMAMUX1_BASE + $00000010;
  494. DMAMUX1_Channel5_BASE= DMAMUX1_BASE + $00000014;
  495. DMAMUX1_Channel6_BASE= DMAMUX1_BASE + $00000018;
  496. DMAMUX1_RequestGenerator0_BASE= DMAMUX1_BASE + $00000100;
  497. DMAMUX1_RequestGenerator1_BASE= DMAMUX1_BASE + $00000104;
  498. DMAMUX1_RequestGenerator2_BASE= DMAMUX1_BASE + $00000108;
  499. DMAMUX1_RequestGenerator3_BASE= DMAMUX1_BASE + $0000010C;
  500. DMAMUX1_ChannelStatus_BASE= DMAMUX1_BASE + $00000080;
  501. DMAMUX1_RequestGenStatus_BASE= DMAMUX1_BASE + $00000140;
  502. GPIOA_BASE = IOPORT_BASE + $00000000;
  503. GPIOB_BASE = IOPORT_BASE + $00000400;
  504. GPIOC_BASE = IOPORT_BASE + $00000800;
  505. GPIOD_BASE = IOPORT_BASE + $00000C00;
  506. GPIOF_BASE = IOPORT_BASE + $00001400;
  507. PACKAGE_BASE = $1FFF7500;
  508. UID_BASE = $1FFF7590;
  509. FLASHSIZE_BASE= $1FFF75E0;
  510. var
  511. TIM2 : TTIM_Registers absolute TIM2_BASE;
  512. TIM3 : TTIM_Registers absolute TIM3_BASE;
  513. TIM6 : TTIM_Registers absolute TIM6_BASE;
  514. TIM7 : TTIM_Registers absolute TIM7_BASE;
  515. TIM14 : TTIM_Registers absolute TIM14_BASE;
  516. RTC : TRTC_Registers absolute RTC_BASE;
  517. TAMP : TTAMP_Registers absolute TAMP_BASE;
  518. WWDG : TWWDG_Registers absolute WWDG_BASE;
  519. IWDG : TIWDG_Registers absolute IWDG_BASE;
  520. SPI2 : TSPI_Registers absolute SPI2_BASE;
  521. USART2 : TUSART_Registers absolute USART2_BASE;
  522. USART3 : TUSART_Registers absolute USART3_BASE;
  523. USART4 : TUSART_Registers absolute USART4_BASE;
  524. I2C1 : TI2C_Registers absolute I2C1_BASE;
  525. I2C2 : TI2C_Registers absolute I2C2_BASE;
  526. LPTIM1 : TLPTIM_Registers absolute LPTIM1_BASE;
  527. PWR : TPWR_Registers absolute PWR_BASE;
  528. RCC : TRCC_Registers absolute RCC_BASE;
  529. EXTI : TEXTI_Registers absolute EXTI_BASE;
  530. DAC1 : TDAC_Registers absolute DAC1_BASE;
  531. DAC : TDAC_Registers absolute DAC_BASE;
  532. LPUART1 : TUSART_Registers absolute LPUART1_BASE;
  533. LPTIM2 : TLPTIM_Registers absolute LPTIM2_BASE;
  534. CEC : TCEC_Registers absolute CEC_BASE;
  535. SYSCFG : TSYSCFG_Registers absolute SYSCFG_BASE;
  536. VREFBUF : TVREFBUF_Registers absolute VREFBUF_BASE;
  537. COMP1 : TCOMP_Registers absolute COMP1_BASE;
  538. COMP2 : TCOMP_Registers absolute COMP2_BASE;
  539. COMP12_COMMON : TCOMP_Common_Registers absolute COMP1_BASE;
  540. TIM1 : TTIM_Registers absolute TIM1_BASE;
  541. SPI1 : TSPI_Registers absolute SPI1_BASE;
  542. USART1 : TUSART_Registers absolute USART1_BASE;
  543. TIM15 : TTIM_Registers absolute TIM15_BASE;
  544. TIM16 : TTIM_Registers absolute TIM16_BASE;
  545. TIM17 : TTIM_Registers absolute TIM17_BASE;
  546. DMA1 : TDMA_Registers absolute DMA1_BASE;
  547. FLASH : TFLASH_Registers absolute FLASH_R_BASE;
  548. CRC : TCRC_Registers absolute CRC_BASE;
  549. GPIOA : TGPIO_Registers absolute GPIOA_BASE;
  550. GPIOB : TGPIO_Registers absolute GPIOB_BASE;
  551. GPIOC : TGPIO_Registers absolute GPIOC_BASE;
  552. GPIOD : TGPIO_Registers absolute GPIOD_BASE;
  553. GPIOF : TGPIO_Registers absolute GPIOF_BASE;
  554. ADC1 : TADC_Registers absolute ADC1_BASE;
  555. ADC1_COMMON : TADC_Common_Registers absolute ADC1_COMMON_BASE;
  556. UCPD1 : TUCPD_Registers absolute UCPD1_BASE;
  557. UCPD2 : TUCPD_Registers absolute UCPD2_BASE;
  558. DMA1_Channel1 : TDMA_Channel_Registers absolute DMA1_Channel1_BASE;
  559. DMA1_Channel2 : TDMA_Channel_Registers absolute DMA1_Channel2_BASE;
  560. DMA1_Channel3 : TDMA_Channel_Registers absolute DMA1_Channel3_BASE;
  561. DMA1_Channel4 : TDMA_Channel_Registers absolute DMA1_Channel4_BASE;
  562. DMA1_Channel5 : TDMA_Channel_Registers absolute DMA1_Channel5_BASE;
  563. DMA1_Channel6 : TDMA_Channel_Registers absolute DMA1_Channel6_BASE;
  564. DMA1_Channel7 : TDMA_Channel_Registers absolute DMA1_Channel7_BASE;
  565. DMAMUX1 : TDMAMUX_Channel_Registers absolute DMAMUX1_BASE;
  566. DMAMUX1_Channel0: TDMAMUX_Channel_Registers absolute DMAMUX1_Channel0_BASE;
  567. DMAMUX1_Channel1: TDMAMUX_Channel_Registers absolute DMAMUX1_Channel1_BASE;
  568. DMAMUX1_Channel2: TDMAMUX_Channel_Registers absolute DMAMUX1_Channel2_BASE;
  569. DMAMUX1_Channel3: TDMAMUX_Channel_Registers absolute DMAMUX1_Channel3_BASE;
  570. DMAMUX1_Channel4: TDMAMUX_Channel_Registers absolute DMAMUX1_Channel4_BASE;
  571. DMAMUX1_Channel5: TDMAMUX_Channel_Registers absolute DMAMUX1_Channel5_BASE;
  572. DMAMUX1_Channel6: TDMAMUX_Channel_Registers absolute DMAMUX1_Channel6_BASE;
  573. DMAMUX1_RequestGenerator0: TDMAMUX_RequestGen_Registers absolute DMAMUX1_RequestGenerator0_BASE;
  574. DMAMUX1_RequestGenerator1: TDMAMUX_RequestGen_Registers absolute DMAMUX1_RequestGenerator1_BASE;
  575. DMAMUX1_RequestGenerator2: TDMAMUX_RequestGen_Registers absolute DMAMUX1_RequestGenerator2_BASE;
  576. DMAMUX1_RequestGenerator3: TDMAMUX_RequestGen_Registers absolute DMAMUX1_RequestGenerator3_BASE;
  577. DMAMUX1_ChannelStatus: TDMAMUX_ChannelStatus_Registers absolute DMAMUX1_ChannelStatus_BASE;
  578. DMAMUX1_RequestGenStatus: TDMAMUX_RequestGenStatus_Registers absolute DMAMUX1_RequestGenStatus_BASE;
  579. DBG : TDBG_Registers absolute DBG_BASE;
  580. implementation
  581. procedure NonMaskableInt_Handler; external name 'NonMaskableInt_Handler';
  582. procedure HardFault_Handler; external name 'HardFault_Handler';
  583. procedure SVC_Handler; external name 'SVC_Handler';
  584. procedure PendSV_Handler; external name 'PendSV_Handler';
  585. procedure SysTick_Handler; external name 'SysTick_Handler';
  586. procedure WWDG_Handler; external name 'WWDG_Handler';
  587. procedure PVD_Handler; external name 'PVD_Handler';
  588. procedure RTC_TAMP_Handler; external name 'RTC_TAMP_Handler';
  589. procedure FLASH_Handler; external name 'FLASH_Handler';
  590. procedure RCC_Handler; external name 'RCC_Handler';
  591. procedure EXTI0_1_Handler; external name 'EXTI0_1_Handler';
  592. procedure EXTI2_3_Handler; external name 'EXTI2_3_Handler';
  593. procedure EXTI4_15_Handler; external name 'EXTI4_15_Handler';
  594. procedure UCPD1_2_Handler; external name 'UCPD1_2_Handler';
  595. procedure DMA1_Channel1_Handler; external name 'DMA1_Channel1_Handler';
  596. procedure DMA1_Channel2_3_Handler; external name 'DMA1_Channel2_3_Handler';
  597. procedure DMA1_Ch4_7_DMAMUX1_OVR_Handler; external name 'DMA1_Ch4_7_DMAMUX1_OVR_Handler';
  598. procedure ADC1_COMP_Handler; external name 'ADC1_COMP_Handler';
  599. procedure TIM1_BRK_UP_TRG_COM_Handler; external name 'TIM1_BRK_UP_TRG_COM_Handler';
  600. procedure TIM1_CC_Handler; external name 'TIM1_CC_Handler';
  601. procedure TIM2_Handler; external name 'TIM2_Handler';
  602. procedure TIM3_Handler; external name 'TIM3_Handler';
  603. procedure TIM6_DAC_LPTIM1_Handler; external name 'TIM6_DAC_LPTIM1_Handler';
  604. procedure TIM7_LPTIM2_Handler; external name 'TIM7_LPTIM2_Handler';
  605. procedure TIM14_Handler; external name 'TIM14_Handler';
  606. procedure TIM15_Handler; external name 'TIM15_Handler';
  607. procedure TIM16_Handler; external name 'TIM16_Handler';
  608. procedure TIM17_Handler; external name 'TIM17_Handler';
  609. procedure I2C1_Handler; external name 'I2C1_Handler';
  610. procedure I2C2_Handler; external name 'I2C2_Handler';
  611. procedure SPI1_Handler; external name 'SPI1_Handler';
  612. procedure SPI2_Handler; external name 'SPI2_Handler';
  613. procedure USART1_Handler; external name 'USART1_Handler';
  614. procedure USART2_Handler; external name 'USART2_Handler';
  615. procedure USART3_4_LPUART1_Handler; external name 'USART3_4_LPUART1_Handler';
  616. procedure CEC_Handler; external name 'CEC_Handler';
  617. {$i cortexm0_start.inc}
  618. procedure Vectors; assembler; nostackframe;
  619. label interrupt_vectors;
  620. asm
  621. .section ".init.interrupt_vectors"
  622. interrupt_vectors:
  623. .long _stack_top
  624. .long Startup
  625. .long NonMaskableInt_Handler
  626. .long HardFault_Handler
  627. .long 0
  628. .long 0
  629. .long 0
  630. .long 0
  631. .long 0
  632. .long 0
  633. .long 0
  634. .long SVC_Handler
  635. .long 0
  636. .long 0
  637. .long PendSV_Handler
  638. .long SysTick_Handler
  639. .long WWDG_Handler
  640. .long PVD_Handler
  641. .long RTC_TAMP_Handler
  642. .long FLASH_Handler
  643. .long RCC_Handler
  644. .long EXTI0_1_Handler
  645. .long EXTI2_3_Handler
  646. .long EXTI4_15_Handler
  647. .long UCPD1_2_Handler
  648. .long DMA1_Channel1_Handler
  649. .long DMA1_Channel2_3_Handler
  650. .long DMA1_Ch4_7_DMAMUX1_OVR_Handler
  651. .long ADC1_COMP_Handler
  652. .long TIM1_BRK_UP_TRG_COM_Handler
  653. .long TIM1_CC_Handler
  654. .long TIM2_Handler
  655. .long TIM3_Handler
  656. .long TIM6_DAC_LPTIM1_Handler
  657. .long TIM7_LPTIM2_Handler
  658. .long TIM14_Handler
  659. .long TIM15_Handler
  660. .long TIM16_Handler
  661. .long TIM17_Handler
  662. .long I2C1_Handler
  663. .long I2C2_Handler
  664. .long SPI1_Handler
  665. .long SPI2_Handler
  666. .long USART1_Handler
  667. .long USART2_Handler
  668. .long USART3_4_LPUART1_Handler
  669. .long CEC_Handler
  670. .weak NonMaskableInt_Handler
  671. .weak HardFault_Handler
  672. .weak SVC_Handler
  673. .weak PendSV_Handler
  674. .weak SysTick_Handler
  675. .weak WWDG_Handler
  676. .weak PVD_Handler
  677. .weak RTC_TAMP_Handler
  678. .weak FLASH_Handler
  679. .weak RCC_Handler
  680. .weak EXTI0_1_Handler
  681. .weak EXTI2_3_Handler
  682. .weak EXTI4_15_Handler
  683. .weak UCPD1_2_Handler
  684. .weak DMA1_Channel1_Handler
  685. .weak DMA1_Channel2_3_Handler
  686. .weak DMA1_Ch4_7_DMAMUX1_OVR_Handler
  687. .weak ADC1_COMP_Handler
  688. .weak TIM1_BRK_UP_TRG_COM_Handler
  689. .weak TIM1_CC_Handler
  690. .weak TIM2_Handler
  691. .weak TIM3_Handler
  692. .weak TIM6_DAC_LPTIM1_Handler
  693. .weak TIM7_LPTIM2_Handler
  694. .weak TIM14_Handler
  695. .weak TIM15_Handler
  696. .weak TIM16_Handler
  697. .weak TIM17_Handler
  698. .weak I2C1_Handler
  699. .weak I2C2_Handler
  700. .weak SPI1_Handler
  701. .weak SPI2_Handler
  702. .weak USART1_Handler
  703. .weak USART2_Handler
  704. .weak USART3_4_LPUART1_Handler
  705. .weak CEC_Handler
  706. .set NonMaskableInt_Handler, Haltproc
  707. .set HardFault_Handler, Haltproc
  708. .set SVC_Handler, Haltproc
  709. .set PendSV_Handler, Haltproc
  710. .set SysTick_Handler, Haltproc
  711. .set WWDG_Handler, Haltproc
  712. .set PVD_Handler, Haltproc
  713. .set RTC_TAMP_Handler, Haltproc
  714. .set FLASH_Handler, Haltproc
  715. .set RCC_Handler, Haltproc
  716. .set EXTI0_1_Handler, Haltproc
  717. .set EXTI2_3_Handler, Haltproc
  718. .set EXTI4_15_Handler, Haltproc
  719. .set UCPD1_2_Handler, Haltproc
  720. .set DMA1_Channel1_Handler, Haltproc
  721. .set DMA1_Channel2_3_Handler, Haltproc
  722. .set DMA1_Ch4_7_DMAMUX1_OVR_Handler, Haltproc
  723. .set ADC1_COMP_Handler, Haltproc
  724. .set TIM1_BRK_UP_TRG_COM_Handler, Haltproc
  725. .set TIM1_CC_Handler, Haltproc
  726. .set TIM2_Handler, Haltproc
  727. .set TIM3_Handler, Haltproc
  728. .set TIM6_DAC_LPTIM1_Handler, Haltproc
  729. .set TIM7_LPTIM2_Handler, Haltproc
  730. .set TIM14_Handler, Haltproc
  731. .set TIM15_Handler, Haltproc
  732. .set TIM16_Handler, Haltproc
  733. .set TIM17_Handler, Haltproc
  734. .set I2C1_Handler, Haltproc
  735. .set I2C2_Handler, Haltproc
  736. .set SPI1_Handler, Haltproc
  737. .set SPI2_Handler, Haltproc
  738. .set USART1_Handler, Haltproc
  739. .set USART2_Handler, Haltproc
  740. .set USART3_4_LPUART1_Handler, Haltproc
  741. .set CEC_Handler, Haltproc
  742. .text
  743. end;
  744. end.