lpc122x.pp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622
  1. {$IFNDEF FPC_DOTTEDUNITS}
  2. unit lpc122x;
  3. {$ENDIF FPC_DOTTEDUNITS}
  4. {$goto on}
  5. {$define lpc122x}
  6. interface
  7. {$PACKRECORDS 2}
  8. const
  9. //------------------------- Cortex-M0 Processor Exceptions Numbers -----------------------------
  10. Reset_IRQn = -15; // 1 Reset Vector, invoked on Power up and warm reset */
  11. NonMaskableInt_IRQn = -14; // 2 Non maskable Interrupt, cannot be stopped or preempted */
  12. HardFault_IRQn = -13; // 3 Hard Fault, all classes of Fault */
  13. SVCall_IRQn = -5; // 11 System Service Call via SVC instruction */
  14. DebugMonitor_IRQn = -4; // 12 Debug Monitor */
  15. PendSV_IRQn = -2; // 14 Pendable request for system service */
  16. SysTick_IRQn = -1; // 15 System Tick Timer */
  17. //--------------------------- LPC122x Specific Interrupt Numbers -------------------------------
  18. WAKEUP0_IRQn = 0; // PIO0_0 to PIO0_11 Wakeup */
  19. WAKEUP1_IRQn = 1;
  20. WAKEUP2_IRQn = 2;
  21. WAKEUP3_IRQn = 3;
  22. WAKEUP4_IRQn = 4;
  23. WAKEUP5_IRQn = 5;
  24. WAKEUP6_IRQn = 6;
  25. WAKEUP7_IRQn = 7;
  26. WAKEUP8_IRQn = 8;
  27. WAKEUP9_IRQn = 9;
  28. WAKEUP10_IRQn = 10;
  29. WAKEUP11_IRQn = 11; // PIO0_0 to PIO0_11 Wakeup */
  30. I2C_IRQn = 12; // I2C Interrupt */
  31. TIMER_16_0_IRQn = 13; // 16-bit Timer0 Interrupt */
  32. TIMER_16_1_IRQn = 14; // 16-bit Timer1 Interrupt */
  33. TIMER_32_0_IRQn = 15; // 32-bit Timer0 Interrupt */
  34. TIMER_32_1_IRQn = 16; // 32-bit Timer1 Interrupt */
  35. SSP_IRQn = 17; // SSP Interrupt */
  36. UART0_IRQn = 18; // UART0 Interrupt */
  37. UART1_IRQn = 19; // UART1 Interrupt */
  38. CMP_IRQn = 20; // Comparator Interrupt */
  39. ADC_IRQn = 21; // A/D Converter Interrupt */
  40. WDT_IRQn = 22; // Watchdog timer Interrupt */
  41. BOD_IRQn = 23; // Brown Out Detect(BOD) Interrupt */
  42. EINT0_IRQn = 25; // External Interrupt 0 Interrupt */
  43. EINT1_IRQn = 26; // External Interrupt 1 Interrupt */
  44. EINT2_IRQn = 27; // External Interrupt 2 Interrupt */
  45. DMA_IRQn = 29; // DMA Interrupt */
  46. RTC_IRQn = 30; // RTC Interrupt */
  47. type
  48. { ------------- Inter-Integrated Circuit (I2C) ------------- }
  49. TI2C_Registers = record
  50. CONSET : longword;
  51. STAT : longword;
  52. DAT : longword;
  53. ADR0 : longword;
  54. SCLH : longword;
  55. SCLL : longword;
  56. CONCLR : longword;
  57. MMCTRL : longword;
  58. ADR1 : longword;
  59. ADR2 : longword;
  60. ADR3 : longword;
  61. DATA_BUFFER: longword;
  62. MASK0 : longword;
  63. MASK1 : longword;
  64. MASK2 : longword;
  65. MASK3 : longword;
  66. end;
  67. { ------------- Watchdog Timer (WDT) ------------- }
  68. TWDT_Registers = record
  69. _MOD : longword;
  70. TC : longword;
  71. FEED : longword;
  72. TV : longword;
  73. CLKSEL : longword;
  74. WARNINT: longword;
  75. WINDOW : longword;
  76. end;
  77. { ------------- Universal Asynchronous Receiver Transmitter 0 (UART0) ------------- }
  78. TUART0_Registers = record
  79. DLL_THR_RBR : longword;
  80. IER_DLM : longword;
  81. FCR_IIR : longword;
  82. LCR : longword;
  83. MCR : longword;
  84. LSR : longword;
  85. MSR : longword;
  86. SCR : longword;
  87. ACR : longword;
  88. RESERVED0 : longword;
  89. FDR : longword;
  90. RESERVED1 : longword;
  91. TER : longword;
  92. RESERVED2 : array [0 .. 5] of longword;
  93. RS485CTRL : longword;
  94. RS485ADRMATCH: longword;
  95. RS485DLY : longword;
  96. FIFOLVL : longword;
  97. end;
  98. { ------------- Universal Asynchronous Receiver Transmitter 1 (UART1) ------------- }
  99. TUART1_Registers = record
  100. DLL_THR_RBR: longword;
  101. IER_DLM : longword;
  102. FCR_IIR : longword;
  103. LCR : longword;
  104. RESERVED0 : longword;
  105. LSR : longword;
  106. RESERVED1 : longword;
  107. SCR : longword;
  108. ACR : longword;
  109. ICR : longword;
  110. FDR : longword;
  111. RESERVED2 : longword;
  112. TER : longword;
  113. RESERVED3 : array [0 .. 8] of longword;
  114. FIFOLVL : longword;
  115. end;
  116. { ------------- Timer (TCTxxBx) ------------- }
  117. TCTxxBx_Registers = record
  118. IR : longword;
  119. TCR : longword;
  120. TC : longword;
  121. PR : longword;
  122. PC : longword;
  123. MR0 : longword;
  124. MR1 : longword;
  125. MR2 : longword;
  126. MR3 : longword;
  127. CCR : longword;
  128. CR0 : longword;
  129. CR1 : longword;
  130. CR2 : longword;
  131. CR3 : longword;
  132. EMR : longword;
  133. RESERVED0: array [0 .. 11] of longword;
  134. CTCR : longword;
  135. PWMC : longword;
  136. end;
  137. { ------------- Analog-to-Digital Converter (ADC) ------------- }
  138. TADC_Registers = record
  139. CR : longword;
  140. GDR : longword;
  141. RESERVED0: longword;
  142. INTEN : longword;
  143. STAT : longword;
  144. TRM : longword;
  145. end;
  146. { ------------- Power Management Unit (PMU) ------------- }
  147. TPMU_Registers = record
  148. PCON : longword;
  149. GPREG0: longword;
  150. GPREG1: longword;
  151. GPREG2: longword;
  152. GPREG3: longword;
  153. SYSCFG: longword;
  154. end;
  155. { ------------- Synchronous Serial Communication (SSP) ------------- }
  156. TSSP_Registers = record
  157. CR0 : longword;
  158. CR1 : longword;
  159. DR : longword;
  160. SR : longword;
  161. CPSR : longword;
  162. IMSC : longword;
  163. RIS : longword;
  164. MIS : longword;
  165. ICR : longword;
  166. DMACR: longword;
  167. end;
  168. { ------------- Pin Connect Block (IOCON) ------------- }
  169. TIOCON_Registers = record
  170. RESERVED0 : array [0 .. 1] of longword;
  171. PIO0_19 : longword;
  172. PIO0_20 : longword;
  173. PIO0_21 : longword;
  174. PIO0_22 : longword;
  175. PIO0_23 : longword;
  176. PIO0_24 : longword;
  177. SWDIO_PIO0_25: longword;
  178. SWCLK_PIO0_26: longword;
  179. PIO0_27 : longword;
  180. PIO2_12 : longword;
  181. PIO2_13 : longword;
  182. PIO2_14 : longword;
  183. PIO2_15 : longword;
  184. PIO0_28 : longword;
  185. PIO0_29 : longword;
  186. PIO0_0 : longword;
  187. PIO0_1 : longword;
  188. PIO0_2 : longword;
  189. RESERVED1 : longword;
  190. PIO0_3 : longword;
  191. PIO0_4 : longword;
  192. PIO0_5 : longword;
  193. PIO0_6 : longword;
  194. PIO0_7 : longword;
  195. PIO0_8 : longword;
  196. PIO0_9 : longword;
  197. PIO2_0 : longword;
  198. PIO2_1 : longword;
  199. PIO2_2 : longword;
  200. PIO2_3 : longword;
  201. PIO2_4 : longword;
  202. PIO2_5 : longword;
  203. PIO2_6 : longword;
  204. PIO2_7 : longword;
  205. PIO0_10 : longword;
  206. PIO0_11 : longword;
  207. PIO0_12 : longword;
  208. RESET_PIO0_13: longword;
  209. PIO0_14 : longword;
  210. PIO0_15 : longword;
  211. PIO0_16 : longword;
  212. PIO0_17 : longword;
  213. PIO0_18 : longword;
  214. R_PIO0_30 : longword;
  215. R_PIO0_31 : longword;
  216. R_PIO1_0 : longword;
  217. R_PIO1_1 : longword;
  218. PIO1_2 : longword;
  219. PIO1_3 : longword;
  220. PIO1_4 : longword;
  221. PIO1_5 : longword;
  222. PIO1_6 : longword;
  223. RESERVED2 : array [0 .. 1] of longword;
  224. PIO2_8 : longword;
  225. PIO2_9 : longword;
  226. PIO2_10 : longword;
  227. PIO2_11 : longword;
  228. end;
  229. { ------------- System Control (SYSCON) ------------- }
  230. TSYSCON_Registers = record
  231. SYSMEMREMAP : longword;
  232. PRESETCTRL : longword;
  233. SYSPLLCTRL : longword;
  234. SYSPLLSTAT : longword;
  235. RESERVED0 : array [0 .. 3] of longword;
  236. SYSOSCCTRL : longword;
  237. WDTOSCCTRL : longword;
  238. IRCCTRL : longword;
  239. RESERVED1 : longword;
  240. SYSRESSTAT : longword;
  241. RESERVED2 : array [0 .. 2] of longword;
  242. SYSPLLCLKSEL : longword;
  243. SYSPLLCLKUEN : longword;
  244. RESERVED3 : array [0 .. 9] of longword;
  245. MAINCLKSEL : longword;
  246. MAINCLKUEN : longword;
  247. SYSAHBCLKDIV : longword;
  248. RESERVED4 : longword;
  249. SYSAHBCLKCTRL : longword;
  250. RESERVED5 : array [0 .. 3] of longword;
  251. SSPCLKDIV : longword;
  252. UART0CLKDIV : longword;
  253. UART1CLKDIV : longword;
  254. RTCCLKDIV : longword;
  255. RESERVED6 : array [0 .. 14] of longword;
  256. CLKOUTCLKSEL : longword;
  257. CLKOUTUEN : longword;
  258. CLKOUTDIV : longword;
  259. RESERVED7 : array [0 .. 4] of longword;
  260. PIOPORCAP0 : longword;
  261. PIOPORCAP1 : longword;
  262. RESERVED8 : array [0 .. 10] of longword;
  263. IOCONFIGCLKDIV6: longword;
  264. IOCONFIGCLKDIV5: longword;
  265. IOCONFIGCLKDIV4: longword;
  266. IOCONFIGCLKDIV3: longword;
  267. IOCONFIGCLKDIV2: longword;
  268. IOCONFIGCLKDIV1: longword;
  269. IOCONFIGCLKDIV0: longword;
  270. BODCTRL : longword;
  271. SYSTCKCAL : longword;
  272. AHBPRIO : longword;
  273. RESERVED9 : array [0 .. 4] of longword;
  274. IRQLATENCY : longword;
  275. INTNMI : longword;
  276. RESERVED10 : array [0 .. 33] of longword;
  277. STARTAPRP0 : longword;
  278. STARTERP0 : longword;
  279. STARTRSRP0CLR : longword;
  280. STARTSRP0 : longword;
  281. STARTAPRP1 : longword;
  282. STARTERP1 : longword;
  283. STARTRSRP1CLR : longword;
  284. STARTSRP1 : longword;
  285. RESERVED11 : array [0 .. 3] of longword;
  286. PDSLEEPCFG : longword;
  287. PDAWAKECFG : longword;
  288. PDRUNCFG : longword;
  289. RESERVED12 : array [0 .. 109] of longword;
  290. DEVICE_ID : longword;
  291. end;
  292. { ------------- Micro DMA Controller (MICRO_DMA) ------------- }
  293. TMICRODMA_Registers = record
  294. DMA_STATUS : longword;
  295. DMA_CFG : longword;
  296. CTRL_BASE_PTR : longword;
  297. ATL_CTRL_BASE_PTR : longword;
  298. DMA_WAITONREQ_STATUS: longword;
  299. CHNL_SW_REQUEST : longword;
  300. CHNL_USEBURST_SET : longword;
  301. CHNL_USEBURST_CLR : longword;
  302. CHNL_REQ_MASK_SET : longword;
  303. CHNL_REQ_MASK_CLR : longword;
  304. CHNL_ENABLE_SET : longword;
  305. CHNL_ENABLE_CLR : longword;
  306. CHNL_PRI_ALT_SET : longword;
  307. CHNL_PRI_ALT_CLR : longword;
  308. CHNL_PRIORITY_SET : longword;
  309. CHNL_PRIORITY_CLR : longword;
  310. RESERVED0 : array [0 .. 2] of longword;
  311. ERR_CLR : longword;
  312. RESERVED1 : array [0 .. 11] of longword;
  313. CHNL_IRQ_STATUS : longword;
  314. IRQ_ERR_ENABLE : longword;
  315. CHNL_IRQ_ENABLE : longword;
  316. end;
  317. { ------------- Real Time Clock (RTC) ------------- }
  318. TRTC_Registers = record
  319. DR : longword;
  320. MR : longword;
  321. LR : longword;
  322. CR : longword;
  323. ICSC: longword;
  324. RIS : longword;
  325. MIS : longword;
  326. ICR : longword;
  327. end;
  328. { ------------- Analog Comparator (ACOMP) ------------- }
  329. TACOMP_Registers = record
  330. CMP : longword;
  331. VLAD: longword;
  332. end;
  333. { ------------- General Purpose Input/Output (GPIO) ------------- }
  334. TGPIO_Registers = record
  335. MASK : longword;
  336. PIN : longword;
  337. _OUT : longword;
  338. _SET : longword;
  339. CLR : longword;
  340. _NOT : longword;
  341. RESERVED0: array [0 .. 1] of longword;
  342. DIR : longword;
  343. _IS : longword;
  344. IBE : longword;
  345. IEV : longword;
  346. IE : longword;
  347. RIS : longword;
  348. MIS : longword;
  349. IC : longword;
  350. end;
  351. TFLASHCTRL_Registers = record
  352. RESERVED0: array [0 .. 9] of longword;
  353. FLASHCFG : longword;
  354. end;
  355. { ------------- CRC Engine(CRC) ------------- }
  356. TCRC_Registers = record
  357. MODE: longword;
  358. SEED: longword;
  359. SUM : longword;
  360. end;
  361. // *****************************************************************************/
  362. // Peripheral memory map
  363. // *****************************************************************************/
  364. const
  365. /// Base addresses
  366. LPC_FLASH_BASE = ($00000000);
  367. LPC_RAM_BASE = ($10000000);
  368. LPC_APB_BASE = ($40000000);
  369. LPC_AHB_BASE = ($50000000);
  370. LPC_CM3_BASE = ($E0000000);
  371. /// APB peripherals
  372. LPC_I2C_BASE = (LPC_APB_BASE + $00000);
  373. LPC_WDT_BASE = (LPC_APB_BASE + $04000);
  374. LPC_UART0_BASE = (LPC_APB_BASE + $08000);
  375. LPC_UART1_BASE = (LPC_APB_BASE + $0C000);
  376. LPC_CT16B0_BASE = (LPC_APB_BASE + $10000);
  377. LPC_CT16B1_BASE = (LPC_APB_BASE + $14000);
  378. LPC_CT32B0_BASE = (LPC_APB_BASE + $18000);
  379. LPC_CT32B1_BASE = (LPC_APB_BASE + $1C000);
  380. LPC_ADC_BASE = (LPC_APB_BASE + $20000);
  381. LPC_PMU_BASE = (LPC_APB_BASE + $38000);
  382. LPC_SSP_BASE = (LPC_APB_BASE + $40000);
  383. LPC_IOCON_BASE = (LPC_APB_BASE + $44000);
  384. LPC_SYSCON_BASE = (LPC_APB_BASE + $48000);
  385. LPC_MICRO_DMA_BASE = (LPC_APB_BASE + $4C000);
  386. LPC_RTC_BASE = (LPC_APB_BASE + $50000);
  387. LPC_ACOMP_BASE = (LPC_APB_BASE + $54000);
  388. /// AHB peripherals
  389. LPC_GPIO0_BASE = (LPC_AHB_BASE + $00000);
  390. LPC_GPIO1_BASE = (LPC_AHB_BASE + $10000);
  391. LPC_GPIO2_BASE = (LPC_AHB_BASE + $20000);
  392. LPC_FLASHCTRL_BASE = (LPC_AHB_BASE + $60000);
  393. LPC_CRC_BASE = (LPC_AHB_BASE + $70000);
  394. // *****************************************************************************
  395. // Peripheral declaration
  396. // *****************************************************************************
  397. {$ALIGN 2}
  398. var
  399. LPC_I2C : TI2C_Registers absolute(LPC_I2C_BASE);
  400. LPC_WDT : TWDT_Registers absolute(LPC_WDT_BASE);
  401. LPC_UART0 : TUART0_Registers absolute(LPC_UART0_BASE);
  402. LPC_UART1 : TUART1_Registers absolute(LPC_UART1_BASE);
  403. LPC_CT16B0 : TCTxxBx_Registers absolute(LPC_CT16B0_BASE);
  404. LPC_CT16B1 : TCTxxBx_Registers absolute(LPC_CT16B1_BASE);
  405. LPC_CT32B0 : TCTxxBx_Registers absolute(LPC_CT32B0_BASE);
  406. LPC_CT23B1 : TCTxxBx_Registers absolute(LPC_CT32B1_BASE);
  407. LPC_ADC : TADC_Registers absolute(LPC_ADC_BASE);
  408. LPC_PMU : TPMU_Registers absolute(LPC_PMU_BASE);
  409. LPC_SSP : TSSP_Registers absolute(LPC_SSP_BASE);
  410. LPC_IOCON : TIOCON_Registers absolute(LPC_IOCON_BASE);
  411. LPC_SYSCON : TSYSCON_Registers absolute(LPC_SYSCON_BASE);
  412. LPC_MICRO_DMA: TMICRODMA_Registers absolute(LPC_MICRO_DMA_BASE);
  413. LPC_RTC : TRTC_Registers absolute(LPC_RTC_BASE);
  414. LPC_ACOMP : TACOMP_Registers absolute(LPC_ACOMP_BASE);
  415. LPC_GPIO0 : TGPIO_Registers absolute(LPC_GPIO0_BASE);
  416. LPC_GPIO1 : TGPIO_Registers absolute(LPC_GPIO1_BASE);
  417. LPC_GPIO2 : TGPIO_Registers absolute(LPC_GPIO2_BASE);
  418. LPC_FLASHCTRL: TFLASHCTRL_Registers absolute(LPC_FLASHCTRL_BASE);
  419. LPC_CRC : TCRC_Registers absolute(LPC_CRC_BASE);
  420. implementation
  421. procedure NonMaskableInt_interrupt; external name 'NonMaskableInt_interrupt';
  422. procedure Hardfault_interrupt; external name 'Hardfault_interrupt';
  423. procedure Startup_Checksum; external name 'Startup_Checksum';
  424. procedure SVCall_interrupt; external name 'SVCall_interrupt';
  425. procedure DebugMonitor_interrupt; external name 'DebugMonitor_interrupt';
  426. procedure PendSV_interrupt; external name 'PendSV_interrupt';
  427. procedure SysTick_interrupt; external name 'SysTick_interrupt';
  428. procedure WAKEUP0_Interrupt; external name 'WAKEUP0_Interrupt';
  429. procedure WAKEUP1_Interrupt; external name 'WAKEUP1_Interrupt';
  430. procedure WAKEUP2_Interrupt; external name 'WAKEUP2_Interrupt';
  431. procedure WAKEUP3_Interrupt; external name 'WAKEUP3_Interrupt';
  432. procedure WAKEUP4_Interrupt; external name 'WAKEUP4_Interrupt';
  433. procedure WAKEUP5_Interrupt; external name 'WAKEUP5_Interrupt';
  434. procedure WAKEUP6_Interrupt; external name 'WAKEUP6_Interrupt';
  435. procedure WAKEUP7_Interrupt; external name 'WAKEUP7_Interrupt';
  436. procedure WAKEUP8_Interrupt; external name 'WAKEUP8_Interrupt';
  437. procedure WAKEUP9_Interrupt; external name 'WAKEUP9_Interrupt';
  438. procedure WAKEUP10_Interrupt; external name 'WAKEUP10_Interrupt';
  439. procedure WAKEUP11_Interrupt; external name 'WAKEUP11_Interrupt';
  440. procedure I2C_Interrupt; external name 'I2C_Interrupt';
  441. procedure TIMER16_0_Interrupt; external name 'TIMER16_0_Interrupt';
  442. procedure TIMER16_1_Interrupt; external name 'TIMER16_1_Interrupt';
  443. procedure TIMER32_0_Interrupt; external name 'TIMER32_0_Interrupt';
  444. procedure TIMER32_1_Interrupt; external name 'TIMER32_1_Interrupt';
  445. procedure SSP_Interrupt; external name 'SSP_Interrupt';
  446. procedure UART0_Interrupt; external name 'UART0_Interrupt';
  447. procedure UART1_Interrupt; external name 'UART1_Interrupt';
  448. procedure CMP_Interrupt; external name 'CMP_Interrupt';
  449. procedure ADC_Interrupt; external name 'ADC_Interrupt';
  450. procedure WDT_Interrupt; external name 'WDT_Interrupt';
  451. procedure BOD_Interrupt; external name 'BOD_Interrupt';
  452. procedure EINT0_Interrupt; external name 'EINT0_Interrupt';
  453. procedure EINT1_Interrupt; external name 'EINT1_Interrupt';
  454. procedure EINT2_Interrupt; external name 'EINT2_Interrupt';
  455. procedure DMA_Interrupt; external name 'DMA_Interrupt';
  456. procedure RTC_Interrupt; external name 'RTC_Interrupt';
  457. {$I cortexm0_start.inc}
  458. procedure Vectors; assembler;
  459. nostackframe;
  460. label interrupt_vectors;
  461. asm
  462. .section ".init.interrupt_vectors"
  463. interrupt_vectors:
  464. .long _stack_top // stack top address
  465. .long Startup
  466. .long NonMaskableInt_interrupt
  467. .long Hardfault_interrupt
  468. .long 0
  469. .long 0
  470. .long 0
  471. .long Startup_Checksum
  472. .long 0
  473. .long 0
  474. .long 0
  475. .long SVCall_interrupt
  476. .long DebugMonitor_interrupt
  477. .long 0
  478. .long PendSV_interrupt
  479. .long SysTick_interrupt
  480. .long WAKEUP0_Interrupt
  481. .long WAKEUP1_Interrupt
  482. .long WAKEUP2_Interrupt
  483. .long WAKEUP3_Interrupt
  484. .long WAKEUP4_Interrupt
  485. .long WAKEUP5_Interrupt
  486. .long WAKEUP6_Interrupt
  487. .long WAKEUP7_Interrupt
  488. .long WAKEUP8_Interrupt
  489. .long WAKEUP9_Interrupt
  490. .long WAKEUP10_Interrupt
  491. .long WAKEUP11_Interrupt
  492. .long I2C_Interrupt
  493. .long TIMER16_0_Interrupt
  494. .long TIMER16_1_Interrupt
  495. .long TIMER32_0_Interrupt
  496. .long TIMER32_1_Interrupt
  497. .long SSP_Interrupt
  498. .long UART0_Interrupt
  499. .long UART1_Interrupt
  500. .long CMP_interrupt
  501. .long ADC_Interrupt
  502. .long WDT_Interrupt
  503. .long BOD_Interrupt
  504. .long 0
  505. .long EINT0_Interrupt
  506. .long EINT1_Interrupt
  507. .long EINT2_Interrupt
  508. .long 0
  509. .long DMA_Interrupt
  510. .long RTC_Interrupt
  511. .long 0
  512. .weak NonMaskableInt_interrupt
  513. .weak Hardfault_interrupt
  514. .weak Startup_Checksum
  515. .weak SVCall_interrupt
  516. .weak DebugMonitor_interrupt
  517. .weak PendSV_interrupt
  518. .weak SysTick_interrupt
  519. .weak WAKEUP0_Interrupt
  520. .weak WAKEUP1_Interrupt
  521. .weak WAKEUP2_Interrupt
  522. .weak WAKEUP3_Interrupt
  523. .weak WAKEUP4_Interrupt
  524. .weak WAKEUP5_Interrupt
  525. .weak WAKEUP6_Interrupt
  526. .weak WAKEUP7_Interrupt
  527. .weak WAKEUP8_Interrupt
  528. .weak WAKEUP9_Interrupt
  529. .weak WAKEUP10_Interrupt
  530. .weak WAKEUP11_Interrupt
  531. .weak I2C_Interrupt
  532. .weak TIMER16_0_Interrupt
  533. .weak TIMER16_1_Interrupt
  534. .weak TIMER32_0_Interrupt
  535. .weak TIMER32_1_Interrupt
  536. .weak SSP_Interrupt
  537. .weak UART0_Interrupt
  538. .weak UART1_Interrupt
  539. .weak CMP_interrupt
  540. .weak ADC_Interrupt
  541. .weak WDT_Interrupt
  542. .weak BOD_Interrupt
  543. .weak EINT0_Interrupt
  544. .weak EINT1_Interrupt
  545. .weak EINT2_Interrupt
  546. .weak DMA_Interrupt
  547. .weak RTC_Interrupt
  548. .set NonMaskableInt_interrupt, Startup
  549. .set Hardfault_interrupt , Startup
  550. .set SVCall_interrupt , Startup
  551. .set DebugMonitor_interrupt , Startup
  552. .set PendSV_interrupt , Startup
  553. .set SysTick_interrupt , Startup
  554. .set WAKEUP0_Interrupt , Startup
  555. .set WAKEUP1_Interrupt , Startup
  556. .set WAKEUP2_Interrupt , Startup
  557. .set WAKEUP3_Interrupt , Startup
  558. .set WAKEUP4_Interrupt , Startup
  559. .set WAKEUP5_Interrupt , Startup
  560. .set WAKEUP6_Interrupt , Startup
  561. .set WAKEUP7_Interrupt , Startup
  562. .set WAKEUP8_Interrupt , Startup
  563. .set WAKEUP9_Interrupt , Startup
  564. .set WAKEUP10_Interrupt , Startup
  565. .set WAKEUP11_Interrupt , Startup
  566. .set I2C_Interrupt , Startup
  567. .set TIMER16_0_Interrupt, Startup
  568. .set TIMER16_1_Interrupt, Startup
  569. .set TIMER32_0_Interrupt, Startup
  570. .set TIMER32_1_Interrupt, Startup
  571. .set SSP_Interrupt , Startup
  572. .set UART0_Interrupt , Startup
  573. .set UART1_Interrupt , Startup
  574. .set CMP_Interrupt , Startup
  575. .set ADC_Interrupt , Startup
  576. .set WDT_Interrupt , Startup
  577. .set BOD_Interrupt , Startup
  578. .set EINT0_Interrupt , Startup
  579. .set EINT1_Interrupt , Startup
  580. .set EINT2_Interrupt , Startup
  581. .set DMA_Interrupt , Startup
  582. .set RTC_Interrupt , Startup
  583. .text
  584. end;
  585. end.