fe310g000.pp 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635
  1. {$IFNDEF FPC_DOTTEDUNITS}
  2. unit fe310g000;
  3. {$ENDIF FPC_DOTTEDUNITS}
  4. interface
  5. {$PACKRECORDS 2}
  6. {$GOTO ON}
  7. {$MODESWITCH ADVANCEDRECORDS}
  8. type
  9. TIRQn_Enum = (
  10. NonMaskableInt_IRQn = -14, // 2 Non Maskable Interrupt
  11. MemoryManagement_IRQn = -12, // 4 Cortex-M4 Memory Management Interrupt
  12. BusFault_IRQn = -11, // 5 Cortex-M4 Bus Fault Interrupt
  13. UsageFault_IRQn = -10, // 6 Cortex-M4 Usage Fault Interrupt
  14. SVCall_IRQn = -5, // 11 Cortex-M4 SV Call Interrupt
  15. DebugMonitor_IRQn = -4, // 12 Cortex-M4 Debug Monitor Interrupt
  16. PendSV_IRQn = -2, // 14 Cortex-M4 Pend SV Interrupt
  17. SysTick_IRQn = -1, // 15 Cortex-M4 System Tick Interrupt
  18. WWDG_IRQn = 0, // Window WatchDog Interrupt
  19. PVD_IRQn = 1, // PVD through EXTI Line detection Interrupt
  20. TAMP_STAMP_IRQn = 2, // Tamper and TimeStamp interrupts through the EXTI line
  21. RTC_WKUP_IRQn = 3, // RTC Wakeup interrupt through the EXTI line
  22. FLASH_IRQn = 4, // FLASH global Interrupt
  23. RCC_IRQn = 5, // RCC global Interrupt
  24. EXTI0_IRQn = 6, // EXTI Line0 Interrupt
  25. EXTI1_IRQn = 7, // EXTI Line1 Interrupt
  26. EXTI2_IRQn = 8, // EXTI Line2 Interrupt
  27. EXTI3_IRQn = 9, // EXTI Line3 Interrupt
  28. EXTI4_IRQn = 10, // EXTI Line4 Interrupt
  29. DMA1_Stream0_IRQn = 11, // DMA1 Stream 0 global Interrupt
  30. DMA1_Stream1_IRQn = 12, // DMA1 Stream 1 global Interrupt
  31. DMA1_Stream2_IRQn = 13, // DMA1 Stream 2 global Interrupt
  32. DMA1_Stream3_IRQn = 14, // DMA1 Stream 3 global Interrupt
  33. DMA1_Stream4_IRQn = 15, // DMA1 Stream 4 global Interrupt
  34. DMA1_Stream5_IRQn = 16, // DMA1 Stream 5 global Interrupt
  35. DMA1_Stream6_IRQn = 17, // DMA1 Stream 6 global Interrupt
  36. ADC_IRQn = 18, // ADC1, ADC2 and ADC3 global Interrupts
  37. CAN1_TX_IRQn = 19, // CAN1 TX Interrupt
  38. CAN1_RX0_IRQn = 20, // CAN1 RX0 Interrupt
  39. CAN1_RX1_IRQn = 21, // CAN1 RX1 Interrupt
  40. CAN1_SCE_IRQn = 22, // CAN1 SCE Interrupt
  41. EXTI9_5_IRQn = 23, // External Line[9:5] Interrupts
  42. TIM1_BRK_TIM9_IRQn = 24, // TIM1 Break interrupt and TIM9 global interrupt
  43. TIM1_UP_TIM10_IRQn = 25, // TIM1 Update Interrupt and TIM10 global interrupt
  44. TIM1_TRG_COM_TIM11_IRQn = 26, // TIM1 Trigger and Commutation Interrupt and TIM11 global interrupt
  45. TIM1_CC_IRQn = 27, // TIM1 Capture Compare Interrupt
  46. TIM2_IRQn = 28, // TIM2 global Interrupt
  47. TIM3_IRQn = 29, // TIM3 global Interrupt
  48. TIM4_IRQn = 30, // TIM4 global Interrupt
  49. I2C1_EV_IRQn = 31, // I2C1 Event Interrupt
  50. I2C1_ER_IRQn = 32, // I2C1 Error Interrupt
  51. I2C2_EV_IRQn = 33, // I2C2 Event Interrupt
  52. I2C2_ER_IRQn = 34, // I2C2 Error Interrupt
  53. SPI1_IRQn = 35, // SPI1 global Interrupt
  54. SPI2_IRQn = 36, // SPI2 global Interrupt
  55. USART1_IRQn = 37, // USART1 global Interrupt
  56. USART2_IRQn = 38, // USART2 global Interrupt
  57. USART3_IRQn = 39, // USART3 global Interrupt
  58. EXTI15_10_IRQn = 40, // External Line[15:10] Interrupts
  59. RTC_Alarm_IRQn = 41, // RTC Alarm (A and B) through EXTI Line Interrupt
  60. OTG_FS_WKUP_IRQn = 42, // USB OTG FS Wakeup through EXTI line interrupt
  61. TIM8_BRK_TIM12_IRQn = 43, // TIM8 Break Interrupt and TIM12 global interrupt
  62. TIM8_UP_TIM13_IRQn = 44, // TIM8 Update Interrupt and TIM13 global interrupt
  63. TIM8_TRG_COM_TIM14_IRQn = 45, // TIM8 Trigger and Commutation Interrupt and TIM14 global interrupt
  64. TIM8_CC_IRQn = 46, // TIM8 Capture Compare Interrupt
  65. DMA1_Stream7_IRQn = 47, // DMA1 Stream7 Interrupt
  66. FSMC_IRQn = 48, // FSMC global Interrupt
  67. SDIO_IRQn = 49, // SDIO global Interrupt
  68. TIM5_IRQn = 50, // TIM5 global Interrupt
  69. SPI3_IRQn = 51, // SPI3 global Interrupt
  70. UART4_IRQn = 52, // UART4 global Interrupt
  71. UART5_IRQn = 53, // UART5 global Interrupt
  72. TIM6_DAC_IRQn = 54, // TIM6 global and DAC1&2 underrun error interrupts
  73. TIM7_IRQn = 55, // TIM7 global interrupt
  74. DMA2_Stream0_IRQn = 56, // DMA2 Stream 0 global Interrupt
  75. DMA2_Stream1_IRQn = 57, // DMA2 Stream 1 global Interrupt
  76. DMA2_Stream2_IRQn = 58, // DMA2 Stream 2 global Interrupt
  77. DMA2_Stream3_IRQn = 59, // DMA2 Stream 3 global Interrupt
  78. DMA2_Stream4_IRQn = 60, // DMA2 Stream 4 global Interrupt
  79. ETH_IRQn = 61, // Ethernet global Interrupt
  80. ETH_WKUP_IRQn = 62, // Ethernet Wakeup through EXTI line Interrupt
  81. CAN2_TX_IRQn = 63, // CAN2 TX Interrupt
  82. CAN2_RX0_IRQn = 64, // CAN2 RX0 Interrupt
  83. CAN2_RX1_IRQn = 65, // CAN2 RX1 Interrupt
  84. CAN2_SCE_IRQn = 66, // CAN2 SCE Interrupt
  85. OTG_FS_IRQn = 67, // USB OTG FS global Interrupt
  86. DMA2_Stream5_IRQn = 68, // DMA2 Stream 5 global interrupt
  87. DMA2_Stream6_IRQn = 69, // DMA2 Stream 6 global interrupt
  88. DMA2_Stream7_IRQn = 70, // DMA2 Stream 7 global interrupt
  89. USART6_IRQn = 71, // USART6 global interrupt
  90. I2C3_EV_IRQn = 72, // I2C3 event interrupt
  91. I2C3_ER_IRQn = 73, // I2C3 error interrupt
  92. OTG_HS_EP1_OUT_IRQn = 74, // USB OTG HS End Point 1 Out global interrupt
  93. OTG_HS_EP1_IN_IRQn = 75, // USB OTG HS End Point 1 In global interrupt
  94. OTG_HS_WKUP_IRQn = 76, // USB OTG HS Wakeup through EXTI interrupt
  95. OTG_HS_IRQn = 77, // USB OTG HS global interrupt
  96. DCMI_IRQn = 78, // DCMI global interrupt
  97. HASH_RNG_IRQn = 80, // Hash and RNG global interrupt
  98. FPU_IRQn = 81 // FPU global interrupt
  99. );
  100. TGPIO_Registers = record
  101. VALUE : longWord;
  102. INPUT_EN : longword;
  103. OUTPUT_EN : longword;
  104. PORT : longword;
  105. PUE : longword;
  106. DS : longword;
  107. RISE_IE : longword;
  108. RISE_IP : longword;
  109. FALL_IE : longword;
  110. FALL_IP : longword;
  111. HIGH_IE : longword;
  112. HIGH_IP : longword;
  113. LOW_IE : longword;
  114. LOW_IP : longword;
  115. IOF_EN : longword;
  116. IOF_SEL : longword;
  117. OUT_XOR : longword;
  118. end;
  119. // Watchdog Registers
  120. TWDT_Registers = record
  121. WDOGCFG : longWord;
  122. RESERVED0 : longWord;
  123. WDOGCOUNT : longWord;
  124. Reserved1 : longWord;
  125. WDOGS : longWord;
  126. RESERVED2 : longWord;
  127. WDOGFEED : longWord;
  128. WDOGKEY : longWord;
  129. WDOGCMP : longWord;
  130. end;
  131. // RTC Registers
  132. TRTCRegisters = record
  133. RTCCFG : longWord;
  134. RESERVED0 : longWord;
  135. RTCLO_HI : longWord;
  136. RESERVED1 : longWord;
  137. RTCS : longWord;
  138. RESERVED2 : longWord;
  139. RESERVED3 : longWord;
  140. RESERVED4 : longWord;
  141. RTCCMP : longWord;
  142. end;
  143. TLFROSC_Registers = record
  144. LFROSCCFG : longWord;
  145. end;
  146. // Backup Registers
  147. TBackup_Registers = record
  148. BACKUP : array[0..31] of longWord;
  149. end;
  150. // PMU Registers
  151. TPMU_Registers = record
  152. PMU_WAKEUP_BASE : longWord;
  153. RESERVED0 : array[1..7] of longWord;
  154. PWM_SLEEP_BASE : longWord;
  155. RESERVED1 : array[1..7] of longWord;
  156. PMUIE : longWord;
  157. PMUCAUSE : longWord;
  158. PMUSLEEP : longWord;
  159. PMUKEY : longWord;
  160. end;
  161. TI2C_Registers = record
  162. PRESCALE_LOW : longWord;
  163. PRESCALE_HIGH : longWord;
  164. CONTROL :longWord;
  165. TRANSMIT_RECEIVE : longWord;
  166. COMMAND_STATUS : longWord;
  167. end;
  168. TPWM_Registers = record
  169. PWMCFG : longWord;
  170. RESERVED0 : longWord;
  171. PWMCOUNT : longWord;
  172. RESERVED1 : longWord;
  173. PWMS : longWord;
  174. RESERVED2 : array[1..3] of longWord;
  175. PWMCMP : array[0..3] of longWord;
  176. end;
  177. TSPI_Registers = record
  178. SCKDIV : longWord;
  179. SCKMODE : longWord;
  180. RESERVED0 : longWord;
  181. RESERVED1 : longWord;
  182. CSID : longWord;
  183. CSDEF : longWord;
  184. CSMODE : longWord;
  185. RESERVED2 : longWord;
  186. RESERVED3 : array[1..2] of longWord;
  187. DELAY0 : longWord;
  188. DELAY1 : longWord;
  189. RESERVED4 : array[1..4] of longWord;
  190. FMT : longWord;
  191. RESERVED5 : longWord;
  192. TXDATA : longWord;
  193. RXDATA : longWord;
  194. TXMARK : longWord;
  195. RESERVED6 : longWord;
  196. RXMARK : longWord;
  197. RESERVED7 : array[1..2] of longWord;
  198. // TODO: Only include if the device supports a direct-map flash interface
  199. FCTRL : longWord;
  200. FFMT : longWord;
  201. RESERVED8 : array[1..2] of longWord;
  202. IE : longWord;
  203. RESERVED9 : longWord;
  204. IP : longWord;
  205. end;
  206. TUART_Registers = record
  207. TXDATA : longWord;
  208. RXDATA : longWord;
  209. TXCTRL : longWord;
  210. RXCTRL : longWord;
  211. IE : longWord;
  212. IP : longWord;
  213. &DIV : longWord;
  214. end;
  215. const
  216. GPIOA_BASE = $10012000;
  217. UART0_BASE = $10013000;
  218. SPI0_BASE = $10014000;
  219. PWM0_BASE = $10015000;
  220. I2C0_BASE = $10016000;
  221. UART1_BASE = $10023000;
  222. SPI1_BASE = $10024000;
  223. PWM1_BASE = $10025000;
  224. SPI2_BASE = $10034000;
  225. PWM2_BASE = $10035000;
  226. DTIM_BASE = $80000000;
  227. var
  228. GPIOA : TGPIO_Registers absolute GPIOA_BASE;
  229. I2C0 : TI2C_Registers absolute I2C0_BASE;
  230. PWM0 : TPWM_Registers absolute PWM0_BASE;
  231. PWM1 : TPWM_Registers absolute PWM1_BASE;
  232. PWM2 : TPWM_Registers absolute PWM2_BASE;
  233. SPI0 : TSPI_Registers absolute SPI0_BASE;
  234. SPI1 : TSPI_Registers absolute SPI1_BASE;
  235. SPI2 : TSPI_Registers absolute SPI2_BASE;
  236. UART0 : TUART_Registers absolute UART0_BASE;
  237. UART1 : TUART_Registers absolute UART1_BASE;
  238. procedure InitMemAndStart; noreturn;
  239. implementation
  240. procedure NonMaskableInt_interrupt; external name 'NonMaskableInt_interrupt';
  241. procedure MemoryManagement_interrupt; external name 'MemoryManagement_interrupt';
  242. procedure BusFault_interrupt; external name 'BusFault_interrupt';
  243. procedure UsageFault_interrupt; external name 'UsageFault_interrupt';
  244. procedure SVCall_interrupt; external name 'SVCall_interrupt';
  245. procedure DebugMonitor_interrupt; external name 'DebugMonitor_interrupt';
  246. procedure PendSV_interrupt; external name 'PendSV_interrupt';
  247. procedure SysTick_interrupt; external name 'SysTick_interrupt';
  248. procedure WWDG_interrupt; external name 'WWDG_interrupt';
  249. procedure PVD_interrupt; external name 'PVD_interrupt';
  250. procedure TAMP_STAMP_interrupt; external name 'TAMP_STAMP_interrupt';
  251. procedure RTC_WKUP_interrupt; external name 'RTC_WKUP_interrupt';
  252. procedure FLASH_interrupt; external name 'FLASH_interrupt';
  253. procedure RCC_interrupt; external name 'RCC_interrupt';
  254. procedure EXTI0_interrupt; external name 'EXTI0_interrupt';
  255. procedure EXTI1_interrupt; external name 'EXTI1_interrupt';
  256. procedure EXTI2_interrupt; external name 'EXTI2_interrupt';
  257. procedure EXTI3_interrupt; external name 'EXTI3_interrupt';
  258. procedure EXTI4_interrupt; external name 'EXTI4_interrupt';
  259. procedure DMA1_Stream0_interrupt; external name 'DMA1_Stream0_interrupt';
  260. procedure DMA1_Stream1_interrupt; external name 'DMA1_Stream1_interrupt';
  261. procedure DMA1_Stream2_interrupt; external name 'DMA1_Stream2_interrupt';
  262. procedure DMA1_Stream3_interrupt; external name 'DMA1_Stream3_interrupt';
  263. procedure DMA1_Stream4_interrupt; external name 'DMA1_Stream4_interrupt';
  264. procedure DMA1_Stream5_interrupt; external name 'DMA1_Stream5_interrupt';
  265. procedure DMA1_Stream6_interrupt; external name 'DMA1_Stream6_interrupt';
  266. procedure ADC_interrupt; external name 'ADC_interrupt';
  267. procedure CAN1_TX_interrupt; external name 'CAN1_TX_interrupt';
  268. procedure CAN1_RX0_interrupt; external name 'CAN1_RX0_interrupt';
  269. procedure CAN1_RX1_interrupt; external name 'CAN1_RX1_interrupt';
  270. procedure CAN1_SCE_interrupt; external name 'CAN1_SCE_interrupt';
  271. procedure EXTI9_5_interrupt; external name 'EXTI9_5_interrupt';
  272. procedure TIM1_BRK_TIM9_interrupt; external name 'TIM1_BRK_TIM9_interrupt';
  273. procedure TIM1_UP_TIM10_interrupt; external name 'TIM1_UP_TIM10_interrupt';
  274. procedure TIM1_TRG_COM_TIM11_interrupt; external name 'TIM1_TRG_COM_TIM11_interrupt';
  275. procedure TIM1_CC_interrupt; external name 'TIM1_CC_interrupt';
  276. procedure TIM2_interrupt; external name 'TIM2_interrupt';
  277. procedure TIM3_interrupt; external name 'TIM3_interrupt';
  278. procedure TIM4_interrupt; external name 'TIM4_interrupt';
  279. procedure I2C1_EV_interrupt; external name 'I2C1_EV_interrupt';
  280. procedure I2C1_ER_interrupt; external name 'I2C1_ER_interrupt';
  281. procedure I2C2_EV_interrupt; external name 'I2C2_EV_interrupt';
  282. procedure I2C2_ER_interrupt; external name 'I2C2_ER_interrupt';
  283. procedure SPI1_interrupt; external name 'SPI1_interrupt';
  284. procedure SPI2_interrupt; external name 'SPI2_interrupt';
  285. procedure USART1_interrupt; external name 'USART1_interrupt';
  286. procedure USART2_interrupt; external name 'USART2_interrupt';
  287. procedure USART3_interrupt; external name 'USART3_interrupt';
  288. procedure EXTI15_10_interrupt; external name 'EXTI15_10_interrupt';
  289. procedure RTC_Alarm_interrupt; external name 'RTC_Alarm_interrupt';
  290. procedure OTG_FS_WKUP_interrupt; external name 'OTG_FS_WKUP_interrupt';
  291. procedure TIM8_BRK_TIM12_interrupt; external name 'TIM8_BRK_TIM12_interrupt';
  292. procedure TIM8_UP_TIM13_interrupt; external name 'TIM8_UP_TIM13_interrupt';
  293. procedure TIM8_TRG_COM_TIM14_interrupt; external name 'TIM8_TRG_COM_TIM14_interrupt';
  294. procedure TIM8_CC_interrupt; external name 'TIM8_CC_interrupt';
  295. procedure DMA1_Stream7_interrupt; external name 'DMA1_Stream7_interrupt';
  296. procedure FSMC_interrupt; external name 'FSMC_interrupt';
  297. procedure SDIO_interrupt; external name 'SDIO_interrupt';
  298. procedure TIM5_interrupt; external name 'TIM5_interrupt';
  299. procedure SPI3_interrupt; external name 'SPI3_interrupt';
  300. procedure UART4_interrupt; external name 'UART4_interrupt';
  301. procedure UART5_interrupt; external name 'UART5_interrupt';
  302. procedure TIM6_DAC_interrupt; external name 'TIM6_DAC_interrupt';
  303. procedure TIM7_interrupt; external name 'TIM7_interrupt';
  304. procedure DMA2_Stream0_interrupt; external name 'DMA2_Stream0_interrupt';
  305. procedure DMA2_Stream1_interrupt; external name 'DMA2_Stream1_interrupt';
  306. procedure DMA2_Stream2_interrupt; external name 'DMA2_Stream2_interrupt';
  307. procedure DMA2_Stream3_interrupt; external name 'DMA2_Stream3_interrupt';
  308. procedure DMA2_Stream4_interrupt; external name 'DMA2_Stream4_interrupt';
  309. procedure ETH_interrupt; external name 'ETH_interrupt';
  310. procedure ETH_WKUP_interrupt; external name 'ETH_WKUP_interrupt';
  311. procedure CAN2_TX_interrupt; external name 'CAN2_TX_interrupt';
  312. procedure CAN2_RX0_interrupt; external name 'CAN2_RX0_interrupt';
  313. procedure CAN2_RX1_interrupt; external name 'CAN2_RX1_interrupt';
  314. procedure CAN2_SCE_interrupt; external name 'CAN2_SCE_interrupt';
  315. procedure OTG_FS_interrupt; external name 'OTG_FS_interrupt';
  316. procedure DMA2_Stream5_interrupt; external name 'DMA2_Stream5_interrupt';
  317. procedure DMA2_Stream6_interrupt; external name 'DMA2_Stream6_interrupt';
  318. procedure DMA2_Stream7_interrupt; external name 'DMA2_Stream7_interrupt';
  319. procedure USART6_interrupt; external name 'USART6_interrupt';
  320. procedure I2C3_EV_interrupt; external name 'I2C3_EV_interrupt';
  321. procedure I2C3_ER_interrupt; external name 'I2C3_ER_interrupt';
  322. procedure OTG_HS_EP1_OUT_interrupt; external name 'OTG_HS_EP1_OUT_interrupt';
  323. procedure OTG_HS_EP1_IN_interrupt; external name 'OTG_HS_EP1_IN_interrupt';
  324. procedure OTG_HS_WKUP_interrupt; external name 'OTG_HS_WKUP_interrupt';
  325. procedure OTG_HS_interrupt; external name 'OTG_HS_interrupt';
  326. procedure DCMI_interrupt; external name 'DCMI_interrupt';
  327. procedure HASH_RNG_interrupt; external name 'HASH_RNG_interrupt';
  328. procedure FPU_interrupt; external name 'FPU_interrupt';
  329. procedure ResetISR; external name 'ResetISR';
  330. procedure HandleArchSpecificReset; noreturn;
  331. begin
  332. InitMemAndStart
  333. end;
  334. {$i riscv32_start.inc}
  335. procedure Vectors; assembler; nostackframe;
  336. label interrupt_vectors;
  337. asm
  338. .section ".init.interrupt_vectors"
  339. interrupt_vectors:
  340. .long _stack_top
  341. .long HandleArchSpecificReset
  342. .long NonMaskableInt_interrupt
  343. .long 0
  344. .long MemoryManagement_interrupt
  345. .long BusFault_interrupt
  346. .long UsageFault_interrupt
  347. .long 0
  348. .long 0
  349. .long 0
  350. .long 0
  351. .long SVCall_interrupt
  352. .long DebugMonitor_interrupt
  353. .long 0
  354. .long PendSV_interrupt
  355. .long SysTick_interrupt
  356. .long WWDG_interrupt
  357. .long PVD_interrupt
  358. .long TAMP_STAMP_interrupt
  359. .long RTC_WKUP_interrupt
  360. .long FLASH_interrupt
  361. .long RCC_interrupt
  362. .long EXTI0_interrupt
  363. .long EXTI1_interrupt
  364. .long EXTI2_interrupt
  365. .long EXTI3_interrupt
  366. .long EXTI4_interrupt
  367. .long DMA1_Stream0_interrupt
  368. .long DMA1_Stream1_interrupt
  369. .long DMA1_Stream2_interrupt
  370. .long DMA1_Stream3_interrupt
  371. .long DMA1_Stream4_interrupt
  372. .long DMA1_Stream5_interrupt
  373. .long DMA1_Stream6_interrupt
  374. .long ADC_interrupt
  375. .long CAN1_TX_interrupt
  376. .long CAN1_RX0_interrupt
  377. .long CAN1_RX1_interrupt
  378. .long CAN1_SCE_interrupt
  379. .long EXTI9_5_interrupt
  380. .long TIM1_BRK_TIM9_interrupt
  381. .long TIM1_UP_TIM10_interrupt
  382. .long TIM1_TRG_COM_TIM11_interrupt
  383. .long TIM1_CC_interrupt
  384. .long TIM2_interrupt
  385. .long TIM3_interrupt
  386. .long TIM4_interrupt
  387. .long I2C1_EV_interrupt
  388. .long I2C1_ER_interrupt
  389. .long I2C2_EV_interrupt
  390. .long I2C2_ER_interrupt
  391. .long SPI1_interrupt
  392. .long SPI2_interrupt
  393. .long USART1_interrupt
  394. .long USART2_interrupt
  395. .long USART3_interrupt
  396. .long EXTI15_10_interrupt
  397. .long RTC_Alarm_interrupt
  398. .long OTG_FS_WKUP_interrupt
  399. .long TIM8_BRK_TIM12_interrupt
  400. .long TIM8_UP_TIM13_interrupt
  401. .long TIM8_TRG_COM_TIM14_interrupt
  402. .long TIM8_CC_interrupt
  403. .long DMA1_Stream7_interrupt
  404. .long FSMC_interrupt
  405. .long SDIO_interrupt
  406. .long TIM5_interrupt
  407. .long SPI3_interrupt
  408. .long UART4_interrupt
  409. .long UART5_interrupt
  410. .long TIM6_DAC_interrupt
  411. .long TIM7_interrupt
  412. .long DMA2_Stream0_interrupt
  413. .long DMA2_Stream1_interrupt
  414. .long DMA2_Stream2_interrupt
  415. .long DMA2_Stream3_interrupt
  416. .long DMA2_Stream4_interrupt
  417. .long ETH_interrupt
  418. .long ETH_WKUP_interrupt
  419. .long CAN2_TX_interrupt
  420. .long CAN2_RX0_interrupt
  421. .long CAN2_RX1_interrupt
  422. .long CAN2_SCE_interrupt
  423. .long OTG_FS_interrupt
  424. .long DMA2_Stream5_interrupt
  425. .long DMA2_Stream6_interrupt
  426. .long DMA2_Stream7_interrupt
  427. .long USART6_interrupt
  428. .long I2C3_EV_interrupt
  429. .long I2C3_ER_interrupt
  430. .long OTG_HS_EP1_OUT_interrupt
  431. .long OTG_HS_EP1_IN_interrupt
  432. .long OTG_HS_WKUP_interrupt
  433. .long OTG_HS_interrupt
  434. .long DCMI_interrupt
  435. .long 0
  436. .long HASH_RNG_interrupt
  437. .long FPU_interrupt
  438. .weak NonMaskableInt_interrupt
  439. .weak MemoryManagement_interrupt
  440. .weak BusFault_interrupt
  441. .weak UsageFault_interrupt
  442. .weak SVCall_interrupt
  443. .weak DebugMonitor_interrupt
  444. .weak PendSV_interrupt
  445. .weak SysTick_interrupt
  446. .weak WWDG_interrupt
  447. .weak PVD_interrupt
  448. .weak TAMP_STAMP_interrupt
  449. .weak RTC_WKUP_interrupt
  450. .weak FLASH_interrupt
  451. .weak RCC_interrupt
  452. .weak EXTI0_interrupt
  453. .weak EXTI1_interrupt
  454. .weak EXTI2_interrupt
  455. .weak EXTI3_interrupt
  456. .weak EXTI4_interrupt
  457. .weak DMA1_Stream0_interrupt
  458. .weak DMA1_Stream1_interrupt
  459. .weak DMA1_Stream2_interrupt
  460. .weak DMA1_Stream3_interrupt
  461. .weak DMA1_Stream4_interrupt
  462. .weak DMA1_Stream5_interrupt
  463. .weak DMA1_Stream6_interrupt
  464. .weak ADC_interrupt
  465. .weak CAN1_TX_interrupt
  466. .weak CAN1_RX0_interrupt
  467. .weak CAN1_RX1_interrupt
  468. .weak CAN1_SCE_interrupt
  469. .weak EXTI9_5_interrupt
  470. .weak TIM1_BRK_TIM9_interrupt
  471. .weak TIM1_UP_TIM10_interrupt
  472. .weak TIM1_TRG_COM_TIM11_interrupt
  473. .weak TIM1_CC_interrupt
  474. .weak TIM2_interrupt
  475. .weak TIM3_interrupt
  476. .weak TIM4_interrupt
  477. .weak I2C1_EV_interrupt
  478. .weak I2C1_ER_interrupt
  479. .weak I2C2_EV_interrupt
  480. .weak I2C2_ER_interrupt
  481. .weak SPI1_interrupt
  482. .weak SPI2_interrupt
  483. .weak USART1_interrupt
  484. .weak USART2_interrupt
  485. .weak USART3_interrupt
  486. .weak EXTI15_10_interrupt
  487. .weak RTC_Alarm_interrupt
  488. .weak OTG_FS_WKUP_interrupt
  489. .weak TIM8_BRK_TIM12_interrupt
  490. .weak TIM8_UP_TIM13_interrupt
  491. .weak TIM8_TRG_COM_TIM14_interrupt
  492. .weak TIM8_CC_interrupt
  493. .weak DMA1_Stream7_interrupt
  494. .weak FSMC_interrupt
  495. .weak SDIO_interrupt
  496. .weak TIM5_interrupt
  497. .weak SPI3_interrupt
  498. .weak UART4_interrupt
  499. .weak UART5_interrupt
  500. .weak TIM6_DAC_interrupt
  501. .weak TIM7_interrupt
  502. .weak DMA2_Stream0_interrupt
  503. .weak DMA2_Stream1_interrupt
  504. .weak DMA2_Stream2_interrupt
  505. .weak DMA2_Stream3_interrupt
  506. .weak DMA2_Stream4_interrupt
  507. .weak ETH_interrupt
  508. .weak ETH_WKUP_interrupt
  509. .weak CAN2_TX_interrupt
  510. .weak CAN2_RX0_interrupt
  511. .weak CAN2_RX1_interrupt
  512. .weak CAN2_SCE_interrupt
  513. .weak OTG_FS_interrupt
  514. .weak DMA2_Stream5_interrupt
  515. .weak DMA2_Stream6_interrupt
  516. .weak DMA2_Stream7_interrupt
  517. .weak USART6_interrupt
  518. .weak I2C3_EV_interrupt
  519. .weak I2C3_ER_interrupt
  520. .weak OTG_HS_EP1_OUT_interrupt
  521. .weak OTG_HS_EP1_IN_interrupt
  522. .weak OTG_HS_WKUP_interrupt
  523. .weak OTG_HS_interrupt
  524. .weak DCMI_interrupt
  525. .weak HASH_RNG_interrupt
  526. .weak FPU_interrupt
  527. .set NonMaskableInt_interrupt, HaltProc
  528. .set MemoryManagement_interrupt, HaltProc
  529. .set BusFault_interrupt, HaltProc
  530. .set UsageFault_interrupt, HaltProc
  531. .set SVCall_interrupt, HaltProc
  532. .set DebugMonitor_interrupt, HaltProc
  533. .set PendSV_interrupt, HaltProc
  534. .set SysTick_interrupt, HaltProc
  535. .set WWDG_interrupt, HaltProc
  536. .set PVD_interrupt, HaltProc
  537. .set TAMP_STAMP_interrupt, HaltProc
  538. .set RTC_WKUP_interrupt, HaltProc
  539. .set FLASH_interrupt, HaltProc
  540. .set RCC_interrupt, HaltProc
  541. .set EXTI0_interrupt, HaltProc
  542. .set EXTI1_interrupt, HaltProc
  543. .set EXTI2_interrupt, HaltProc
  544. .set EXTI3_interrupt, HaltProc
  545. .set EXTI4_interrupt, HaltProc
  546. .set DMA1_Stream0_interrupt, HaltProc
  547. .set DMA1_Stream1_interrupt, HaltProc
  548. .set DMA1_Stream2_interrupt, HaltProc
  549. .set DMA1_Stream3_interrupt, HaltProc
  550. .set DMA1_Stream4_interrupt, HaltProc
  551. .set DMA1_Stream5_interrupt, HaltProc
  552. .set DMA1_Stream6_interrupt, HaltProc
  553. .set ADC_interrupt, HaltProc
  554. .set CAN1_TX_interrupt, HaltProc
  555. .set CAN1_RX0_interrupt, HaltProc
  556. .set CAN1_RX1_interrupt, HaltProc
  557. .set CAN1_SCE_interrupt, HaltProc
  558. .set EXTI9_5_interrupt, HaltProc
  559. .set TIM1_BRK_TIM9_interrupt, HaltProc
  560. .set TIM1_UP_TIM10_interrupt, HaltProc
  561. .set TIM1_TRG_COM_TIM11_interrupt, HaltProc
  562. .set TIM1_CC_interrupt, HaltProc
  563. .set TIM2_interrupt, HaltProc
  564. .set TIM3_interrupt, HaltProc
  565. .set TIM4_interrupt, HaltProc
  566. .set I2C1_EV_interrupt, HaltProc
  567. .set I2C1_ER_interrupt, HaltProc
  568. .set I2C2_EV_interrupt, HaltProc
  569. .set I2C2_ER_interrupt, HaltProc
  570. .set SPI1_interrupt, HaltProc
  571. .set SPI2_interrupt, HaltProc
  572. .set USART1_interrupt, HaltProc
  573. .set USART2_interrupt, HaltProc
  574. .set USART3_interrupt, HaltProc
  575. .set EXTI15_10_interrupt, HaltProc
  576. .set RTC_Alarm_interrupt, HaltProc
  577. .set OTG_FS_WKUP_interrupt, HaltProc
  578. .set TIM8_BRK_TIM12_interrupt, HaltProc
  579. .set TIM8_UP_TIM13_interrupt, HaltProc
  580. .set TIM8_TRG_COM_TIM14_interrupt, HaltProc
  581. .set TIM8_CC_interrupt, HaltProc
  582. .set DMA1_Stream7_interrupt, HaltProc
  583. .set FSMC_interrupt, HaltProc
  584. .set SDIO_interrupt, HaltProc
  585. .set TIM5_interrupt, HaltProc
  586. .set SPI3_interrupt, HaltProc
  587. .set UART4_interrupt, HaltProc
  588. .set UART5_interrupt, HaltProc
  589. .set TIM6_DAC_interrupt, HaltProc
  590. .set TIM7_interrupt, HaltProc
  591. .set DMA2_Stream0_interrupt, HaltProc
  592. .set DMA2_Stream1_interrupt, HaltProc
  593. .set DMA2_Stream2_interrupt, HaltProc
  594. .set DMA2_Stream3_interrupt, HaltProc
  595. .set DMA2_Stream4_interrupt, HaltProc
  596. .set ETH_interrupt, HaltProc
  597. .set ETH_WKUP_interrupt, HaltProc
  598. .set CAN2_TX_interrupt, HaltProc
  599. .set CAN2_RX0_interrupt, HaltProc
  600. .set CAN2_RX1_interrupt, HaltProc
  601. .set CAN2_SCE_interrupt, HaltProc
  602. .set OTG_FS_interrupt, HaltProc
  603. .set DMA2_Stream5_interrupt, HaltProc
  604. .set DMA2_Stream6_interrupt, HaltProc
  605. .set DMA2_Stream7_interrupt, HaltProc
  606. .set USART6_interrupt, HaltProc
  607. .set I2C3_EV_interrupt, HaltProc
  608. .set I2C3_ER_interrupt, HaltProc
  609. .set OTG_HS_EP1_OUT_interrupt, HaltProc
  610. .set OTG_HS_EP1_IN_interrupt, HaltProc
  611. .set OTG_HS_WKUP_interrupt, HaltProc
  612. .set OTG_HS_interrupt, HaltProc
  613. .set DCMI_interrupt, HaltProc
  614. .set HASH_RNG_interrupt, HaltProc
  615. .set FPU_interrupt, HaltProc
  616. .text
  617. end;
  618. end.