2
0

lpc13xx.pp 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689
  1. unit lpc13xx;
  2. {$goto on}
  3. {$define lpc13xx}
  4. interface
  5. {$PACKRECORDS 2}
  6. const
  7. //------------------------- Cortex-M3 Processor Exceptions Numbers -------------------------
  8. Reset_IRQn = -15; // 1 Reset Vector, invoked on Power up and warm reset
  9. NonMaskableInt_IRQn = -14; // 2 Non Maskable Interrupt
  10. MemoryManagement_IRQn = -12; // 4 Cortex-M3 Memory Management Interrupt
  11. BusFault_IRQn = -11; // 5 Cortex-M3 Bus Fault Interrupt
  12. UsageFault_IRQn = -10; // 6 Cortex-M3 Usage Fault Interrupt
  13. SVCall_IRQn = -5; // 11 Cortex-M3 SV Call Interrupt
  14. DebugMonitor_IRQn = -4; // 12 Cortex-M3 Debug Monitor Interrupt
  15. PendSV_IRQn = -2; // 14 Cortex-M3 Pend SV Interrupt
  16. SysTick_IRQn = -1; // 15 Cortex-M3 System Tick Interrupt
  17. //------------------------- LPC13xx Specific Interrupt Numbers -------------------------
  18. WAKEUP0_IRQn = 0; // All I/O pins can be used as wakeup source.
  19. WAKEUP1_IRQn = 1; // There are 40 pins in total for LPC17xx
  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;
  30. WAKEUP12_IRQn = 12;
  31. WAKEUP13_IRQn = 13;
  32. WAKEUP14_IRQn = 14;
  33. WAKEUP15_IRQn = 15;
  34. WAKEUP16_IRQn = 16;
  35. WAKEUP17_IRQn = 17;
  36. WAKEUP18_IRQn = 18;
  37. WAKEUP19_IRQn = 19;
  38. WAKEUP20_IRQn = 20;
  39. WAKEUP21_IRQn = 21;
  40. WAKEUP22_IRQn = 22;
  41. WAKEUP23_IRQn = 23;
  42. WAKEUP24_IRQn = 24;
  43. WAKEUP25_IRQn = 25;
  44. WAKEUP26_IRQn = 26;
  45. WAKEUP27_IRQn = 27;
  46. WAKEUP28_IRQn = 28;
  47. WAKEUP29_IRQn = 29;
  48. WAKEUP30_IRQn = 30;
  49. WAKEUP31_IRQn = 31;
  50. WAKEUP32_IRQn = 32;
  51. WAKEUP33_IRQn = 33;
  52. WAKEUP34_IRQn = 34;
  53. WAKEUP35_IRQn = 35;
  54. WAKEUP36_IRQn = 36;
  55. WAKEUP37_IRQn = 37;
  56. WAKEUP38_IRQn = 38;
  57. WAKEUP39_IRQn = 39;
  58. I2C_IRQn = 40; // I2C Interrupt
  59. TIMER_16_0_IRQn = 41; // 16-bit Timer0 Interrupt
  60. TIMER_16_1_IRQn = 42; // 16-bit Timer1 Interrupt
  61. TIMER_32_0_IRQn = 43; // 32-bit Timer0 Interrupt
  62. TIMER_32_1_IRQn = 44; // 32-bit Timer1 Interrupt
  63. SSP_IRQn = 45; // SSP0 Interrupt - original name
  64. SSP0_IRQn = 45; // SSP0 Interrupt - new name
  65. UART_IRQn = 46; // UART Interrupt
  66. USB_IRQn = 47; // USB Regular Interrupt
  67. USB_FIQn = 48; // USB Fast Interrupt
  68. ADC_IRQn = 49; // A/D Converter Interrupt
  69. WDT_IRQn = 50; // Watchdog timer Interrupt
  70. BOD_IRQn = 51; // Brown Out Detect(BOD) Interrupt
  71. RESERVED_IRQn = 52; // Reserved Interrupt
  72. EINT3_IRQn = 53; // External Interrupt 3 Interrupt
  73. EINT2_IRQn = 54; // External Interrupt 2 Interrupt
  74. EINT1_IRQn = 55; // External Interrupt 1 Interrupt
  75. EINT0_IRQn = 56; // External Interrupt 0 Interrupt
  76. SSP1_IRQn = 57; // SSP1 Interrupt
  77. { ------------- System Control (SYSCON) ------------- }
  78. type
  79. TSYSCON_Registers = record
  80. SYSMEMREMAP : longword;
  81. PRESETCTRL : longword;
  82. SYSPLLCTRL : longword;
  83. SYSPLLSTAT : longword;
  84. USBPLLCTRL : longword;
  85. USBPLLSTAT : longword;
  86. RESERVED0 : array [0 .. 1] of longword;
  87. SYSOSCCTRL : longword;
  88. WDTOSCCTRL : longword;
  89. IRCCTRL : longword;
  90. RESERVED1 : array [0 .. 0] of longword;
  91. SYSRESSTAT : longword;
  92. RESERVED2 : array [0 .. 2] of longword;
  93. SYSPLLCLKSEL : longword;
  94. SYSPLLCLKUEN : longword;
  95. USBPLLCLKSEL : longword;
  96. USBPLLCLKUEN : longword;
  97. RESERVED3 : array [0 .. 7] of longword;
  98. MAINCLKSEL : longword;
  99. MAINCLKUEN : longword;
  100. SYSAHBCLKDIV : longword;
  101. RESERVED4 : array [0 .. 0] of longword;
  102. SYSAHBCLKCTRL: longword;
  103. RESERVED5 : array [0 .. 3] of longword;
  104. SSP0CLKDIV : longword;
  105. UARTCLKDIV : longword;
  106. SSP1CLKDIV : longword;
  107. RESERVED6 : array [0 .. 2] of longword;
  108. TRACECLKDIV : longword;
  109. SYSTICKCLKDIV: longword;
  110. RESERVED7 : array [0 .. 2] of longword;
  111. USBCLKSEL : longword;
  112. USBCLKUEN : longword;
  113. USBCLKDIV : longword;
  114. RESERVED8 : array [0 .. 0] of longword;
  115. WDTCLKSEL : longword;
  116. WDTCLKUEN : longword;
  117. WDTCLKDIV : longword;
  118. RESERVED9 : array [0 .. 0] of longword;
  119. CLKOUTCLKSEL : longword;
  120. CLKOUTUEN : longword;
  121. CLKOUTDIV : longword;
  122. RESERVED10 : array [0 .. 4] of longword;
  123. PIOPORCAP0 : longword;
  124. PIOPORCAP1 : longword;
  125. RESERVED11 : array [0 .. 17] of longword;
  126. BODCTRL : longword;
  127. RESERVED12 : array [0 .. 0] of longword;
  128. SYSTCKCAL : longword;
  129. RESERVED13 : array [0 .. 40] of longword;
  130. STARTAPRP0 : longword;
  131. STARTERP0 : longword;
  132. STARTRSRP0CLR: longword;
  133. STARTSRP0 : longword;
  134. STARTAPRP1 : longword;
  135. STARTERP1 : longword;
  136. STARTRSRP1CLR: longword;
  137. STARTSRP1 : longword;
  138. RESERVED14 : array [0 .. 3] of longword;
  139. PDSLEEPCFG : longword;
  140. PDAWAKECFG : longword;
  141. PDRUNCFG : longword;
  142. RESERVED15 : array [0 .. 109] of longword;
  143. DEVICE_ID : longword;
  144. end;
  145. { ------------- Pin Connect Block (IOCON) ------------- }
  146. TIOCON_Registers = record
  147. PIO2_6 : longword;
  148. RESERVED0 : longword;
  149. PIO2_0 : longword;
  150. RESET_PIO0_0 : longword;
  151. PIO0_1 : longword;
  152. PIO1_8 : longword;
  153. RESERVED1 : longword;
  154. PIO0_2 : longword;
  155. PIO2_7 : longword;
  156. PIO2_8 : longword;
  157. PIO2_1 : longword;
  158. PIO0_3 : longword;
  159. PIO0_4 : longword;
  160. PIO0_5 : longword;
  161. PIO1_9 : longword;
  162. PIO3_4 : longword;
  163. PIO2_4 : longword;
  164. PIO2_5 : longword;
  165. PIO3_5 : longword;
  166. PIO0_6 : longword;
  167. PIO0_7 : longword;
  168. PIO2_9 : longword;
  169. PIO2_10 : longword;
  170. PIO2_2 : longword;
  171. PIO0_8 : longword;
  172. PIO0_9 : longword;
  173. SWCLK_PIO0_10: longword;
  174. PIO1_10 : longword;
  175. PIO2_11 : longword;
  176. R_PIO0_11 : longword;
  177. R_PIO1_0 : longword;
  178. R_PIO1_1 : longword;
  179. R_PIO1_2 : longword;
  180. PIO3_0 : longword;
  181. PIO3_1 : longword;
  182. PIO2_3 : longword;
  183. SWDIO_PIO1_3 : longword;
  184. PIO1_4 : longword;
  185. PIO1_11 : longword;
  186. PIO3_2 : longword;
  187. PIO1_5 : longword;
  188. PIO1_6 : longword;
  189. PIO1_7 : longword;
  190. PIO3_3 : longword;
  191. SCK_LOC : longword;
  192. DSR_LOC : longword;
  193. DCD_LOC : longword;
  194. RI_LOC : longword;
  195. end;
  196. { ------------- Power Management Unit (PMU) ------------- }
  197. TPMU_Registers = record
  198. PCON : longword;
  199. GPREG0: longword;
  200. GPREG1: longword;
  201. GPREG2: longword;
  202. GPREG3: longword;
  203. end;
  204. { ------------- General Purpose Input/Output (GPIO) ------------- }
  205. TGPIO_Registers = record
  206. MASKED_ACCESS: array [0 .. 4095] of longword;
  207. RESERVED1 : array [0 .. 4095] of longword;
  208. DIR : longword;
  209. IS : longword;
  210. IBE : longword;
  211. IEV : longword;
  212. IE : longword;
  213. RIS : longword;
  214. MIS : longword;
  215. IC : longword;
  216. end;
  217. { ------------- Timer (TMR) ------------- }
  218. TTMR_Registers = record
  219. IR : longword;
  220. TCR : longword;
  221. TC : longword;
  222. PR : longword;
  223. PC : longword;
  224. MCR : longword;
  225. MR0 : longword;
  226. MR1 : longword;
  227. MR2 : longword;
  228. MR3 : longword;
  229. CCR : longword;
  230. CR0 : longword;
  231. RESERVED1: array [0 .. 2] of longword;
  232. EMR : longword;
  233. RESERVED2: array [0 .. 11] of longword;
  234. CTCR : longword;
  235. PWMC : longword;
  236. end;
  237. { ------------- Universal Asynchronous Receiver Transmitter (UART) ------------- }
  238. TUART_Registers = record
  239. DLL : longword;
  240. DLM : longword;
  241. FCR : longword;
  242. LCR : longword;
  243. MCR : longword;
  244. LSR : longword;
  245. MSR : longword;
  246. SCR : longword;
  247. ACR : longword;
  248. ICR : longword;
  249. FDR : longword;
  250. RESERVED0: longword;
  251. TER : longword;
  252. RESERVED1: array [0 .. 5] of longword;
  253. RS485CTRL: longword;
  254. ADRMATCH : longword;
  255. RS485DLY : longword;
  256. FIFOLVL : longword;
  257. end;
  258. { ------------- Synchronous Serial Communication (SSP) ------------- }
  259. TSSP_Registers = record
  260. CR0 : longword;
  261. CR1 : longword;
  262. DR : longword;
  263. SR : longword;
  264. CPSR: longword;
  265. IMSC: longword;
  266. RIS : longword;
  267. MIS : longword;
  268. ICR : longword;
  269. end;
  270. { ------------- Inter-Integrated Circuit (I2C) ------------- }
  271. TI2C_Registers = record
  272. CONSET : longword;
  273. STAT : longword;
  274. DAT : longword;
  275. ADR0 : longword;
  276. SCLH : longword;
  277. SCLL : longword;
  278. CONCLR : longword;
  279. MMCTRL : longword;
  280. ADR1 : longword;
  281. ADR2 : longword;
  282. ADR3 : longword;
  283. DATA_BUFFER: longword;
  284. MASK0 : longword;
  285. MASK1 : longword;
  286. MASK2 : longword;
  287. MASK3 : longword;
  288. end;
  289. { ------------- Watchdog Timer (WDT) ------------- }
  290. TWDT_Registers = record
  291. _MOD : longword;
  292. TC : longword;
  293. FEED : longword;
  294. TV : longword;
  295. RESERVED0: longword;
  296. WARNINT : longword;
  297. WINDOW : longword;
  298. end;
  299. { ------------- Analog-to-Digital Converter (ADC) ------------- }
  300. TADC_Registers = record
  301. CR : longword;
  302. GDR : longword;
  303. RESERVED0: longword;
  304. INTEN : longword;
  305. DR : array [0 .. 7] of longword;
  306. STAT : longword;
  307. end;
  308. { ------------- Universal Serial Bus (USB) ------------- }
  309. TUSB_Registers = record
  310. DevIntSt : longword;
  311. DevIntEn : longword;
  312. DevIntClr: longword;
  313. DevIntSet: longword;
  314. CmdCode : longword;
  315. CmdData : longword;
  316. RxData : longword;
  317. TxData : longword;
  318. RxPLen : longword;
  319. TxPLen : longword;
  320. Ctrl : longword;
  321. DevFIQSel: longword;
  322. end;
  323. { **************************************************************************** }
  324. { Peripheral memory map }
  325. { **************************************************************************** }
  326. const
  327. LPC_FLASH_BASE = $00000000;
  328. LPC_RAM_BASE = $10000000;
  329. LPC_APB0_BASE = $40000000;
  330. LPC_AHB_BASE = $50000000;
  331. { APB0 peripherals }
  332. LPC_I2C_BASE = LPC_APB0_BASE + $00000;
  333. LPC_WDT_BASE = LPC_APB0_BASE + $04000;
  334. LPC_UART_BASE = LPC_APB0_BASE + $08000;
  335. LPC_CT16B0_BASE = LPC_APB0_BASE + $0C000;
  336. LPC_CT16B1_BASE = LPC_APB0_BASE + $10000;
  337. LPC_CT32B0_BASE = LPC_APB0_BASE + $14000;
  338. LPC_CT32B1_BASE = LPC_APB0_BASE + $18000;
  339. LPC_ADC_BASE = LPC_APB0_BASE + $1C000;
  340. LPC_USB_BASE = LPC_APB0_BASE + $20000;
  341. LPC_PMU_BASE = LPC_APB0_BASE + $38000;
  342. LPC_SSP0_BASE = LPC_APB0_BASE + $40000;
  343. LPC_IOCON_BASE = LPC_APB0_BASE + $44000;
  344. LPC_SYSCON_BASE = LPC_APB0_BASE + $48000;
  345. LPC_SSP1_BASE = LPC_APB0_BASE + $58000;
  346. { AHB peripherals }
  347. LPC_GPIO0_BASE = LPC_AHB_BASE + $00000;
  348. LPC_GPIO1_BASE = LPC_AHB_BASE + $10000;
  349. LPC_GPIO2_BASE = LPC_AHB_BASE + $20000;
  350. LPC_GPIO3_BASE = LPC_AHB_BASE + $30000;
  351. { **************************************************************************** }
  352. { Peripheral declaration }
  353. { **************************************************************************** }
  354. var
  355. LPC_I2C : TI2C_Registers absolute(LPC_I2C_BASE);
  356. LPC_WDT : TWDT_Registers absolute(LPC_WDT_BASE);
  357. LPC_UART : TUART_Registers absolute(LPC_UART_BASE);
  358. LPC_CT16B0 : TTMR_Registers absolute(LPC_CT16B0_BASE);
  359. LPC_CT16B1 : TTMR_Registers absolute(LPC_CT16B1_BASE);
  360. LPC_CT32B0 : TTMR_Registers absolute(LPC_CT32B0_BASE);
  361. LPC_CT23B1 : TTMR_Registers absolute(LPC_CT32B1_BASE);
  362. LPC_ADC : TADC_Registers absolute(LPC_ADC_BASE);
  363. LPC_USB : TUSB_Registers absolute(LPC_USB_BASE);
  364. LPC_PMU : TPMU_Registers absolute(LPC_PMU_BASE);
  365. LPC_SSP0 : TSSP_Registers absolute(LPC_SSP0_BASE);
  366. LPC_IOCON : TIOCON_Registers absolute(LPC_IOCON_BASE);
  367. LPC_SYSCON : TSYSCON_Registers absolute(LPC_SYSCON_BASE);
  368. LPC_SSP1 : TSSP_Registers absolute(LPC_SSP0_BASE);
  369. LPC_GPIO0 : TGPIO_Registers absolute(LPC_GPIO0_BASE);
  370. LPC_GPIO1 : TGPIO_Registers absolute(LPC_GPIO1_BASE);
  371. LPC_GPIO2 : TGPIO_Registers absolute(LPC_GPIO2_BASE);
  372. LPC_GPIO3 : TGPIO_Registers absolute(LPC_GPIO3_BASE);
  373. implementation
  374. procedure NonMaskableInt_interrupt; external name 'NonMaskableInt_interrupt';
  375. procedure MemoryManagement_interrupt; external name 'MemoryManagement_interrupt';
  376. procedure BusFault_interrupt; external name 'BusFault_interrupt';
  377. procedure UsageFault_interrupt; external name 'UsageFault_interrupt';
  378. procedure Startup_Checksum; external name 'Startup_Checksum';
  379. procedure SVCall_interrupt; external name 'SVCall_interrupt';
  380. procedure DebugMonitor_interrupt; external name 'DebugMonitor_interrupt';
  381. procedure PendSV_interrupt; external name 'PendSV_interrupt';
  382. procedure SysTick_interrupt; external name 'SysTick_interrupt';
  383. procedure WAKEUP0_Interrupt; external name 'WAKEUP0_Interrupt';
  384. procedure WAKEUP1_Interrupt; external name 'WAKEUP1_Interrupt';
  385. procedure WAKEUP2_Interrupt; external name 'WAKEUP2_Interrupt';
  386. procedure WAKEUP3_Interrupt; external name 'WAKEUP3_Interrupt';
  387. procedure WAKEUP4_Interrupt; external name 'WAKEUP4_Interrupt';
  388. procedure WAKEUP5_Interrupt; external name 'WAKEUP5_Interrupt';
  389. procedure WAKEUP6_Interrupt; external name 'WAKEUP6_Interrupt';
  390. procedure WAKEUP7_Interrupt; external name 'WAKEUP7_Interrupt';
  391. procedure WAKEUP8_Interrupt; external name 'WAKEUP8_Interrupt';
  392. procedure WAKEUP9_Interrupt; external name 'WAKEUP9_Interrupt';
  393. procedure WAKEUP10_Interrupt; external name 'WAKEUP10_Interrupt';
  394. procedure WAKEUP11_Interrupt; external name 'WAKEUP11_Interrupt';
  395. procedure WAKEUP12_Interrupt; external name 'WAKEUP12_Interrupt';
  396. procedure WAKEUP13_Interrupt; external name 'WAKEUP13_Interrupt';
  397. procedure WAKEUP14_Interrupt; external name 'WAKEUP14_Interrupt';
  398. procedure WAKEUP15_Interrupt; external name 'WAKEUP15_Interrupt';
  399. procedure WAKEUP16_Interrupt; external name 'WAKEUP16_Interrupt';
  400. procedure WAKEUP17_Interrupt; external name 'WAKEUP17_Interrupt';
  401. procedure WAKEUP18_Interrupt; external name 'WAKEUP18_Interrupt';
  402. procedure WAKEUP19_Interrupt; external name 'WAKEUP19_Interrupt';
  403. procedure WAKEUP20_Interrupt; external name 'WAKEUP20_Interrupt';
  404. procedure WAKEUP21_Interrupt; external name 'WAKEUP21_Interrupt';
  405. procedure WAKEUP22_Interrupt; external name 'WAKEUP22_Interrupt';
  406. procedure WAKEUP23_Interrupt; external name 'WAKEUP23_Interrupt';
  407. procedure WAKEUP24_Interrupt; external name 'WAKEUP24_Interrupt';
  408. procedure WAKEUP25_Interrupt; external name 'WAKEUP25_Interrupt';
  409. procedure WAKEUP26_Interrupt; external name 'WAKEUP26_Interrupt';
  410. procedure WAKEUP27_Interrupt; external name 'WAKEUP27_Interrupt';
  411. procedure WAKEUP28_Interrupt; external name 'WAKEUP28_Interrupt';
  412. procedure WAKEUP29_Interrupt; external name 'WAKEUP29_Interrupt';
  413. procedure WAKEUP30_Interrupt; external name 'WAKEUP30_Interrupt';
  414. procedure WAKEUP31_Interrupt; external name 'WAKEUP31_Interrupt';
  415. procedure WAKEUP32_Interrupt; external name 'WAKEUP32_Interrupt';
  416. procedure WAKEUP33_Interrupt; external name 'WAKEUP33_Interrupt';
  417. procedure WAKEUP34_Interrupt; external name 'WAKEUP34_Interrupt';
  418. procedure WAKEUP35_Interrupt; external name 'WAKEUP35_Interrupt';
  419. procedure WAKEUP36_Interrupt; external name 'WAKEUP36_Interrupt';
  420. procedure WAKEUP37_Interrupt; external name 'WAKEUP37_Interrupt';
  421. procedure WAKEUP38_Interrupt; external name 'WAKEUP38_Interrupt';
  422. procedure WAKEUP39_Interrupt; external name 'WAKEUP39_Interrupt';
  423. procedure I2C_Interrupt; external name 'I2C_Interrupt';
  424. procedure TIMER16_0_Interrupt; external name 'TIMER16_0_Interrupt';
  425. procedure TIMER16_1_Interrupt; external name 'TIMER16_1_Interrupt';
  426. procedure TIMER32_0_Interrupt; external name 'TIMER32_0_Interrupt';
  427. procedure TIMER32_1_Interrupt; external name 'TIMER32_1_Interrupt';
  428. procedure SSP0_Interrupt; external name 'SSP0_Interrupt';
  429. procedure UART_Interrupt; external name 'UART_Interrupt';
  430. procedure USB_Interrupt; external name 'USB_Interrupt';
  431. procedure USB_F_Interrupt; external name 'USB_F_Interrupt';
  432. procedure ADC_Interrupt; external name 'ADC_Interrupt';
  433. procedure WDT_Interrupt; external name 'WDT_Interrupt';
  434. procedure BOD_Interrupt; external name 'BOD_Interrupt';
  435. procedure EINT3_Interrupt; external name 'EINT3_Interrupt';
  436. procedure EINT2_Interrupt; external name 'EINT2_Interrupt';
  437. procedure EINT1_Interrupt; external name 'EINT1_Interrupt';
  438. procedure EINT0_Interrupt; external name 'EINT0_Interrupt';
  439. procedure SSP1_Interrupt; external name 'SSP1_Interrupt';
  440. {$I cortexm3_start.inc}
  441. procedure Vectors; assembler;
  442. nostackframe;
  443. label interrupt_vectors;
  444. asm
  445. .section ".init.interrupt_vectors"
  446. interrupt_vectors:
  447. .long _stack_top
  448. .long Startup
  449. .long NonMaskableInt_interrupt
  450. .long 0
  451. .long MemoryManagement_interrupt
  452. .long BusFault_interrupt
  453. .long UsageFault_interrupt
  454. .long Startup_Checksum
  455. .long 0
  456. .long 0
  457. .long 0
  458. .long SVCall_interrupt
  459. .long DebugMonitor_interrupt
  460. .long 0
  461. .long PendSV_interrupt
  462. .long SysTick_interrupt
  463. .long WAKEUP0_Interrupt
  464. .long WAKEUP1_Interrupt
  465. .long WAKEUP2_Interrupt
  466. .long WAKEUP3_Interrupt
  467. .long WAKEUP4_Interrupt
  468. .long WAKEUP5_Interrupt
  469. .long WAKEUP6_Interrupt
  470. .long WAKEUP7_Interrupt
  471. .long WAKEUP8_Interrupt
  472. .long WAKEUP9_Interrupt
  473. .long WAKEUP10_Interrupt
  474. .long WAKEUP11_Interrupt
  475. .long WAKEUP12_Interrupt
  476. .long WAKEUP13_Interrupt
  477. .long WAKEUP14_Interrupt
  478. .long WAKEUP15_Interrupt
  479. .long WAKEUP16_Interrupt
  480. .long WAKEUP17_Interrupt
  481. .long WAKEUP18_Interrupt
  482. .long WAKEUP19_Interrupt
  483. .long WAKEUP20_Interrupt
  484. .long WAKEUP21_Interrupt
  485. .long WAKEUP22_Interrupt
  486. .long WAKEUP23_Interrupt
  487. .long WAKEUP24_Interrupt
  488. .long WAKEUP25_Interrupt
  489. .long WAKEUP26_Interrupt
  490. .long WAKEUP27_Interrupt
  491. .long WAKEUP28_Interrupt
  492. .long WAKEUP29_Interrupt
  493. .long WAKEUP30_Interrupt
  494. .long WAKEUP31_Interrupt
  495. .long WAKEUP32_Interrupt
  496. .long WAKEUP33_Interrupt
  497. .long WAKEUP34_Interrupt
  498. .long WAKEUP35_Interrupt
  499. .long WAKEUP36_Interrupt
  500. .long WAKEUP37_Interrupt
  501. .long WAKEUP38_Interrupt
  502. .long WAKEUP39_Interrupt
  503. .long I2C_Interrupt
  504. .long TIMER16_0_Interrupt
  505. .long TIMER16_1_Interrupt
  506. .long TIMER32_0_Interrupt
  507. .long TIMER32_1_Interrupt
  508. .long SSP0_Interrupt
  509. .long UART_Interrupt
  510. .long USB_Interrupt
  511. .long USB_F_Interrupt
  512. .long ADC_Interrupt
  513. .long WDT_Interrupt
  514. .long BOD_Interrupt
  515. .long 0
  516. .long EINT3_Interrupt
  517. .long EINT2_Interrupt
  518. .long EINT1_Interrupt
  519. .long EINT0_Interrupt
  520. .long SSP1_Interrupt
  521. .weak NonMaskableInt_interrupt
  522. .weak MemoryManagement_interrupt
  523. .weak BusFault_interrupt
  524. .weak UsageFault_interrupt
  525. .weak Startup_Checksum
  526. .weak SVCall_interrupt
  527. .weak DebugMonitor_interrupt
  528. .weak PendSV_interrupt
  529. .weak SysTick_interrupt
  530. .weak WAKEUP0_Interrupt
  531. .weak WAKEUP1_Interrupt
  532. .weak WAKEUP2_Interrupt
  533. .weak WAKEUP3_Interrupt
  534. .weak WAKEUP4_Interrupt
  535. .weak WAKEUP5_Interrupt
  536. .weak WAKEUP6_Interrupt
  537. .weak WAKEUP7_Interrupt
  538. .weak WAKEUP8_Interrupt
  539. .weak WAKEUP9_Interrupt
  540. .weak WAKEUP10_Interrupt
  541. .weak WAKEUP11_Interrupt
  542. .weak WAKEUP12_Interrupt
  543. .weak WAKEUP13_Interrupt
  544. .weak WAKEUP14_Interrupt
  545. .weak WAKEUP15_Interrupt
  546. .weak WAKEUP16_Interrupt
  547. .weak WAKEUP17_Interrupt
  548. .weak WAKEUP18_Interrupt
  549. .weak WAKEUP19_Interrupt
  550. .weak WAKEUP20_Interrupt
  551. .weak WAKEUP21_Interrupt
  552. .weak WAKEUP22_Interrupt
  553. .weak WAKEUP23_Interrupt
  554. .weak WAKEUP24_Interrupt
  555. .weak WAKEUP25_Interrupt
  556. .weak WAKEUP26_Interrupt
  557. .weak WAKEUP27_Interrupt
  558. .weak WAKEUP28_Interrupt
  559. .weak WAKEUP29_Interrupt
  560. .weak WAKEUP30_Interrupt
  561. .weak WAKEUP31_Interrupt
  562. .weak WAKEUP32_Interrupt
  563. .weak WAKEUP33_Interrupt
  564. .weak WAKEUP34_Interrupt
  565. .weak WAKEUP35_Interrupt
  566. .weak WAKEUP36_Interrupt
  567. .weak WAKEUP37_Interrupt
  568. .weak WAKEUP38_Interrupt
  569. .weak WAKEUP39_Interrupt
  570. .weak I2C_Interrupt
  571. .weak TIMER16_0_Interrupt
  572. .weak TIMER16_1_Interrupt
  573. .weak TIMER32_0_Interrupt
  574. .weak TIMER32_1_Interrupt
  575. .weak SSP0_Interrupt
  576. .weak UART_Interrupt
  577. .weak USB_Interrupt
  578. .weak USB_F_Interrupt
  579. .weak ADC_Interrupt
  580. .weak WDT_Interrupt
  581. .weak BOD_Interrupt
  582. .weak EINT3_Interrupt
  583. .weak EINT2_Interrupt
  584. .weak EINT1_Interrupt
  585. .weak EINT0_Interrupt
  586. .weak SSP1_Interrupt
  587. .set NonMaskableInt_interrupt , Startup
  588. .set MemoryManagement_interrupt, Startup
  589. .set BusFault_interrupt , Startup
  590. .set UsageFault_interrupt , Startup
  591. .set SVCall_interrupt , Startup
  592. .set DebugMonitor_interrupt , Startup
  593. .set PendSV_interrupt , Startup
  594. .set SysTick_interrupt , Startup
  595. .set WAKEUP0_Interrupt , Startup
  596. .set WAKEUP1_Interrupt , Startup
  597. .set WAKEUP2_Interrupt , Startup
  598. .set WAKEUP3_Interrupt , Startup
  599. .set WAKEUP4_Interrupt , Startup
  600. .set WAKEUP5_Interrupt , Startup
  601. .set WAKEUP6_Interrupt , Startup
  602. .set WAKEUP7_Interrupt , Startup
  603. .set WAKEUP8_Interrupt , Startup
  604. .set WAKEUP9_Interrupt , Startup
  605. .set WAKEUP10_Interrupt , Startup
  606. .set WAKEUP11_Interrupt , Startup
  607. .set WAKEUP12_Interrupt , Startup
  608. .set WAKEUP13_Interrupt , Startup
  609. .set WAKEUP14_Interrupt , Startup
  610. .set WAKEUP15_Interrupt , Startup
  611. .set WAKEUP16_Interrupt , Startup
  612. .set WAKEUP17_Interrupt , Startup
  613. .set WAKEUP18_Interrupt , Startup
  614. .set WAKEUP19_Interrupt , Startup
  615. .set WAKEUP20_Interrupt , Startup
  616. .set WAKEUP21_Interrupt , Startup
  617. .set WAKEUP22_Interrupt , Startup
  618. .set WAKEUP23_Interrupt , Startup
  619. .set WAKEUP24_Interrupt , Startup
  620. .set WAKEUP25_Interrupt , Startup
  621. .set WAKEUP26_Interrupt , Startup
  622. .set WAKEUP27_Interrupt , Startup
  623. .set WAKEUP28_Interrupt , Startup
  624. .set WAKEUP29_Interrupt , Startup
  625. .set WAKEUP30_Interrupt , Startup
  626. .set WAKEUP31_Interrupt , Startup
  627. .set WAKEUP32_Interrupt , Startup
  628. .set WAKEUP33_Interrupt , Startup
  629. .set WAKEUP34_Interrupt , Startup
  630. .set WAKEUP35_Interrupt , Startup
  631. .set WAKEUP36_Interrupt , Startup
  632. .set WAKEUP37_Interrupt , Startup
  633. .set WAKEUP38_Interrupt , Startup
  634. .set WAKEUP39_Interrupt , Startup
  635. .set I2C_Interrupt , Startup
  636. .set TIMER16_0_Interrupt, Startup
  637. .set TIMER16_1_Interrupt, Startup
  638. .set TIMER32_0_Interrupt, Startup
  639. .set TIMER32_1_Interrupt, Startup
  640. .set SSP0_Interrupt , Startup
  641. .set UART_Interrupt , Startup
  642. .set USB_Interrupt , Startup
  643. .set USB_F_Interrupt , Startup
  644. .set ADC_Interrupt , Startup
  645. .set WDT_Interrupt , Startup
  646. .set BOD_Interrupt , Startup
  647. .set EINT3_Interrupt , Startup
  648. .set EINT2_Interrupt , Startup
  649. .set EINT1_Interrupt , Startup
  650. .set EINT0_Interrupt , Startup
  651. .set SSP1_Interrupt , Startup
  652. .text
  653. end;
  654. end.