LPC43xx_Vectors.s 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540
  1. /*****************************************************************************
  2. * SEGGER Microcontroller GmbH & Co. KG *
  3. * Solutions for real time microcontroller applications *
  4. *****************************************************************************
  5. * *
  6. * (c) 2017 SEGGER Microcontroller GmbH & Co. KG *
  7. * *
  8. * Internet: www.segger.com Support: support@segger.com *
  9. * *
  10. *****************************************************************************/
  11. /*****************************************************************************
  12. * Preprocessor Definitions *
  13. * ------------------------ *
  14. * VECTORS_IN_RAM *
  15. * *
  16. * If defined, an area of RAM will large enough to store the vector table *
  17. * will be reserved. *
  18. * *
  19. *****************************************************************************/
  20. .syntax unified
  21. .code 16
  22. .section .init, "ax"
  23. .align 0
  24. /*****************************************************************************
  25. * Default Exception Handlers *
  26. *****************************************************************************/
  27. .thumb_func
  28. .weak NMI_Handler
  29. NMI_Handler:
  30. b .
  31. .thumb_func
  32. .weak HardFault_Handler
  33. HardFault_Handler:
  34. b .
  35. .thumb_func
  36. .weak SVC_Handler
  37. SVC_Handler:
  38. b .
  39. .thumb_func
  40. .weak PendSV_Handler
  41. PendSV_Handler:
  42. b .
  43. .thumb_func
  44. .weak SysTick_Handler
  45. SysTick_Handler:
  46. b .
  47. .thumb_func
  48. Dummy_Handler:
  49. b .
  50. #if defined(__OPTIMIZATION_SMALL)
  51. .weak DAC_IRQHandler
  52. .thumb_set DAC_IRQHandler,Dummy_Handler
  53. .weak DMA_IRQHandler
  54. .thumb_set DMA_IRQHandler,Dummy_Handler
  55. .weak FLASH_IRQHandler
  56. .thumb_set FLASH_IRQHandler,Dummy_Handler
  57. .weak ETHERNET_IRQHandler
  58. .thumb_set ETHERNET_IRQHandler,Dummy_Handler
  59. .weak SDIO_IRQHandler
  60. .thumb_set SDIO_IRQHandler,Dummy_Handler
  61. .weak LCD_IRQHandler
  62. .thumb_set LCD_IRQHandler,Dummy_Handler
  63. .weak USB0_IRQHandler
  64. .thumb_set USB0_IRQHandler,Dummy_Handler
  65. .weak USB1_IRQHandler
  66. .thumb_set USB1_IRQHandler,Dummy_Handler
  67. .weak SCT_IRQHandler
  68. .thumb_set SCT_IRQHandler,Dummy_Handler
  69. .weak RITIMER_IRQHandler
  70. .thumb_set RITIMER_IRQHandler,Dummy_Handler
  71. .weak TIMER0_IRQHandler
  72. .thumb_set TIMER0_IRQHandler,Dummy_Handler
  73. .weak TIMER1_IRQHandler
  74. .thumb_set TIMER1_IRQHandler,Dummy_Handler
  75. .weak TIMER2_IRQHandler
  76. .thumb_set TIMER2_IRQHandler,Dummy_Handler
  77. .weak TIMER3_IRQHandler
  78. .thumb_set TIMER3_IRQHandler,Dummy_Handler
  79. .weak MCPWM_IRQHandler
  80. .thumb_set MCPWM_IRQHandler,Dummy_Handler
  81. .weak ADC0_IRQHandler
  82. .thumb_set ADC0_IRQHandler,Dummy_Handler
  83. .weak I2C0_IRQHandler
  84. .thumb_set I2C0_IRQHandler,Dummy_Handler
  85. .weak I2C1_IRQHandler
  86. .thumb_set I2C1_IRQHandler,Dummy_Handler
  87. .weak SPI_INT_IRQHandler
  88. .thumb_set SPI_INT_IRQHandler,Dummy_Handler
  89. .weak ADC1_IRQHandler
  90. .thumb_set ADC1_IRQHandler,Dummy_Handler
  91. .weak SSP0_IRQHandler
  92. .thumb_set SSP0_IRQHandler,Dummy_Handler
  93. .weak SSP1_IRQHandler
  94. .thumb_set SSP1_IRQHandler,Dummy_Handler
  95. .weak USART0_IRQHandler
  96. .thumb_set USART0_IRQHandler,Dummy_Handler
  97. .weak UART1_IRQHandler
  98. .thumb_set UART1_IRQHandler,Dummy_Handler
  99. .weak USART2_IRQHandler
  100. .thumb_set USART2_IRQHandler,Dummy_Handler
  101. .weak USART3_IRQHandler
  102. .thumb_set USART3_IRQHandler,Dummy_Handler
  103. .weak I2S0_IRQHandler
  104. .thumb_set I2S0_IRQHandler,Dummy_Handler
  105. .weak I2S1_IRQHandler
  106. .thumb_set I2S1_IRQHandler,Dummy_Handler
  107. .weak SPIFI_IRQHandler
  108. .thumb_set SPIFI_IRQHandler,Dummy_Handler
  109. .weak SGPIO_IINT_IRQHandler
  110. .thumb_set SGPIO_IINT_IRQHandler,Dummy_Handler
  111. .weak PIN_INT0_IRQHandler
  112. .thumb_set PIN_INT0_IRQHandler,Dummy_Handler
  113. .weak PIN_INT1_IRQHandler
  114. .thumb_set PIN_INT1_IRQHandler,Dummy_Handler
  115. .weak PIN_INT2_IRQHandler
  116. .thumb_set PIN_INT2_IRQHandler,Dummy_Handler
  117. .weak PIN_INT3_IRQHandler
  118. .thumb_set PIN_INT3_IRQHandler,Dummy_Handler
  119. .weak PIN_INT4_IRQHandler
  120. .thumb_set PIN_INT4_IRQHandler,Dummy_Handler
  121. .weak PIN_INT5_IRQHandler
  122. .thumb_set PIN_INT5_IRQHandler,Dummy_Handler
  123. .weak PIN_INT6_IRQHandler
  124. .thumb_set PIN_INT6_IRQHandler,Dummy_Handler
  125. .weak PIN_INT7_IRQHandler
  126. .thumb_set PIN_INT7_IRQHandler,Dummy_Handler
  127. .weak GINT0_IRQHandler
  128. .thumb_set GINT0_IRQHandler,Dummy_Handler
  129. .weak GINT1_IRQHandler
  130. .thumb_set GINT1_IRQHandler,Dummy_Handler
  131. .weak EVENTROUTER_IRQHandler
  132. .thumb_set EVENTROUTER_IRQHandler,Dummy_Handler
  133. .weak C_CAN1_IRQHandler
  134. .thumb_set C_CAN1_IRQHandler,Dummy_Handler
  135. .weak ADCHS_IRQHandler
  136. .thumb_set ADCHS_IRQHandler,Dummy_Handler
  137. .weak ATIMER_IRQHandler
  138. .thumb_set ATIMER_IRQHandler,Dummy_Handler
  139. .weak RTC_IRQHandler
  140. .thumb_set RTC_IRQHandler,Dummy_Handler
  141. .weak WWDT_IRQHandler
  142. .thumb_set WWDT_IRQHandler,Dummy_Handler
  143. .weak C_CAN0_IRQHandler
  144. .thumb_set C_CAN0_IRQHandler,Dummy_Handler
  145. .weak QEI_IRQHandler
  146. .thumb_set QEI_IRQHandler,Dummy_Handler
  147. #else
  148. .thumb_func
  149. .weak DAC_IRQHandler
  150. DAC_IRQHandler:
  151. b .
  152. .thumb_func
  153. .weak DMA_IRQHandler
  154. DMA_IRQHandler:
  155. b .
  156. .thumb_func
  157. .weak FLASH_IRQHandler
  158. FLASH_IRQHandler:
  159. b .
  160. .thumb_func
  161. .weak ETHERNET_IRQHandler
  162. ETHERNET_IRQHandler:
  163. b .
  164. .thumb_func
  165. .weak SDIO_IRQHandler
  166. SDIO_IRQHandler:
  167. b .
  168. .thumb_func
  169. .weak LCD_IRQHandler
  170. LCD_IRQHandler:
  171. b .
  172. .thumb_func
  173. .weak USB0_IRQHandler
  174. USB0_IRQHandler:
  175. b .
  176. .thumb_func
  177. .weak USB1_IRQHandler
  178. USB1_IRQHandler:
  179. b .
  180. .thumb_func
  181. .weak SCT_IRQHandler
  182. SCT_IRQHandler:
  183. b .
  184. .thumb_func
  185. .weak RITIMER_IRQHandler
  186. RITIMER_IRQHandler:
  187. b .
  188. .thumb_func
  189. .weak TIMER0_IRQHandler
  190. TIMER0_IRQHandler:
  191. b .
  192. .thumb_func
  193. .weak TIMER1_IRQHandler
  194. TIMER1_IRQHandler:
  195. b .
  196. .thumb_func
  197. .weak TIMER2_IRQHandler
  198. TIMER2_IRQHandler:
  199. b .
  200. .thumb_func
  201. .weak TIMER3_IRQHandler
  202. TIMER3_IRQHandler:
  203. b .
  204. .thumb_func
  205. .weak MCPWM_IRQHandler
  206. MCPWM_IRQHandler:
  207. b .
  208. .thumb_func
  209. .weak ADC0_IRQHandler
  210. ADC0_IRQHandler:
  211. b .
  212. .thumb_func
  213. .weak I2C0_IRQHandler
  214. I2C0_IRQHandler:
  215. b .
  216. .thumb_func
  217. .weak I2C1_IRQHandler
  218. I2C1_IRQHandler:
  219. b .
  220. .thumb_func
  221. .weak SPI_INT_IRQHandler
  222. SPI_INT_IRQHandler:
  223. b .
  224. .thumb_func
  225. .weak ADC1_IRQHandler
  226. ADC1_IRQHandler:
  227. b .
  228. .thumb_func
  229. .weak SSP0_IRQHandler
  230. SSP0_IRQHandler:
  231. b .
  232. .thumb_func
  233. .weak SSP1_IRQHandler
  234. SSP1_IRQHandler:
  235. b .
  236. .thumb_func
  237. .weak USART0_IRQHandler
  238. USART0_IRQHandler:
  239. b .
  240. .thumb_func
  241. .weak UART1_IRQHandler
  242. UART1_IRQHandler:
  243. b .
  244. .thumb_func
  245. .weak USART2_IRQHandler
  246. USART2_IRQHandler:
  247. b .
  248. .thumb_func
  249. .weak USART3_IRQHandler
  250. USART3_IRQHandler:
  251. b .
  252. .thumb_func
  253. .weak I2S0_IRQHandler
  254. I2S0_IRQHandler:
  255. b .
  256. .thumb_func
  257. .weak I2S1_IRQHandler
  258. I2S1_IRQHandler:
  259. b .
  260. .thumb_func
  261. .weak SPIFI_IRQHandler
  262. SPIFI_IRQHandler:
  263. b .
  264. .thumb_func
  265. .weak SGPIO_IINT_IRQHandler
  266. SGPIO_IINT_IRQHandler:
  267. b .
  268. .thumb_func
  269. .weak PIN_INT0_IRQHandler
  270. PIN_INT0_IRQHandler:
  271. b .
  272. .thumb_func
  273. .weak PIN_INT1_IRQHandler
  274. PIN_INT1_IRQHandler:
  275. b .
  276. .thumb_func
  277. .weak PIN_INT2_IRQHandler
  278. PIN_INT2_IRQHandler:
  279. b .
  280. .thumb_func
  281. .weak PIN_INT3_IRQHandler
  282. PIN_INT3_IRQHandler:
  283. b .
  284. .thumb_func
  285. .weak PIN_INT4_IRQHandler
  286. PIN_INT4_IRQHandler:
  287. b .
  288. .thumb_func
  289. .weak PIN_INT5_IRQHandler
  290. PIN_INT5_IRQHandler:
  291. b .
  292. .thumb_func
  293. .weak PIN_INT6_IRQHandler
  294. PIN_INT6_IRQHandler:
  295. b .
  296. .thumb_func
  297. .weak PIN_INT7_IRQHandler
  298. PIN_INT7_IRQHandler:
  299. b .
  300. .thumb_func
  301. .weak GINT0_IRQHandler
  302. GINT0_IRQHandler:
  303. b .
  304. .thumb_func
  305. .weak GINT1_IRQHandler
  306. GINT1_IRQHandler:
  307. b .
  308. .thumb_func
  309. .weak EVENTROUTER_IRQHandler
  310. EVENTROUTER_IRQHandler:
  311. b .
  312. .thumb_func
  313. .weak C_CAN1_IRQHandler
  314. C_CAN1_IRQHandler:
  315. b .
  316. .thumb_func
  317. .weak ADCHS_IRQHandler
  318. ADCHS_IRQHandler:
  319. b .
  320. .thumb_func
  321. .weak ATIMER_IRQHandler
  322. ATIMER_IRQHandler:
  323. b .
  324. .thumb_func
  325. .weak RTC_IRQHandler
  326. RTC_IRQHandler:
  327. b .
  328. .thumb_func
  329. .weak WWDT_IRQHandler
  330. WWDT_IRQHandler:
  331. b .
  332. .thumb_func
  333. .weak C_CAN0_IRQHandler
  334. C_CAN0_IRQHandler:
  335. b .
  336. .thumb_func
  337. .weak QEI_IRQHandler
  338. QEI_IRQHandler:
  339. b .
  340. #endif
  341. /*****************************************************************************
  342. * Vector Table *
  343. *****************************************************************************/
  344. .section .vectors, "ax"
  345. .align 0
  346. .global _vectors
  347. .extern __stack_end__
  348. .extern Reset_Handler
  349. _vectors:
  350. .word __stack_end__
  351. .word Reset_Handler
  352. .word NMI_Handler
  353. .word HardFault_Handler
  354. .word 0 /* Reserved */
  355. .word 0 /* Reserved */
  356. .word 0 /* Reserved */
  357. .word 0 /* Reserved */
  358. .word 0 /* Reserved */
  359. .word 0 /* Reserved */
  360. .word 0 /* Reserved */
  361. .word SVC_Handler
  362. .word 0 /* Reserved */
  363. .word 0 /* Reserved */
  364. .word PendSV_Handler
  365. .word SysTick_Handler
  366. .word DAC_IRQHandler
  367. .word Dummy_Handler /* Reserved */
  368. .word DMA_IRQHandler
  369. .word Dummy_Handler /* Reserved */
  370. .word FLASH_IRQHandler
  371. .word ETHERNET_IRQHandler
  372. .word SDIO_IRQHandler
  373. .word LCD_IRQHandler
  374. .word USB0_IRQHandler
  375. .word USB1_IRQHandler
  376. .word SCT_IRQHandler
  377. .word RITIMER_IRQHandler
  378. .word TIMER0_IRQHandler
  379. .word TIMER1_IRQHandler
  380. .word TIMER2_IRQHandler
  381. .word TIMER3_IRQHandler
  382. .word MCPWM_IRQHandler
  383. .word ADC0_IRQHandler
  384. .word I2C0_IRQHandler
  385. .word I2C1_IRQHandler
  386. .word SPI_INT_IRQHandler
  387. .word ADC1_IRQHandler
  388. .word SSP0_IRQHandler
  389. .word SSP1_IRQHandler
  390. .word USART0_IRQHandler
  391. .word UART1_IRQHandler
  392. .word USART2_IRQHandler
  393. .word USART3_IRQHandler
  394. .word I2S0_IRQHandler
  395. .word I2S1_IRQHandler
  396. .word SPIFI_IRQHandler
  397. .word SGPIO_IINT_IRQHandler
  398. .word PIN_INT0_IRQHandler
  399. .word PIN_INT1_IRQHandler
  400. .word PIN_INT2_IRQHandler
  401. .word PIN_INT3_IRQHandler
  402. .word PIN_INT4_IRQHandler
  403. .word PIN_INT5_IRQHandler
  404. .word PIN_INT6_IRQHandler
  405. .word PIN_INT7_IRQHandler
  406. .word GINT0_IRQHandler
  407. .word GINT1_IRQHandler
  408. .word EVENTROUTER_IRQHandler
  409. .word C_CAN1_IRQHandler
  410. .word Dummy_Handler /* Reserved */
  411. .word ADCHS_IRQHandler
  412. .word ATIMER_IRQHandler
  413. .word RTC_IRQHandler
  414. .word Dummy_Handler /* Reserved */
  415. .word WWDT_IRQHandler
  416. .word Dummy_Handler /* Reserved */
  417. .word C_CAN0_IRQHandler
  418. .word QEI_IRQHandler
  419. _vectors_end:
  420. #ifdef VECTORS_IN_RAM
  421. .section .vectors_ram, "ax"
  422. .align 0
  423. .global _vectors_ram
  424. _vectors_ram:
  425. .space _vectors_end - _vectors, 0
  426. #endif