stm32f446xx.pp 65 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299
  1. unit stm32f446xx;
  2. interface
  3. {$PACKRECORDS 2}
  4. {$GOTO ON}
  5. {$MODESWITCH ADVANCEDRECORDS}
  6. // *
  7. // ******************************************************************************
  8. // * @file stm32f446xx.h
  9. // * @author MCD Application Team
  10. // * @version V2.4.0
  11. // * @date 14-August-2015
  12. // CMSIS STM32F446xx Device Peripheral Access Layer Header File.
  13. // *
  14. // * This file contains:
  15. // * - Data structures and the address mapping for all peripherals
  16. // * - Peripheral's registers declarations and bits definition
  17. // * - Macros to access peripheral’s registers hardware
  18. // *
  19. // ******************************************************************************
  20. // * @attention
  21. // *
  22. // * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
  23. // *
  24. // * Redistribution and use in source and binary forms, with or without modification,
  25. // * are permitted provided that the following conditions are met:
  26. // * 1. Redistributions of source code must retain the above copyright notice,
  27. // * this list of conditions and the following disclaimer.
  28. // * 2. Redistributions in binary form must reproduce the above copyright notice,
  29. // * this list of conditions and the following disclaimer in the documentation
  30. // * and/or other materials provided with the distribution.
  31. // * 3. Neither the name of STMicroelectronics nor the names of its contributors
  32. // * may be used to endorse or promote products derived from this software
  33. // * without specific prior written permission.
  34. // *
  35. // * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  36. // * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  37. // * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  38. // * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  39. // * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  40. // * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  41. // * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  42. // * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  43. // * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  44. // * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  45. // *
  46. // ******************************************************************************
  47. // Configuration of the Cortex-M4 Processor and Core Peripherals
  48. // STM32F4XX Interrupt Number Definition, according to the selected device
  49. // * in @ref Library_configuration_section
  50. type
  51. TIRQn_Enum = (
  52. NonMaskableInt_IRQn = -14, // 2 Non Maskable Interrupt
  53. MemoryManagement_IRQn = -12, // 4 Cortex-M4 Memory Management Interrupt
  54. BusFault_IRQn = -11, // 5 Cortex-M4 Bus Fault Interrupt
  55. UsageFault_IRQn = -10, // 6 Cortex-M4 Usage Fault Interrupt
  56. SVCall_IRQn = -5, // 11 Cortex-M4 SV Call Interrupt
  57. DebugMonitor_IRQn = -4, // 12 Cortex-M4 Debug Monitor Interrupt
  58. PendSV_IRQn = -2, // 14 Cortex-M4 Pend SV Interrupt
  59. SysTick_IRQn = -1, // 15 Cortex-M4 System Tick Interrupt
  60. WWDG_IRQn = 0, // Window WatchDog Interrupt
  61. PVD_IRQn = 1, // PVD through EXTI Line detection Interrupt
  62. TAMP_STAMP_IRQn = 2, // Tamper and TimeStamp interrupts through the EXTI line
  63. RTC_WKUP_IRQn = 3, // RTC Wakeup interrupt through the EXTI line
  64. FLASH_IRQn = 4, // FLASH global Interrupt
  65. RCC_IRQn = 5, // RCC global Interrupt
  66. EXTI0_IRQn = 6, // EXTI Line0 Interrupt
  67. EXTI1_IRQn = 7, // EXTI Line1 Interrupt
  68. EXTI2_IRQn = 8, // EXTI Line2 Interrupt
  69. EXTI3_IRQn = 9, // EXTI Line3 Interrupt
  70. EXTI4_IRQn = 10, // EXTI Line4 Interrupt
  71. DMA1_Stream0_IRQn = 11, // DMA1 Stream 0 global Interrupt
  72. DMA1_Stream1_IRQn = 12, // DMA1 Stream 1 global Interrupt
  73. DMA1_Stream2_IRQn = 13, // DMA1 Stream 2 global Interrupt
  74. DMA1_Stream3_IRQn = 14, // DMA1 Stream 3 global Interrupt
  75. DMA1_Stream4_IRQn = 15, // DMA1 Stream 4 global Interrupt
  76. DMA1_Stream5_IRQn = 16, // DMA1 Stream 5 global Interrupt
  77. DMA1_Stream6_IRQn = 17, // DMA1 Stream 6 global Interrupt
  78. ADC_IRQn = 18, // ADC1, ADC2 and ADC3 global Interrupts
  79. CAN1_TX_IRQn = 19, // CAN1 TX Interrupt
  80. CAN1_RX0_IRQn = 20, // CAN1 RX0 Interrupt
  81. CAN1_RX1_IRQn = 21, // CAN1 RX1 Interrupt
  82. CAN1_SCE_IRQn = 22, // CAN1 SCE Interrupt
  83. EXTI9_5_IRQn = 23, // External Line[9:5] Interrupts
  84. TIM1_BRK_TIM9_IRQn = 24, // TIM1 Break interrupt and TIM9 global interrupt
  85. TIM1_UP_TIM10_IRQn = 25, // TIM1 Update Interrupt and TIM10 global interrupt
  86. TIM1_TRG_COM_TIM11_IRQn = 26, // TIM1 Trigger and Commutation Interrupt and TIM11 global interrupt
  87. TIM1_CC_IRQn = 27, // TIM1 Capture Compare Interrupt
  88. TIM2_IRQn = 28, // TIM2 global Interrupt
  89. TIM3_IRQn = 29, // TIM3 global Interrupt
  90. TIM4_IRQn = 30, // TIM4 global Interrupt
  91. I2C1_EV_IRQn = 31, // I2C1 Event Interrupt
  92. I2C1_ER_IRQn = 32, // I2C1 Error Interrupt
  93. I2C2_EV_IRQn = 33, // I2C2 Event Interrupt
  94. I2C2_ER_IRQn = 34, // I2C2 Error Interrupt
  95. SPI1_IRQn = 35, // SPI1 global Interrupt
  96. SPI2_IRQn = 36, // SPI2 global Interrupt
  97. USART1_IRQn = 37, // USART1 global Interrupt
  98. USART2_IRQn = 38, // USART2 global Interrupt
  99. USART3_IRQn = 39, // USART3 global Interrupt
  100. EXTI15_10_IRQn = 40, // External Line[15:10] Interrupts
  101. RTC_Alarm_IRQn = 41, // RTC Alarm (A and B) through EXTI Line Interrupt
  102. OTG_FS_WKUP_IRQn = 42, // USB OTG FS Wakeup through EXTI line interrupt
  103. TIM8_BRK_TIM12_IRQn = 43, // TIM8 Break Interrupt and TIM12 global interrupt
  104. TIM8_UP_TIM13_IRQn = 44, // TIM8 Update Interrupt and TIM13 global interrupt
  105. TIM8_TRG_COM_TIM14_IRQn = 45, // TIM8 Trigger and Commutation Interrupt and TIM14 global interrupt
  106. TIM8_CC_IRQn = 46, // TIM8 Capture Compare global interrupt
  107. DMA1_Stream7_IRQn = 47, // DMA1 Stream7 Interrupt
  108. FMC_IRQn = 48, // FMC global Interrupt
  109. SDIO_IRQn = 49, // SDIO global Interrupt
  110. TIM5_IRQn = 50, // TIM5 global Interrupt
  111. SPI3_IRQn = 51, // SPI3 global Interrupt
  112. UART4_IRQn = 52, // UART4 global Interrupt
  113. UART5_IRQn = 53, // UART5 global Interrupt
  114. TIM6_DAC_IRQn = 54, // TIM6 global and DAC1&2 underrun error interrupts
  115. TIM7_IRQn = 55, // TIM7 global interrupt
  116. DMA2_Stream0_IRQn = 56, // DMA2 Stream 0 global Interrupt
  117. DMA2_Stream1_IRQn = 57, // DMA2 Stream 1 global Interrupt
  118. DMA2_Stream2_IRQn = 58, // DMA2 Stream 2 global Interrupt
  119. DMA2_Stream3_IRQn = 59, // DMA2 Stream 3 global Interrupt
  120. DMA2_Stream4_IRQn = 60, // DMA2 Stream 4 global Interrupt
  121. CAN2_TX_IRQn = 63, // CAN2 TX Interrupt
  122. CAN2_RX0_IRQn = 64, // CAN2 RX0 Interrupt
  123. CAN2_RX1_IRQn = 65, // CAN2 RX1 Interrupt
  124. CAN2_SCE_IRQn = 66, // CAN2 SCE Interrupt
  125. OTG_FS_IRQn = 67, // USB OTG FS global Interrupt
  126. DMA2_Stream5_IRQn = 68, // DMA2 Stream 5 global interrupt
  127. DMA2_Stream6_IRQn = 69, // DMA2 Stream 6 global interrupt
  128. DMA2_Stream7_IRQn = 70, // DMA2 Stream 7 global interrupt
  129. USART6_IRQn = 71, // USART6 global interrupt
  130. I2C3_EV_IRQn = 72, // I2C3 event interrupt
  131. I2C3_ER_IRQn = 73, // I2C3 error interrupt
  132. OTG_HS_EP1_OUT_IRQn = 74, // USB OTG HS End Point 1 Out global interrupt
  133. OTG_HS_EP1_IN_IRQn = 75, // USB OTG HS End Point 1 In global interrupt
  134. OTG_HS_WKUP_IRQn = 76, // USB OTG HS Wakeup through EXTI interrupt
  135. OTG_HS_IRQn = 77, // USB OTG HS global interrupt
  136. DCMI_IRQn = 78, // DCMI global interrupt
  137. FPU_IRQn = 81, // FPU global interrupt
  138. SPI4_IRQn = 84, // SPI4 global Interrupt
  139. SAI1_IRQn = 87, // SAI1 global Interrupt
  140. SAI2_IRQn = 91, // SAI2 global Interrupt
  141. QUADSPI_IRQn = 92, // QuadSPI global Interrupt
  142. CEC_IRQn = 93, // CEC global Interrupt
  143. SPDIF_RX_IRQn = 94, // SPDIF-RX global Interrupt
  144. FMPI2C1_EV_IRQn = 95, // FMPI2C1 Event Interrupt
  145. FMPI2C1_ER_IRQn = 96 // FMPI2C1 Error Interrupt
  146. );
  147. TADC_Registers = record
  148. SR : longword; // ADC status register
  149. CR1 : longword; // ADC control register 1
  150. CR2 : longword; // ADC control register 2
  151. SMPR1 : longword; // ADC sample time register 1
  152. SMPR2 : longword; // ADC sample time register 2
  153. JOFR1 : longword; // ADC injected channel data offset register 1
  154. JOFR2 : longword; // ADC injected channel data offset register 2
  155. JOFR3 : longword; // ADC injected channel data offset register 3
  156. JOFR4 : longword; // ADC injected channel data offset register 4
  157. HTR : longword; // ADC watchdog higher threshold register
  158. LTR : longword; // ADC watchdog lower threshold register
  159. SQR1 : longword; // ADC regular sequence register 1
  160. SQR2 : longword; // ADC regular sequence register 2
  161. SQR3 : longword; // ADC regular sequence register 3
  162. JSQR : longword; // ADC injected sequence register
  163. JDR1 : longword; // ADC injected data register 1
  164. JDR2 : longword; // ADC injected data register 2
  165. JDR3 : longword; // ADC injected data register 3
  166. JDR4 : longword; // ADC injected data register 4
  167. DR : longword; // ADC regular data register
  168. end;
  169. TADC_COMMON_Registers = record
  170. CSR : longword; // ADC Common status register
  171. CCR : longword; // ADC common control register
  172. CDR : longword; // ADC common regular data register for dual
  173. end;
  174. TCAN_TXMAILBOX_Registers = record
  175. TIR : longword; // CAN TX mailbox identifier register
  176. TDTR : longword; // CAN mailbox data length control and time stamp register
  177. TDLR : longword; // CAN mailbox data low register
  178. TDHR : longword; // CAN mailbox data high register
  179. end;
  180. TCAN_FIFOMAILBOX_Registers = record
  181. RIR : longword; // CAN receive FIFO mailbox identifier register
  182. RDTR : longword; // CAN receive FIFO mailbox data length control and time stamp register
  183. RDLR : longword; // CAN receive FIFO mailbox data low register
  184. RDHR : longword; // CAN receive FIFO mailbox data high register
  185. end;
  186. TCAN_FILTERREGISTER_Registers = record
  187. FR1 : longword; // CAN Filter bank register 1
  188. FR2 : longword; // CAN Filter bank register 1
  189. end;
  190. TCAN_Registers = record
  191. MCR : longword; // CAN master control register
  192. MSR : longword; // CAN master status register
  193. TSR : longword; // CAN transmit status register
  194. RF0R : longword; // CAN receive FIFO 0 register
  195. RF1R : longword; // CAN receive FIFO 1 register
  196. IER : longword; // CAN interrupt enable register
  197. ESR : longword; // CAN error status register
  198. BTR : longword; // CAN bit timing register
  199. RESERVED0 : array[0..87] of longword; // Reserved, 0x020 - 0x17F
  200. sTxMailBox : array[0..2] of TCAN_TXMAILBOX_Registers; // CAN Tx MailBox
  201. sFIFOMailBox : array[0..1] of TCAN_FIFOMAILBOX_Registers; // CAN FIFO MailBox
  202. RESERVED1 : array[0..11] of longword; // Reserved, 0x1D0 - 0x1FF
  203. FMR : longword; // CAN filter master register
  204. FM1R : longword; // CAN filter mode register
  205. RESERVED2 : longword; // Reserved, 0x208
  206. FS1R : longword; // CAN filter scale register
  207. RESERVED3 : longword; // Reserved, 0x210
  208. FFA1R : longword; // CAN filter FIFO assignment register
  209. RESERVED4 : longword; // Reserved, 0x218
  210. FA1R : longword; // CAN filter activation register
  211. RESERVED5 : array[0..7] of longword; // Reserved, 0x220-0x23F
  212. sFilterRegister : array[0..27] of TCAN_FILTERREGISTER_Registers; // CAN Filter Register
  213. end;
  214. TCEC_Registers = record
  215. CR : longword; // CEC control register
  216. CFGR : longword; // CEC configuration register
  217. TXDR : longword; // CEC Tx data register
  218. RXDR : longword; // CEC Rx Data Register
  219. ISR : longword; // CEC Interrupt and Status Register
  220. IER : longword; // CEC interrupt enable register
  221. end;
  222. TCRC_Registers = record
  223. DR : longword; // CRC Data register
  224. IDR : byte; // CRC Independent data register
  225. RESERVED0 : byte; // Reserved, 0x05
  226. RESERVED1 : word; // Reserved, 0x06
  227. CR : longword; // CRC Control register
  228. end;
  229. TDAC_Registers = record
  230. CR : longword; // DAC control register
  231. SWTRIGR : longword; // DAC software trigger register
  232. DHR12R1 : longword; // DAC channel1 12-bit right-aligned data holding register
  233. DHR12L1 : longword; // DAC channel1 12-bit left aligned data holding register
  234. DHR8R1 : longword; // DAC channel1 8-bit right aligned data holding register
  235. DHR12R2 : longword; // DAC channel2 12-bit right aligned data holding register
  236. DHR12L2 : longword; // DAC channel2 12-bit left aligned data holding register
  237. DHR8R2 : longword; // DAC channel2 8-bit right-aligned data holding register
  238. DHR12RD : longword; // Dual DAC 12-bit right-aligned data holding register
  239. DHR12LD : longword; // DUAL DAC 12-bit left aligned data holding register
  240. DHR8RD : longword; // DUAL DAC 8-bit right aligned data holding register
  241. DOR1 : longword; // DAC channel1 data output register
  242. DOR2 : longword; // DAC channel2 data output register
  243. SR : longword; // DAC status register
  244. end;
  245. TDBGMCU_Registers = record
  246. IDCODE : longword; // MCU device ID code
  247. CR : longword; // Debug MCU configuration register
  248. APB1FZ : longword; // Debug MCU APB1 freeze register
  249. APB2FZ : longword; // Debug MCU APB2 freeze register
  250. end;
  251. TDCMI_Registers = record
  252. CR : longword; // DCMI control register 1
  253. SR : longword; // DCMI status register
  254. RISR : longword; // DCMI raw interrupt status register
  255. IER : longword; // DCMI interrupt enable register
  256. MISR : longword; // DCMI masked interrupt status register
  257. ICR : longword; // DCMI interrupt clear register
  258. ESCR : longword; // DCMI embedded synchronization code register
  259. ESUR : longword; // DCMI embedded synchronization unmask register
  260. CWSTRTR : longword; // DCMI crop window start
  261. CWSIZER : longword; // DCMI crop window size
  262. DR : longword; // DCMI data register
  263. end;
  264. TDMA_STREAM_Registers = record
  265. CR : longword; // DMA stream x configuration register
  266. NDTR : longword; // DMA stream x number of data register
  267. PAR : longword; // DMA stream x peripheral address register
  268. M0AR : longword; // DMA stream x memory 0 address register
  269. M1AR : longword; // DMA stream x memory 1 address register
  270. FCR : longword; // DMA stream x FIFO control register
  271. end;
  272. TDMA_Registers = record
  273. LISR : longword; // DMA low interrupt status register
  274. HISR : longword; // DMA high interrupt status register
  275. LIFCR : longword; // DMA low interrupt flag clear register
  276. HIFCR : longword; // DMA high interrupt flag clear register
  277. end;
  278. TEXTI_Registers = record
  279. IMR : longword; // EXTI Interrupt mask register
  280. EMR : longword; // EXTI Event mask register
  281. RTSR : longword; // EXTI Rising trigger selection register
  282. FTSR : longword; // EXTI Falling trigger selection register
  283. SWIER : longword; // EXTI Software interrupt event register
  284. PR : longword; // EXTI Pending register
  285. end;
  286. TFLASH_Registers = record
  287. ACR : longword; // FLASH access control register
  288. KEYR : longword; // FLASH key register
  289. OPTKEYR : longword; // FLASH option key register
  290. SR : longword; // FLASH status register
  291. CR : longword; // FLASH control register
  292. OPTCR : longword; // FLASH option control register
  293. OPTCR1 : longword; // FLASH option control register 1
  294. end;
  295. TFMC_BANK1_Registers = record
  296. BTCR : array[0..7] of longword; // NOR/PSRAM chip-select control register(BCR) and chip-select timing register(BTR)
  297. end;
  298. TFMC_BANK1E_Registers = record
  299. BWTR : array[0..6] of longword; // NOR/PSRAM write timing registers
  300. end;
  301. TFMC_BANK3_Registers = record
  302. PCR : longword; // NAND Flash control register
  303. SR : longword; // NAND Flash FIFO status and interrupt register
  304. PMEM : longword; // NAND Flash Common memory space timing register
  305. PATT : longword; // NAND Flash Attribute memory space timing register
  306. RESERVED : longword; // Reserved, 0x90
  307. ECCR : longword; // NAND Flash ECC result registers
  308. end;
  309. TFMC_BANK5_6_Registers = record
  310. SDCR : array[0..1] of longword; // SDRAM Control registers
  311. SDTR : array[0..1] of longword; // SDRAM Timing registers
  312. SDCMR : longword; // SDRAM Command Mode register
  313. SDRTR : longword; // SDRAM Refresh Timer register
  314. SDSR : longword; // SDRAM Status register
  315. end;
  316. TGPIO_Registers = record
  317. MODER : longword; // GPIO port mode register
  318. OTYPER : longword; // GPIO port output type register
  319. OSPEEDR : longword; // GPIO port output speed register
  320. PUPDR : longword; // GPIO port pull-up/pull-down register
  321. IDR : longword; // GPIO port input data register
  322. ODR : longword; // GPIO port output data register
  323. BSRR : longword; // GPIO port bit set/reset register
  324. LCKR : longword; // GPIO port configuration lock register
  325. AFR : array[0..1] of longword; // GPIO alternate function registers
  326. end;
  327. TSYSCFG_Registers = record
  328. MEMRMP : longword; // SYSCFG memory remap register
  329. PMC : longword; // SYSCFG peripheral mode configuration register
  330. EXTICR : array[0..3] of longword; // SYSCFG external interrupt configuration registers
  331. RESERVED : array[0..1] of longword; // Reserved, 0x18-0x1C
  332. CMPCR : longword; // SYSCFG Compensation cell control register
  333. RESERVED1 : array[0..1] of longword; // Reserved, 0x24-0x28
  334. CFGR : longword; // SYSCFG Configuration register
  335. end;
  336. TI2C_Registers = record
  337. CR1 : longword; // I2C Control register 1
  338. CR2 : longword; // I2C Control register 2
  339. OAR1 : longword; // I2C Own address register 1
  340. OAR2 : longword; // I2C Own address register 2
  341. DR : longword; // I2C Data register
  342. SR1 : longword; // I2C Status register 1
  343. SR2 : longword; // I2C Status register 2
  344. CCR : longword; // I2C Clock control register
  345. TRISE : longword; // I2C TRISE register
  346. FLTR : longword; // I2C FLTR register
  347. end;
  348. TFMPI2C_Registers = record
  349. CR1 : longword; // FMPI2C Control register 1
  350. CR2 : longword; // FMPI2C Control register 2
  351. OAR1 : longword; // FMPI2C Own address 1 register
  352. OAR2 : longword; // FMPI2C Own address 2 register
  353. TIMINGR : longword; // FMPI2C Timing register
  354. TIMEOUTR : longword; // FMPI2C Timeout register
  355. ISR : longword; // FMPI2C Interrupt and status register
  356. ICR : longword; // FMPI2C Interrupt clear register
  357. PECR : longword; // FMPI2C PEC register
  358. RXDR : longword; // FMPI2C Receive data register
  359. TXDR : longword; // FMPI2C Transmit data register
  360. end;
  361. TIWDG_Registers = record
  362. KR : longword; // IWDG Key register
  363. PR : longword; // IWDG Prescaler register
  364. RLR : longword; // IWDG Reload register
  365. SR : longword; // IWDG Status register
  366. end;
  367. TPWR_Registers = record
  368. CR : longword; // PWR power control register
  369. CSR : longword; // PWR power control/status register
  370. end;
  371. TRCC_Registers = record
  372. CR : longword; // RCC clock control register
  373. PLLCFGR : longword; // RCC PLL configuration register
  374. CFGR : longword; // RCC clock configuration register
  375. CIR : longword; // RCC clock interrupt register
  376. AHB1RSTR : longword; // RCC AHB1 peripheral reset register
  377. AHB2RSTR : longword; // RCC AHB2 peripheral reset register
  378. AHB3RSTR : longword; // RCC AHB3 peripheral reset register
  379. RESERVED0 : longword; // Reserved, 0x1C
  380. APB1RSTR : longword; // RCC APB1 peripheral reset register
  381. APB2RSTR : longword; // RCC APB2 peripheral reset register
  382. RESERVED1 : array[0..1] of longword; // Reserved, 0x28-0x2C
  383. AHB1ENR : longword; // RCC AHB1 peripheral clock register
  384. AHB2ENR : longword; // RCC AHB2 peripheral clock register
  385. AHB3ENR : longword; // RCC AHB3 peripheral clock register
  386. RESERVED2 : longword; // Reserved, 0x3C
  387. APB1ENR : longword; // RCC APB1 peripheral clock enable register
  388. APB2ENR : longword; // RCC APB2 peripheral clock enable register
  389. RESERVED3 : array[0..1] of longword; // Reserved, 0x48-0x4C
  390. AHB1LPENR : longword; // RCC AHB1 peripheral clock enable in low power mode register
  391. AHB2LPENR : longword; // RCC AHB2 peripheral clock enable in low power mode register
  392. AHB3LPENR : longword; // RCC AHB3 peripheral clock enable in low power mode register
  393. RESERVED4 : longword; // Reserved, 0x5C
  394. APB1LPENR : longword; // RCC APB1 peripheral clock enable in low power mode register
  395. APB2LPENR : longword; // RCC APB2 peripheral clock enable in low power mode register
  396. RESERVED5 : array[0..1] of longword; // Reserved, 0x68-0x6C
  397. BDCR : longword; // RCC Backup domain control register
  398. CSR : longword; // RCC clock control & status register
  399. RESERVED6 : array[0..1] of longword; // Reserved, 0x78-0x7C
  400. SSCGR : longword; // RCC spread spectrum clock generation register
  401. PLLI2SCFGR : longword; // RCC PLLI2S configuration register
  402. PLLSAICFGR : longword; // RCC PLLSAI configuration register
  403. DCKCFGR : longword; // RCC Dedicated Clocks configuration register
  404. CKGATENR : longword; // RCC Clocks Gated ENable Register
  405. DCKCFGR2 : longword; // RCC Dedicated Clocks configuration register 2
  406. end;
  407. TRTC_Registers = record
  408. TR : longword; // RTC time register
  409. DR : longword; // RTC date register
  410. CR : longword; // RTC control register
  411. ISR : longword; // RTC initialization and status register
  412. PRER : longword; // RTC prescaler register
  413. WUTR : longword; // RTC wakeup timer register
  414. CALIBR : longword; // RTC calibration register
  415. ALRMAR : longword; // RTC alarm A register
  416. ALRMBR : longword; // RTC alarm B register
  417. WPR : longword; // RTC write protection register
  418. SSR : longword; // RTC sub second register
  419. SHIFTR : longword; // RTC shift control register
  420. TSTR : longword; // RTC time stamp time register
  421. TSDR : longword; // RTC time stamp date register
  422. TSSSR : longword; // RTC time-stamp sub second register
  423. CALR : longword; // RTC calibration register
  424. TAFCR : longword; // RTC tamper and alternate function configuration register
  425. ALRMASSR : longword; // RTC alarm A sub second register
  426. ALRMBSSR : longword; // RTC alarm B sub second register
  427. RESERVED7 : longword; // Reserved, 0x4C
  428. BKP0R : longword; // RTC backup register 1
  429. BKP1R : longword; // RTC backup register 1
  430. BKP2R : longword; // RTC backup register 2
  431. BKP3R : longword; // RTC backup register 3
  432. BKP4R : longword; // RTC backup register 4
  433. BKP5R : longword; // RTC backup register 5
  434. BKP6R : longword; // RTC backup register 6
  435. BKP7R : longword; // RTC backup register 7
  436. BKP8R : longword; // RTC backup register 8
  437. BKP9R : longword; // RTC backup register 9
  438. BKP10R : longword; // RTC backup register 10
  439. BKP11R : longword; // RTC backup register 11
  440. BKP12R : longword; // RTC backup register 12
  441. BKP13R : longword; // RTC backup register 13
  442. BKP14R : longword; // RTC backup register 14
  443. BKP15R : longword; // RTC backup register 15
  444. BKP16R : longword; // RTC backup register 16
  445. BKP17R : longword; // RTC backup register 17
  446. BKP18R : longword; // RTC backup register 18
  447. BKP19R : longword; // RTC backup register 19
  448. end;
  449. TSAI_Registers = record
  450. GCR : longword; // SAI global configuration register
  451. end;
  452. TSAI_BLOCK_Registers = record
  453. CR1 : longword; // SAI block x configuration register 1
  454. CR2 : longword; // SAI block x configuration register 2
  455. FRCR : longword; // SAI block x frame configuration register
  456. SLOTR : longword; // SAI block x slot register
  457. IMR : longword; // SAI block x interrupt mask register
  458. SR : longword; // SAI block x status register
  459. CLRFR : longword; // SAI block x clear flag register
  460. DR : longword; // SAI block x data register
  461. end;
  462. TSDIO_Registers = record
  463. POWER : longword; // SDIO power control register
  464. CLKCR : longword; // SDI clock control register
  465. ARG : longword; // SDIO argument register
  466. CMD : longword; // SDIO command register
  467. RESPCMD : longword; // SDIO command response register
  468. RESP1 : longword; // SDIO response 1 register
  469. RESP2 : longword; // SDIO response 2 register
  470. RESP3 : longword; // SDIO response 3 register
  471. RESP4 : longword; // SDIO response 4 register
  472. DTIMER : longword; // SDIO data timer register
  473. DLEN : longword; // SDIO data length register
  474. DCTRL : longword; // SDIO data control register
  475. DCOUNT : longword; // SDIO data counter register
  476. STA : longword; // SDIO status register
  477. ICR : longword; // SDIO interrupt clear register
  478. MASK : longword; // SDIO mask register
  479. RESERVED0 : array[0..1] of longword; // Reserved, 0x40-0x44
  480. FIFOCNT : longword; // SDIO FIFO counter register
  481. RESERVED1 : array[0..12] of longword; // Reserved, 0x4C-0x7C
  482. FIFO : longword; // SDIO data FIFO register
  483. end;
  484. TSPI_Registers = record
  485. CR1 : longword; // SPI control register 1 (not used in I2S mode)
  486. CR2 : longword; // SPI control register 2
  487. SR : longword; // SPI status register
  488. DR : longword; // SPI data register
  489. CRCPR : longword; // SPI CRC polynomial register (not used in I2S mode)
  490. RXCRCR : longword; // SPI RX CRC register (not used in I2S mode)
  491. TXCRCR : longword; // SPI TX CRC register (not used in I2S mode)
  492. I2SCFGR : longword; // SPI_I2S configuration register
  493. I2SPR : longword; // SPI_I2S prescaler register
  494. end;
  495. TQUADSPI_Registers = record
  496. CR : longword; // QUADSPI Control register
  497. DCR : longword; // QUADSPI Device Configuration register
  498. SR : longword; // QUADSPI Status register
  499. FCR : longword; // QUADSPI Flag Clear register
  500. DLR : longword; // QUADSPI Data Length register
  501. CCR : longword; // QUADSPI Communication Configuration register
  502. AR : longword; // QUADSPI Address register
  503. ABR : longword; // QUADSPI Alternate Bytes register
  504. DR : longword; // QUADSPI Data register
  505. PSMKR : longword; // QUADSPI Polling Status Mask register
  506. PSMAR : longword; // QUADSPI Polling Status Match register
  507. PIR : longword; // QUADSPI Polling Interval register
  508. LPTR : longword; // QUADSPI Low Power Timeout register
  509. end;
  510. TSPDIFRX_Registers = record
  511. CR : longword; // Control register
  512. IMR : word; // Interrupt mask register
  513. RESERVED0 : word; // Reserved, 0x06
  514. SR : longword; // Status register
  515. IFCR : word; // Interrupt Flag Clear register
  516. RESERVED1 : word; // Reserved, 0x0E
  517. DR : longword; // Data input register
  518. CSR : longword; // Channel Status register
  519. DIR : longword; // Debug Information register
  520. RESERVED2 : word; // Reserved, 0x1A
  521. end;
  522. TTIM_Registers = record
  523. CR1 : longword; // TIM control register 1
  524. CR2 : longword; // TIM control register 2
  525. SMCR : longword; // TIM slave mode control register
  526. DIER : longword; // TIM DMA/interrupt enable register
  527. SR : longword; // TIM status register
  528. EGR : longword; // TIM event generation register
  529. CCMR1 : longword; // TIM capture/compare mode register 1
  530. CCMR2 : longword; // TIM capture/compare mode register 2
  531. CCER : longword; // TIM capture/compare enable register
  532. CNT : longword; // TIM counter register
  533. PSC : longword; // TIM prescaler
  534. ARR : longword; // TIM auto-reload register
  535. RCR : longword; // TIM repetition counter register
  536. CCR1 : longword; // TIM capture/compare register 1
  537. CCR2 : longword; // TIM capture/compare register 2
  538. CCR3 : longword; // TIM capture/compare register 3
  539. CCR4 : longword; // TIM capture/compare register 4
  540. BDTR : longword; // TIM break and dead-time register
  541. DCR : longword; // TIM DMA control register
  542. DMAR : longword; // TIM DMA address for full transfer
  543. &OR : longword; // TIM option register
  544. end;
  545. TUSART_Registers = record
  546. SR : longword; // USART Status register
  547. DR : longword; // USART Data register
  548. BRR : longword; // USART Baud rate register
  549. CR1 : longword; // USART Control register 1
  550. CR2 : longword; // USART Control register 2
  551. CR3 : longword; // USART Control register 3
  552. GTPR : longword; // USART Guard time and prescaler register
  553. end;
  554. TWWDG_Registers = record
  555. CR : longword; // WWDG Control register
  556. CFR : longword; // WWDG Configuration register
  557. SR : longword; // WWDG Status register
  558. end;
  559. TUSB_OTG_GLOBAL_Registers = record
  560. GOTGCTL : longword; // USB_OTG Control and Status Register 000h
  561. GOTGINT : longword; // USB_OTG Interrupt Register 004h
  562. GAHBCFG : longword; // Core AHB Configuration Register 008h
  563. GUSBCFG : longword; // Core USB Configuration Register 00Ch
  564. GRSTCTL : longword; // Core Reset Register 010h
  565. GINTSTS : longword; // Core Interrupt Register 014h
  566. GINTMSK : longword; // Core Interrupt Mask Register 018h
  567. GRXSTSR : longword; // Receive Sts Q Read Register 01Ch
  568. GRXSTSP : longword; // Receive Sts Q Read & POP Register 020h
  569. GRXFSIZ : longword; // Receive FIFO Size Register 024h
  570. DIEPTXF0_HNPTXFSIZ : longword; // EP0 / Non Periodic Tx FIFO Size Register 028h
  571. HNPTXSTS : longword; // Non Periodic Tx FIFO/Queue Sts reg 02Ch
  572. RESERVED30 : array[0..1] of longword; // Reserved 030h
  573. GCCFG : longword; // General Purpose IO Register 038h
  574. CID : longword; // User ID Register 03Ch
  575. RESERVED5 : array[0..2] of longword; // Reserved 040h-048h
  576. GHWCFG3 : longword; // User HW config3 04Ch
  577. RESERVED6 : longword; // Reserved 050h
  578. GLPMCFG : longword; // LPM Register 054h
  579. GPWRDN : longword; // Power Down Register 058h
  580. GDFIFOCFG : longword; // DFIFO Software Config Register 05Ch
  581. GADPCTL : longword; // ADP Timer, Control and Status Register 60Ch
  582. RESERVED43 : array[0..38] of longword; // Reserved 058h-0FFh
  583. HPTXFSIZ : longword; // Host Periodic Tx FIFO Size Reg 100h
  584. DIEPTXF : array[0..14] of longword; // dev Periodic Transmit FIFO
  585. end;
  586. TUSB_OTG_DEVICE_Registers = record
  587. DCFG : longword; // dev Configuration Register 800h
  588. DCTL : longword; // dev Control Register 804h
  589. DSTS : longword; // dev Status Register (RO) 808h
  590. RESERVED0C : longword; // Reserved 80Ch
  591. DIEPMSK : longword; // dev IN Endpoint Mask 810h
  592. DOEPMSK : longword; // dev OUT Endpoint Mask 814h
  593. DAINT : longword; // dev All Endpoints Itr Reg 818h
  594. DAINTMSK : longword; // dev All Endpoints Itr Mask 81Ch
  595. RESERVED20 : longword; // Reserved 820h
  596. RESERVED9 : longword; // Reserved 824h
  597. DVBUSDIS : longword; // dev VBUS discharge Register 828h
  598. DVBUSPULSE : longword; // dev VBUS Pulse Register 82Ch
  599. DTHRCTL : longword; // dev threshold 830h
  600. DIEPEMPMSK : longword; // dev empty msk 834h
  601. DEACHINT : longword; // dedicated EP interrupt 838h
  602. DEACHMSK : longword; // dedicated EP msk 83Ch
  603. RESERVED40 : longword; // dedicated EP mask 840h
  604. DINEP1MSK : longword; // dedicated EP mask 844h
  605. RESERVED44 : array[0..14] of longword; // Reserved 844-87Ch
  606. DOUTEP1MSK : longword; // dedicated EP msk 884h
  607. end;
  608. TUSB_OTG_INENDPOINT_Registers = record
  609. DIEPCTL : longword; // dev IN Endpoint Control Reg 900h + (ep_num * 20h) + 00h
  610. RESERVED04 : longword; // Reserved 900h + (ep_num * 20h) + 04h
  611. DIEPINT : longword; // dev IN Endpoint Itr Reg 900h + (ep_num * 20h) + 08h
  612. RESERVED0C : longword; // Reserved 900h + (ep_num * 20h) + 0Ch
  613. DIEPTSIZ : longword; // IN Endpoint Txfer Size 900h + (ep_num * 20h) + 10h
  614. DIEPDMA : longword; // IN Endpoint DMA Address Reg 900h + (ep_num * 20h) + 14h
  615. DTXFSTS : longword; // IN Endpoint Tx FIFO Status Reg 900h + (ep_num * 20h) + 18h
  616. RESERVED18 : longword; // Reserved 900h+(ep_num*20h)+1Ch-900h+ (ep_num * 20h) + 1Ch
  617. end;
  618. TUSB_OTG_OUTENDPOINT_Registers = record
  619. DOEPCTL : longword; // dev OUT Endpoint Control Reg B00h + (ep_num * 20h) + 00h
  620. RESERVED04 : longword; // Reserved B00h + (ep_num * 20h) + 04h
  621. DOEPINT : longword; // dev OUT Endpoint Itr Reg B00h + (ep_num * 20h) + 08h
  622. RESERVED0C : longword; // Reserved B00h + (ep_num * 20h) + 0Ch
  623. DOEPTSIZ : longword; // dev OUT Endpoint Txfer Size B00h + (ep_num * 20h) + 10h
  624. DOEPDMA : longword; // dev OUT Endpoint DMA Address B00h + (ep_num * 20h) + 14h
  625. RESERVED18 : array[0..1] of longword; // Reserved B00h + (ep_num * 20h) + 18h - B00h + (ep_num * 20h) + 1Ch
  626. end;
  627. TUSB_OTG_HOST_Registers = record
  628. HCFG : longword; // Host Configuration Register 400h
  629. HFIR : longword; // Host Frame Interval Register 404h
  630. HFNUM : longword; // Host Frame Nbr/Frame Remaining 408h
  631. RESERVED40C : longword; // Reserved 40Ch
  632. HPTXSTS : longword; // Host Periodic Tx FIFO/ Queue Status 410h
  633. HAINT : longword; // Host All Channels Interrupt Register 414h
  634. HAINTMSK : longword; // Host All Channels Interrupt Mask 418h
  635. end;
  636. TUSB_OTG_HOSTCHANNEL_Registers = record
  637. HCCHAR : longword; // Host Channel Characteristics Register 500h
  638. HCSPLT : longword; // Host Channel Split Control Register 504h
  639. HCINT : longword; // Host Channel Interrupt Register 508h
  640. HCINTMSK : longword; // Host Channel Interrupt Mask Register 50Ch
  641. HCTSIZ : longword; // Host Channel Transfer Size Register 510h
  642. HCDMA : longword; // Host Channel DMA Address Register 514h
  643. RESERVED : array[0..1] of longword; // Reserved
  644. end;
  645. const
  646. FLASH_BASE = $08000000; // FLASH(up to 1 MB) base address in the alias region
  647. SRAM1_BASE = $20000000; // SRAM1(112 KB) base address in the alias region
  648. SRAM2_BASE = $2001C000; // SRAM2(16 KB) base address in the alias region
  649. PERIPH_BASE = $40000000; // Peripheral base address in the alias region
  650. BKPSRAM_BASE = $40024000; // Backup SRAM(4 KB) base address in the alias region
  651. FMC_R_BASE = $A0000000; // FMC registers base address
  652. QSPI_R_BASE = $A0001000; // QuadSPI registers base address
  653. SRAM1_BB_BASE = $22000000; // SRAM1(112 KB) base address in the bit-band region
  654. SRAM2_BB_BASE = $22380000; // SRAM2(16 KB) base address in the bit-band region
  655. PERIPH_BB_BASE = $42000000; // Peripheral base address in the bit-band region
  656. BKPSRAM_BB_BASE = $42480000; // Backup SRAM(4 KB) base address in the bit-band region
  657. SRAM_BASE = $20000000;
  658. SRAM_BB_BASE = $22000000;
  659. APB1PERIPH_BASE = $40000000;
  660. APB2PERIPH_BASE = PERIPH_BASE + $00010000;
  661. AHB1PERIPH_BASE = PERIPH_BASE + $00020000;
  662. AHB2PERIPH_BASE = PERIPH_BASE + $10000000;
  663. TIM2_BASE = APB1PERIPH_BASE + $0000;
  664. TIM3_BASE = APB1PERIPH_BASE + $0400;
  665. TIM4_BASE = APB1PERIPH_BASE + $0800;
  666. TIM5_BASE = APB1PERIPH_BASE + $0C00;
  667. TIM6_BASE = APB1PERIPH_BASE + $1000;
  668. TIM7_BASE = APB1PERIPH_BASE + $1400;
  669. TIM12_BASE = APB1PERIPH_BASE + $1800;
  670. TIM13_BASE = APB1PERIPH_BASE + $1C00;
  671. TIM14_BASE = APB1PERIPH_BASE + $2000;
  672. RTC_BASE = APB1PERIPH_BASE + $2800;
  673. WWDG_BASE = APB1PERIPH_BASE + $2C00;
  674. IWDG_BASE = APB1PERIPH_BASE + $3000;
  675. SPI2_BASE = APB1PERIPH_BASE + $3800;
  676. SPI3_BASE = APB1PERIPH_BASE + $3C00;
  677. SPDIFRX_BASE = APB1PERIPH_BASE + $4000;
  678. USART2_BASE = APB1PERIPH_BASE + $4400;
  679. USART3_BASE = APB1PERIPH_BASE + $4800;
  680. UART4_BASE = APB1PERIPH_BASE + $4C00;
  681. UART5_BASE = APB1PERIPH_BASE + $5000;
  682. I2C1_BASE = APB1PERIPH_BASE + $5400;
  683. I2C2_BASE = APB1PERIPH_BASE + $5800;
  684. I2C3_BASE = APB1PERIPH_BASE + $5C00;
  685. FMPI2C1_BASE = APB1PERIPH_BASE + $6000;
  686. CAN1_BASE = APB1PERIPH_BASE + $6400;
  687. CAN2_BASE = APB1PERIPH_BASE + $6800;
  688. CEC_BASE = APB1PERIPH_BASE + $6C00;
  689. PWR_BASE = APB1PERIPH_BASE + $7000;
  690. DAC_BASE = APB1PERIPH_BASE + $7400;
  691. TIM1_BASE = APB2PERIPH_BASE + $0000;
  692. TIM8_BASE = APB2PERIPH_BASE + $0400;
  693. USART1_BASE = APB2PERIPH_BASE + $1000;
  694. USART6_BASE = APB2PERIPH_BASE + $1400;
  695. ADC1_BASE = APB2PERIPH_BASE + $2000;
  696. ADC2_BASE = APB2PERIPH_BASE + $2100;
  697. ADC3_BASE = APB2PERIPH_BASE + $2200;
  698. ADC_BASE = APB2PERIPH_BASE + $2300;
  699. SDIO_BASE = APB2PERIPH_BASE + $2C00;
  700. SPI1_BASE = APB2PERIPH_BASE + $3000;
  701. SPI4_BASE = APB2PERIPH_BASE + $3400;
  702. SYSCFG_BASE = APB2PERIPH_BASE + $3800;
  703. EXTI_BASE = APB2PERIPH_BASE + $3C00;
  704. TIM9_BASE = APB2PERIPH_BASE + $4000;
  705. TIM10_BASE = APB2PERIPH_BASE + $4400;
  706. TIM11_BASE = APB2PERIPH_BASE + $4800;
  707. SAI1_BASE = APB2PERIPH_BASE + $5800;
  708. SAI1_Block_A_BASE = SAI1_BASE + $004;
  709. SAI1_Block_B_BASE = SAI1_BASE + $024;
  710. SAI2_BASE = APB2PERIPH_BASE + $5C00;
  711. SAI2_Block_A_BASE = SAI2_BASE + $004;
  712. SAI2_Block_B_BASE = SAI2_BASE + $024;
  713. GPIOA_BASE = AHB1PERIPH_BASE + $0000;
  714. GPIOB_BASE = AHB1PERIPH_BASE + $0400;
  715. GPIOC_BASE = AHB1PERIPH_BASE + $0800;
  716. GPIOD_BASE = AHB1PERIPH_BASE + $0C00;
  717. GPIOE_BASE = AHB1PERIPH_BASE + $1000;
  718. GPIOF_BASE = AHB1PERIPH_BASE + $1400;
  719. GPIOG_BASE = AHB1PERIPH_BASE + $1800;
  720. GPIOH_BASE = AHB1PERIPH_BASE + $1C00;
  721. CRC_BASE = AHB1PERIPH_BASE + $3000;
  722. RCC_BASE = AHB1PERIPH_BASE + $3800;
  723. FLASH_R_BASE = AHB1PERIPH_BASE + $3C00;
  724. DMA1_BASE = AHB1PERIPH_BASE + $6000;
  725. DMA1_Stream0_BASE = DMA1_BASE + $010;
  726. DMA1_Stream1_BASE = DMA1_BASE + $028;
  727. DMA1_Stream2_BASE = DMA1_BASE + $040;
  728. DMA1_Stream3_BASE = DMA1_BASE + $058;
  729. DMA1_Stream4_BASE = DMA1_BASE + $070;
  730. DMA1_Stream5_BASE = DMA1_BASE + $088;
  731. DMA1_Stream6_BASE = DMA1_BASE + $0A0;
  732. DMA1_Stream7_BASE = DMA1_BASE + $0B8;
  733. DMA2_BASE = AHB1PERIPH_BASE + $6400;
  734. DMA2_Stream0_BASE = DMA2_BASE + $010;
  735. DMA2_Stream1_BASE = DMA2_BASE + $028;
  736. DMA2_Stream2_BASE = DMA2_BASE + $040;
  737. DMA2_Stream3_BASE = DMA2_BASE + $058;
  738. DMA2_Stream4_BASE = DMA2_BASE + $070;
  739. DMA2_Stream5_BASE = DMA2_BASE + $088;
  740. DMA2_Stream6_BASE = DMA2_BASE + $0A0;
  741. DMA2_Stream7_BASE = DMA2_BASE + $0B8;
  742. DCMI_BASE = AHB2PERIPH_BASE + $50000;
  743. FMC_Bank1_R_BASE = FMC_R_BASE + $0000;
  744. FMC_Bank1E_R_BASE = FMC_R_BASE + $0104;
  745. FMC_Bank3_R_BASE = FMC_R_BASE + $0080;
  746. FMC_Bank5_6_R_BASE = FMC_R_BASE + $0140;
  747. DBGMCU_BASE = $E0042000;
  748. USB_OTG_HS_PERIPH_BASE = $40040000;
  749. USB_OTG_FS_PERIPH_BASE = $50000000;
  750. USB_OTG_GLOBAL_BASE = $000;
  751. USB_OTG_DEVICE_BASE = $800;
  752. USB_OTG_IN_ENDPOINT_BASE = $900;
  753. USB_OTG_OUT_ENDPOINT_BASE = $B00;
  754. USB_OTG_HOST_BASE = $400;
  755. USB_OTG_HOST_PORT_BASE = $440;
  756. USB_OTG_HOST_CHANNEL_BASE = $500;
  757. USB_OTG_PCGCCTL_BASE = $E00;
  758. USB_OTG_FIFO_BASE = $1000;
  759. var
  760. TIM2 : TTIM_Registers absolute TIM2_BASE;
  761. TIM3 : TTIM_Registers absolute TIM3_BASE;
  762. TIM4 : TTIM_Registers absolute TIM4_BASE;
  763. TIM5 : TTIM_Registers absolute TIM5_BASE;
  764. TIM6 : TTIM_Registers absolute TIM6_BASE;
  765. TIM7 : TTIM_Registers absolute TIM7_BASE;
  766. TIM12 : TTIM_Registers absolute TIM12_BASE;
  767. TIM13 : TTIM_Registers absolute TIM13_BASE;
  768. TIM14 : TTIM_Registers absolute TIM14_BASE;
  769. RTC : TRTC_Registers absolute RTC_BASE;
  770. WWDG : TWWDG_Registers absolute WWDG_BASE;
  771. IWDG : TIWDG_Registers absolute IWDG_BASE;
  772. SPI2 : TSPI_Registers absolute SPI2_BASE;
  773. SPI3 : TSPI_Registers absolute SPI3_BASE;
  774. SPDIFRX : TSPDIFRX_Registers absolute SPDIFRX_BASE;
  775. USART2 : TUSART_Registers absolute USART2_BASE;
  776. USART3 : TUSART_Registers absolute USART3_BASE;
  777. UART4 : TUSART_Registers absolute UART4_BASE;
  778. UART5 : TUSART_Registers absolute UART5_BASE;
  779. I2C1 : TI2C_Registers absolute I2C1_BASE;
  780. I2C2 : TI2C_Registers absolute I2C2_BASE;
  781. I2C3 : TI2C_Registers absolute I2C3_BASE;
  782. FMPI2C1 : TFMPI2C_Registers absolute FMPI2C1_BASE;
  783. CAN1 : TCAN_Registers absolute CAN1_BASE;
  784. CAN2 : TCAN_Registers absolute CAN2_BASE;
  785. CEC : TCEC_Registers absolute CEC_BASE;
  786. PWR : TPWR_Registers absolute PWR_BASE;
  787. DAC : TDAC_Registers absolute DAC_BASE;
  788. TIM1 : TTIM_Registers absolute TIM1_BASE;
  789. TIM8 : TTIM_Registers absolute TIM8_BASE;
  790. USART1 : TUSART_Registers absolute USART1_BASE;
  791. USART6 : TUSART_Registers absolute USART6_BASE;
  792. ADC : TADC_Common_Registers absolute ADC_BASE;
  793. ADC1 : TADC_Registers absolute ADC1_BASE;
  794. ADC2 : TADC_Registers absolute ADC2_BASE;
  795. ADC3 : TADC_Registers absolute ADC3_BASE;
  796. SDIO : TSDIO_Registers absolute SDIO_BASE;
  797. SPI1 : TSPI_Registers absolute SPI1_BASE;
  798. SPI4 : TSPI_Registers absolute SPI4_BASE;
  799. SYSCFG : TSYSCFG_Registers absolute SYSCFG_BASE;
  800. EXTI : TEXTI_Registers absolute EXTI_BASE;
  801. TIM9 : TTIM_Registers absolute TIM9_BASE;
  802. TIM10 : TTIM_Registers absolute TIM10_BASE;
  803. TIM11 : TTIM_Registers absolute TIM11_BASE;
  804. SAI1 : TSAI_Registers absolute SAI1_BASE;
  805. SAI1_Block_A : TSAI_Block_Registers absolute SAI1_Block_A_BASE;
  806. SAI1_Block_B : TSAI_Block_Registers absolute SAI1_Block_B_BASE;
  807. SAI2 : TSAI_Registers absolute SAI2_BASE;
  808. SAI2_Block_A : TSAI_Block_Registers absolute SAI2_Block_A_BASE;
  809. SAI2_Block_B : TSAI_Block_Registers absolute SAI2_Block_B_BASE;
  810. GPIOA : TGPIO_Registers absolute GPIOA_BASE;
  811. GPIOB : TGPIO_Registers absolute GPIOB_BASE;
  812. GPIOC : TGPIO_Registers absolute GPIOC_BASE;
  813. GPIOD : TGPIO_Registers absolute GPIOD_BASE;
  814. GPIOE : TGPIO_Registers absolute GPIOE_BASE;
  815. GPIOF : TGPIO_Registers absolute GPIOF_BASE;
  816. GPIOG : TGPIO_Registers absolute GPIOG_BASE;
  817. GPIOH : TGPIO_Registers absolute GPIOH_BASE;
  818. CRC : TCRC_Registers absolute CRC_BASE;
  819. RCC : TRCC_Registers absolute RCC_BASE;
  820. FLASH : TFLASH_Registers absolute FLASH_R_BASE;
  821. DMA1 : TDMA_Registers absolute DMA1_BASE;
  822. DMA1_Stream0 : TDMA_Stream_Registers absolute DMA1_Stream0_BASE;
  823. DMA1_Stream1 : TDMA_Stream_Registers absolute DMA1_Stream1_BASE;
  824. DMA1_Stream2 : TDMA_Stream_Registers absolute DMA1_Stream2_BASE;
  825. DMA1_Stream3 : TDMA_Stream_Registers absolute DMA1_Stream3_BASE;
  826. DMA1_Stream4 : TDMA_Stream_Registers absolute DMA1_Stream4_BASE;
  827. DMA1_Stream5 : TDMA_Stream_Registers absolute DMA1_Stream5_BASE;
  828. DMA1_Stream6 : TDMA_Stream_Registers absolute DMA1_Stream6_BASE;
  829. DMA1_Stream7 : TDMA_Stream_Registers absolute DMA1_Stream7_BASE;
  830. DMA2 : TDMA_Registers absolute DMA2_BASE;
  831. DMA2_Stream0 : TDMA_Stream_Registers absolute DMA2_Stream0_BASE;
  832. DMA2_Stream1 : TDMA_Stream_Registers absolute DMA2_Stream1_BASE;
  833. DMA2_Stream2 : TDMA_Stream_Registers absolute DMA2_Stream2_BASE;
  834. DMA2_Stream3 : TDMA_Stream_Registers absolute DMA2_Stream3_BASE;
  835. DMA2_Stream4 : TDMA_Stream_Registers absolute DMA2_Stream4_BASE;
  836. DMA2_Stream5 : TDMA_Stream_Registers absolute DMA2_Stream5_BASE;
  837. DMA2_Stream6 : TDMA_Stream_Registers absolute DMA2_Stream6_BASE;
  838. DMA2_Stream7 : TDMA_Stream_Registers absolute DMA2_Stream7_BASE;
  839. DCMI : TDCMI_Registers absolute DCMI_BASE;
  840. FMC_Bank1 : TFMC_Bank1_Registers absolute FMC_Bank1_R_BASE;
  841. FMC_Bank1E : TFMC_Bank1E_Registers absolute FMC_Bank1E_R_BASE;
  842. FMC_Bank3 : TFMC_Bank3_Registers absolute FMC_Bank3_R_BASE;
  843. FMC_Bank5_6 : TFMC_Bank5_6_Registers absolute FMC_Bank5_6_R_BASE;
  844. QUADSPI : TQUADSPI_Registers absolute QSPI_R_BASE;
  845. DBGMCU : TDBGMCU_Registers absolute DBGMCU_BASE;
  846. implementation
  847. procedure NonMaskableInt_interrupt; external name 'NonMaskableInt_interrupt';
  848. procedure MemoryManagement_interrupt; external name 'MemoryManagement_interrupt';
  849. procedure BusFault_interrupt; external name 'BusFault_interrupt';
  850. procedure UsageFault_interrupt; external name 'UsageFault_interrupt';
  851. procedure SVCall_interrupt; external name 'SVCall_interrupt';
  852. procedure DebugMonitor_interrupt; external name 'DebugMonitor_interrupt';
  853. procedure PendSV_interrupt; external name 'PendSV_interrupt';
  854. procedure SysTick_interrupt; external name 'SysTick_interrupt';
  855. procedure WWDG_interrupt; external name 'WWDG_interrupt';
  856. procedure PVD_interrupt; external name 'PVD_interrupt';
  857. procedure TAMP_STAMP_interrupt; external name 'TAMP_STAMP_interrupt';
  858. procedure RTC_WKUP_interrupt; external name 'RTC_WKUP_interrupt';
  859. procedure FLASH_interrupt; external name 'FLASH_interrupt';
  860. procedure RCC_interrupt; external name 'RCC_interrupt';
  861. procedure EXTI0_interrupt; external name 'EXTI0_interrupt';
  862. procedure EXTI1_interrupt; external name 'EXTI1_interrupt';
  863. procedure EXTI2_interrupt; external name 'EXTI2_interrupt';
  864. procedure EXTI3_interrupt; external name 'EXTI3_interrupt';
  865. procedure EXTI4_interrupt; external name 'EXTI4_interrupt';
  866. procedure DMA1_Stream0_interrupt; external name 'DMA1_Stream0_interrupt';
  867. procedure DMA1_Stream1_interrupt; external name 'DMA1_Stream1_interrupt';
  868. procedure DMA1_Stream2_interrupt; external name 'DMA1_Stream2_interrupt';
  869. procedure DMA1_Stream3_interrupt; external name 'DMA1_Stream3_interrupt';
  870. procedure DMA1_Stream4_interrupt; external name 'DMA1_Stream4_interrupt';
  871. procedure DMA1_Stream5_interrupt; external name 'DMA1_Stream5_interrupt';
  872. procedure DMA1_Stream6_interrupt; external name 'DMA1_Stream6_interrupt';
  873. procedure ADC_interrupt; external name 'ADC_interrupt';
  874. procedure CAN1_TX_interrupt; external name 'CAN1_TX_interrupt';
  875. procedure CAN1_RX0_interrupt; external name 'CAN1_RX0_interrupt';
  876. procedure CAN1_RX1_interrupt; external name 'CAN1_RX1_interrupt';
  877. procedure CAN1_SCE_interrupt; external name 'CAN1_SCE_interrupt';
  878. procedure EXTI9_5_interrupt; external name 'EXTI9_5_interrupt';
  879. procedure TIM1_BRK_TIM9_interrupt; external name 'TIM1_BRK_TIM9_interrupt';
  880. procedure TIM1_UP_TIM10_interrupt; external name 'TIM1_UP_TIM10_interrupt';
  881. procedure TIM1_TRG_COM_TIM11_interrupt; external name 'TIM1_TRG_COM_TIM11_interrupt';
  882. procedure TIM1_CC_interrupt; external name 'TIM1_CC_interrupt';
  883. procedure TIM2_interrupt; external name 'TIM2_interrupt';
  884. procedure TIM3_interrupt; external name 'TIM3_interrupt';
  885. procedure TIM4_interrupt; external name 'TIM4_interrupt';
  886. procedure I2C1_EV_interrupt; external name 'I2C1_EV_interrupt';
  887. procedure I2C1_ER_interrupt; external name 'I2C1_ER_interrupt';
  888. procedure I2C2_EV_interrupt; external name 'I2C2_EV_interrupt';
  889. procedure I2C2_ER_interrupt; external name 'I2C2_ER_interrupt';
  890. procedure SPI1_interrupt; external name 'SPI1_interrupt';
  891. procedure SPI2_interrupt; external name 'SPI2_interrupt';
  892. procedure USART1_interrupt; external name 'USART1_interrupt';
  893. procedure USART2_interrupt; external name 'USART2_interrupt';
  894. procedure USART3_interrupt; external name 'USART3_interrupt';
  895. procedure EXTI15_10_interrupt; external name 'EXTI15_10_interrupt';
  896. procedure RTC_Alarm_interrupt; external name 'RTC_Alarm_interrupt';
  897. procedure OTG_FS_WKUP_interrupt; external name 'OTG_FS_WKUP_interrupt';
  898. procedure TIM8_BRK_TIM12_interrupt; external name 'TIM8_BRK_TIM12_interrupt';
  899. procedure TIM8_UP_TIM13_interrupt; external name 'TIM8_UP_TIM13_interrupt';
  900. procedure TIM8_TRG_COM_TIM14_interrupt; external name 'TIM8_TRG_COM_TIM14_interrupt';
  901. procedure TIM8_CC_interrupt; external name 'TIM8_CC_interrupt';
  902. procedure DMA1_Stream7_interrupt; external name 'DMA1_Stream7_interrupt';
  903. procedure FMC_interrupt; external name 'FMC_interrupt';
  904. procedure SDIO_interrupt; external name 'SDIO_interrupt';
  905. procedure TIM5_interrupt; external name 'TIM5_interrupt';
  906. procedure SPI3_interrupt; external name 'SPI3_interrupt';
  907. procedure UART4_interrupt; external name 'UART4_interrupt';
  908. procedure UART5_interrupt; external name 'UART5_interrupt';
  909. procedure TIM6_DAC_interrupt; external name 'TIM6_DAC_interrupt';
  910. procedure TIM7_interrupt; external name 'TIM7_interrupt';
  911. procedure DMA2_Stream0_interrupt; external name 'DMA2_Stream0_interrupt';
  912. procedure DMA2_Stream1_interrupt; external name 'DMA2_Stream1_interrupt';
  913. procedure DMA2_Stream2_interrupt; external name 'DMA2_Stream2_interrupt';
  914. procedure DMA2_Stream3_interrupt; external name 'DMA2_Stream3_interrupt';
  915. procedure DMA2_Stream4_interrupt; external name 'DMA2_Stream4_interrupt';
  916. procedure CAN2_TX_interrupt; external name 'CAN2_TX_interrupt';
  917. procedure CAN2_RX0_interrupt; external name 'CAN2_RX0_interrupt';
  918. procedure CAN2_RX1_interrupt; external name 'CAN2_RX1_interrupt';
  919. procedure CAN2_SCE_interrupt; external name 'CAN2_SCE_interrupt';
  920. procedure OTG_FS_interrupt; external name 'OTG_FS_interrupt';
  921. procedure DMA2_Stream5_interrupt; external name 'DMA2_Stream5_interrupt';
  922. procedure DMA2_Stream6_interrupt; external name 'DMA2_Stream6_interrupt';
  923. procedure DMA2_Stream7_interrupt; external name 'DMA2_Stream7_interrupt';
  924. procedure USART6_interrupt; external name 'USART6_interrupt';
  925. procedure I2C3_EV_interrupt; external name 'I2C3_EV_interrupt';
  926. procedure I2C3_ER_interrupt; external name 'I2C3_ER_interrupt';
  927. procedure OTG_HS_EP1_OUT_interrupt; external name 'OTG_HS_EP1_OUT_interrupt';
  928. procedure OTG_HS_EP1_IN_interrupt; external name 'OTG_HS_EP1_IN_interrupt';
  929. procedure OTG_HS_WKUP_interrupt; external name 'OTG_HS_WKUP_interrupt';
  930. procedure OTG_HS_interrupt; external name 'OTG_HS_interrupt';
  931. procedure DCMI_interrupt; external name 'DCMI_interrupt';
  932. procedure FPU_interrupt; external name 'FPU_interrupt';
  933. procedure SPI4_interrupt; external name 'SPI4_interrupt';
  934. procedure SAI1_interrupt; external name 'SAI1_interrupt';
  935. procedure SAI2_interrupt; external name 'SAI2_interrupt';
  936. procedure QUADSPI_interrupt; external name 'QUADSPI_interrupt';
  937. procedure CEC_interrupt; external name 'CEC_interrupt';
  938. procedure SPDIF_RX_interrupt; external name 'SPDIF_RX_interrupt';
  939. procedure FMPI2C1_EV_interrupt; external name 'FMPI2C1_EV_interrupt';
  940. procedure FMPI2C1_ER_interrupt; external name 'FMPI2C1_ER_interrupt';
  941. {$i cortexm4f_start.inc}
  942. procedure Vectors; assembler; nostackframe;
  943. label interrupt_vectors;
  944. asm
  945. .section ".init.interrupt_vectors"
  946. interrupt_vectors:
  947. .long _stack_top
  948. .long Startup
  949. .long NonMaskableInt_interrupt
  950. .long 0
  951. .long MemoryManagement_interrupt
  952. .long BusFault_interrupt
  953. .long UsageFault_interrupt
  954. .long 0
  955. .long 0
  956. .long 0
  957. .long 0
  958. .long SVCall_interrupt
  959. .long DebugMonitor_interrupt
  960. .long 0
  961. .long PendSV_interrupt
  962. .long SysTick_interrupt
  963. .long WWDG_interrupt
  964. .long PVD_interrupt
  965. .long TAMP_STAMP_interrupt
  966. .long RTC_WKUP_interrupt
  967. .long FLASH_interrupt
  968. .long RCC_interrupt
  969. .long EXTI0_interrupt
  970. .long EXTI1_interrupt
  971. .long EXTI2_interrupt
  972. .long EXTI3_interrupt
  973. .long EXTI4_interrupt
  974. .long DMA1_Stream0_interrupt
  975. .long DMA1_Stream1_interrupt
  976. .long DMA1_Stream2_interrupt
  977. .long DMA1_Stream3_interrupt
  978. .long DMA1_Stream4_interrupt
  979. .long DMA1_Stream5_interrupt
  980. .long DMA1_Stream6_interrupt
  981. .long ADC_interrupt
  982. .long CAN1_TX_interrupt
  983. .long CAN1_RX0_interrupt
  984. .long CAN1_RX1_interrupt
  985. .long CAN1_SCE_interrupt
  986. .long EXTI9_5_interrupt
  987. .long TIM1_BRK_TIM9_interrupt
  988. .long TIM1_UP_TIM10_interrupt
  989. .long TIM1_TRG_COM_TIM11_interrupt
  990. .long TIM1_CC_interrupt
  991. .long TIM2_interrupt
  992. .long TIM3_interrupt
  993. .long TIM4_interrupt
  994. .long I2C1_EV_interrupt
  995. .long I2C1_ER_interrupt
  996. .long I2C2_EV_interrupt
  997. .long I2C2_ER_interrupt
  998. .long SPI1_interrupt
  999. .long SPI2_interrupt
  1000. .long USART1_interrupt
  1001. .long USART2_interrupt
  1002. .long USART3_interrupt
  1003. .long EXTI15_10_interrupt
  1004. .long RTC_Alarm_interrupt
  1005. .long OTG_FS_WKUP_interrupt
  1006. .long TIM8_BRK_TIM12_interrupt
  1007. .long TIM8_UP_TIM13_interrupt
  1008. .long TIM8_TRG_COM_TIM14_interrupt
  1009. .long TIM8_CC_interrupt
  1010. .long DMA1_Stream7_interrupt
  1011. .long FMC_interrupt
  1012. .long SDIO_interrupt
  1013. .long TIM5_interrupt
  1014. .long SPI3_interrupt
  1015. .long UART4_interrupt
  1016. .long UART5_interrupt
  1017. .long TIM6_DAC_interrupt
  1018. .long TIM7_interrupt
  1019. .long DMA2_Stream0_interrupt
  1020. .long DMA2_Stream1_interrupt
  1021. .long DMA2_Stream2_interrupt
  1022. .long DMA2_Stream3_interrupt
  1023. .long DMA2_Stream4_interrupt
  1024. .long 0
  1025. .long 0
  1026. .long CAN2_TX_interrupt
  1027. .long CAN2_RX0_interrupt
  1028. .long CAN2_RX1_interrupt
  1029. .long CAN2_SCE_interrupt
  1030. .long OTG_FS_interrupt
  1031. .long DMA2_Stream5_interrupt
  1032. .long DMA2_Stream6_interrupt
  1033. .long DMA2_Stream7_interrupt
  1034. .long USART6_interrupt
  1035. .long I2C3_EV_interrupt
  1036. .long I2C3_ER_interrupt
  1037. .long OTG_HS_EP1_OUT_interrupt
  1038. .long OTG_HS_EP1_IN_interrupt
  1039. .long OTG_HS_WKUP_interrupt
  1040. .long OTG_HS_interrupt
  1041. .long DCMI_interrupt
  1042. .long 0
  1043. .long 0
  1044. .long FPU_interrupt
  1045. .long 0
  1046. .long 0
  1047. .long SPI4_interrupt
  1048. .long 0
  1049. .long 0
  1050. .long SAI1_interrupt
  1051. .long 0
  1052. .long 0
  1053. .long 0
  1054. .long SAI2_interrupt
  1055. .long QUADSPI_interrupt
  1056. .long CEC_interrupt
  1057. .long SPDIF_RX_interrupt
  1058. .long FMPI2C1_EV_interrupt
  1059. .long FMPI2C1_ER_interrupt
  1060. .weak NonMaskableInt_interrupt
  1061. .weak MemoryManagement_interrupt
  1062. .weak BusFault_interrupt
  1063. .weak UsageFault_interrupt
  1064. .weak SVCall_interrupt
  1065. .weak DebugMonitor_interrupt
  1066. .weak PendSV_interrupt
  1067. .weak SysTick_interrupt
  1068. .weak WWDG_interrupt
  1069. .weak PVD_interrupt
  1070. .weak TAMP_STAMP_interrupt
  1071. .weak RTC_WKUP_interrupt
  1072. .weak FLASH_interrupt
  1073. .weak RCC_interrupt
  1074. .weak EXTI0_interrupt
  1075. .weak EXTI1_interrupt
  1076. .weak EXTI2_interrupt
  1077. .weak EXTI3_interrupt
  1078. .weak EXTI4_interrupt
  1079. .weak DMA1_Stream0_interrupt
  1080. .weak DMA1_Stream1_interrupt
  1081. .weak DMA1_Stream2_interrupt
  1082. .weak DMA1_Stream3_interrupt
  1083. .weak DMA1_Stream4_interrupt
  1084. .weak DMA1_Stream5_interrupt
  1085. .weak DMA1_Stream6_interrupt
  1086. .weak ADC_interrupt
  1087. .weak CAN1_TX_interrupt
  1088. .weak CAN1_RX0_interrupt
  1089. .weak CAN1_RX1_interrupt
  1090. .weak CAN1_SCE_interrupt
  1091. .weak EXTI9_5_interrupt
  1092. .weak TIM1_BRK_TIM9_interrupt
  1093. .weak TIM1_UP_TIM10_interrupt
  1094. .weak TIM1_TRG_COM_TIM11_interrupt
  1095. .weak TIM1_CC_interrupt
  1096. .weak TIM2_interrupt
  1097. .weak TIM3_interrupt
  1098. .weak TIM4_interrupt
  1099. .weak I2C1_EV_interrupt
  1100. .weak I2C1_ER_interrupt
  1101. .weak I2C2_EV_interrupt
  1102. .weak I2C2_ER_interrupt
  1103. .weak SPI1_interrupt
  1104. .weak SPI2_interrupt
  1105. .weak USART1_interrupt
  1106. .weak USART2_interrupt
  1107. .weak USART3_interrupt
  1108. .weak EXTI15_10_interrupt
  1109. .weak RTC_Alarm_interrupt
  1110. .weak OTG_FS_WKUP_interrupt
  1111. .weak TIM8_BRK_TIM12_interrupt
  1112. .weak TIM8_UP_TIM13_interrupt
  1113. .weak TIM8_TRG_COM_TIM14_interrupt
  1114. .weak TIM8_CC_interrupt
  1115. .weak DMA1_Stream7_interrupt
  1116. .weak FMC_interrupt
  1117. .weak SDIO_interrupt
  1118. .weak TIM5_interrupt
  1119. .weak SPI3_interrupt
  1120. .weak UART4_interrupt
  1121. .weak UART5_interrupt
  1122. .weak TIM6_DAC_interrupt
  1123. .weak TIM7_interrupt
  1124. .weak DMA2_Stream0_interrupt
  1125. .weak DMA2_Stream1_interrupt
  1126. .weak DMA2_Stream2_interrupt
  1127. .weak DMA2_Stream3_interrupt
  1128. .weak DMA2_Stream4_interrupt
  1129. .weak CAN2_TX_interrupt
  1130. .weak CAN2_RX0_interrupt
  1131. .weak CAN2_RX1_interrupt
  1132. .weak CAN2_SCE_interrupt
  1133. .weak OTG_FS_interrupt
  1134. .weak DMA2_Stream5_interrupt
  1135. .weak DMA2_Stream6_interrupt
  1136. .weak DMA2_Stream7_interrupt
  1137. .weak USART6_interrupt
  1138. .weak I2C3_EV_interrupt
  1139. .weak I2C3_ER_interrupt
  1140. .weak OTG_HS_EP1_OUT_interrupt
  1141. .weak OTG_HS_EP1_IN_interrupt
  1142. .weak OTG_HS_WKUP_interrupt
  1143. .weak OTG_HS_interrupt
  1144. .weak DCMI_interrupt
  1145. .weak FPU_interrupt
  1146. .weak SPI4_interrupt
  1147. .weak SAI1_interrupt
  1148. .weak SAI2_interrupt
  1149. .weak QUADSPI_interrupt
  1150. .weak CEC_interrupt
  1151. .weak SPDIF_RX_interrupt
  1152. .weak FMPI2C1_EV_interrupt
  1153. .weak FMPI2C1_ER_interrupt
  1154. .set NonMaskableInt_interrupt, HaltProc
  1155. .set MemoryManagement_interrupt, HaltProc
  1156. .set BusFault_interrupt, HaltProc
  1157. .set UsageFault_interrupt, HaltProc
  1158. .set SVCall_interrupt, HaltProc
  1159. .set DebugMonitor_interrupt, HaltProc
  1160. .set PendSV_interrupt, HaltProc
  1161. .set SysTick_interrupt, HaltProc
  1162. .set WWDG_interrupt, HaltProc
  1163. .set PVD_interrupt, HaltProc
  1164. .set TAMP_STAMP_interrupt, HaltProc
  1165. .set RTC_WKUP_interrupt, HaltProc
  1166. .set FLASH_interrupt, HaltProc
  1167. .set RCC_interrupt, HaltProc
  1168. .set EXTI0_interrupt, HaltProc
  1169. .set EXTI1_interrupt, HaltProc
  1170. .set EXTI2_interrupt, HaltProc
  1171. .set EXTI3_interrupt, HaltProc
  1172. .set EXTI4_interrupt, HaltProc
  1173. .set DMA1_Stream0_interrupt, HaltProc
  1174. .set DMA1_Stream1_interrupt, HaltProc
  1175. .set DMA1_Stream2_interrupt, HaltProc
  1176. .set DMA1_Stream3_interrupt, HaltProc
  1177. .set DMA1_Stream4_interrupt, HaltProc
  1178. .set DMA1_Stream5_interrupt, HaltProc
  1179. .set DMA1_Stream6_interrupt, HaltProc
  1180. .set ADC_interrupt, HaltProc
  1181. .set CAN1_TX_interrupt, HaltProc
  1182. .set CAN1_RX0_interrupt, HaltProc
  1183. .set CAN1_RX1_interrupt, HaltProc
  1184. .set CAN1_SCE_interrupt, HaltProc
  1185. .set EXTI9_5_interrupt, HaltProc
  1186. .set TIM1_BRK_TIM9_interrupt, HaltProc
  1187. .set TIM1_UP_TIM10_interrupt, HaltProc
  1188. .set TIM1_TRG_COM_TIM11_interrupt, HaltProc
  1189. .set TIM1_CC_interrupt, HaltProc
  1190. .set TIM2_interrupt, HaltProc
  1191. .set TIM3_interrupt, HaltProc
  1192. .set TIM4_interrupt, HaltProc
  1193. .set I2C1_EV_interrupt, HaltProc
  1194. .set I2C1_ER_interrupt, HaltProc
  1195. .set I2C2_EV_interrupt, HaltProc
  1196. .set I2C2_ER_interrupt, HaltProc
  1197. .set SPI1_interrupt, HaltProc
  1198. .set SPI2_interrupt, HaltProc
  1199. .set USART1_interrupt, HaltProc
  1200. .set USART2_interrupt, HaltProc
  1201. .set USART3_interrupt, HaltProc
  1202. .set EXTI15_10_interrupt, HaltProc
  1203. .set RTC_Alarm_interrupt, HaltProc
  1204. .set OTG_FS_WKUP_interrupt, HaltProc
  1205. .set TIM8_BRK_TIM12_interrupt, HaltProc
  1206. .set TIM8_UP_TIM13_interrupt, HaltProc
  1207. .set TIM8_TRG_COM_TIM14_interrupt, HaltProc
  1208. .set TIM8_CC_interrupt, HaltProc
  1209. .set DMA1_Stream7_interrupt, HaltProc
  1210. .set FMC_interrupt, HaltProc
  1211. .set SDIO_interrupt, HaltProc
  1212. .set TIM5_interrupt, HaltProc
  1213. .set SPI3_interrupt, HaltProc
  1214. .set UART4_interrupt, HaltProc
  1215. .set UART5_interrupt, HaltProc
  1216. .set TIM6_DAC_interrupt, HaltProc
  1217. .set TIM7_interrupt, HaltProc
  1218. .set DMA2_Stream0_interrupt, HaltProc
  1219. .set DMA2_Stream1_interrupt, HaltProc
  1220. .set DMA2_Stream2_interrupt, HaltProc
  1221. .set DMA2_Stream3_interrupt, HaltProc
  1222. .set DMA2_Stream4_interrupt, HaltProc
  1223. .set CAN2_TX_interrupt, HaltProc
  1224. .set CAN2_RX0_interrupt, HaltProc
  1225. .set CAN2_RX1_interrupt, HaltProc
  1226. .set CAN2_SCE_interrupt, HaltProc
  1227. .set OTG_FS_interrupt, HaltProc
  1228. .set DMA2_Stream5_interrupt, HaltProc
  1229. .set DMA2_Stream6_interrupt, HaltProc
  1230. .set DMA2_Stream7_interrupt, HaltProc
  1231. .set USART6_interrupt, HaltProc
  1232. .set I2C3_EV_interrupt, HaltProc
  1233. .set I2C3_ER_interrupt, HaltProc
  1234. .set OTG_HS_EP1_OUT_interrupt, HaltProc
  1235. .set OTG_HS_EP1_IN_interrupt, HaltProc
  1236. .set OTG_HS_WKUP_interrupt, HaltProc
  1237. .set OTG_HS_interrupt, HaltProc
  1238. .set DCMI_interrupt, HaltProc
  1239. .set FPU_interrupt, HaltProc
  1240. .set SPI4_interrupt, HaltProc
  1241. .set SAI1_interrupt, HaltProc
  1242. .set SAI2_interrupt, HaltProc
  1243. .set QUADSPI_interrupt, HaltProc
  1244. .set CEC_interrupt, HaltProc
  1245. .set SPDIF_RX_interrupt, HaltProc
  1246. .set FMPI2C1_EV_interrupt, HaltProc
  1247. .set FMPI2C1_ER_interrupt, HaltProc
  1248. .text
  1249. end;
  1250. end.