nrf52.pp 86 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727
  1. unit nrf52;
  2. interface
  3. {$PACKRECORDS 2}
  4. {$GOTO ON}
  5. {$MODESWITCH ADVANCEDRECORDS}
  6. // *****************************************************************************************************
  7. // * @file nrf52.h
  8. // CMSIS Cortex-M4 Peripheral Access Layer Header File for
  9. // * nrf52 from Nordic Semiconductor.
  10. // *
  11. // * @version V1
  12. // * @date 18. November 2016
  13. // *
  14. // * @note Generated with SVDConv V2.81d
  15. // * from CMSIS SVD File 'nrf52.svd' Version 1,
  16. // *
  17. // * @par Copyright (c) 2016, Nordic Semiconductor ASA
  18. // * All rights reserved.
  19. // *
  20. // * Redistribution and use in source and binary forms, with or without
  21. // * modification, are permitted provided that the following conditions are met:
  22. // *
  23. // * * Redistributions of source code must retain the above copyright notice, this
  24. // * list of conditions and the following disclaimer.
  25. // *
  26. // * * Redistributions in binary form must reproduce the above copyright notice,
  27. // * this list of conditions and the following disclaimer in the documentation
  28. // * and/or other materials provided with the distribution.
  29. // *
  30. // * * Neither the name of Nordic Semiconductor ASA nor the names of its
  31. // * contributors may be used to endorse or promote products derived from
  32. // * this software without specific prior written permission.
  33. // *
  34. // * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  35. // * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  36. // * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  37. // * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  38. // * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  39. // * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  40. // * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  41. // * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  42. // * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  43. // * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  44. // *
  45. // *
  46. // ******************************************************************************************************
  47. // ------------------------- Interrupt Number Definition ------------------------
  48. type
  49. TIRQn_Enum = (
  50. Reset_IRQn = -15, // 1 Reset Vector, invoked on Power up and warm reset
  51. NonMaskableInt_IRQn = -14, // 2 Non maskable Interrupt, cannot be stopped or preempted
  52. HardFault_IRQn = -13, // 3 Hard Fault, all classes of Fault
  53. MemoryManagement_IRQn = -12, // 4 Memory Management, MPU mismatch, including Access Violation
  54. BusFault_IRQn = -11, // 5 Bus Fault, Pre-Fetch-, Memory Access Fault, other address/memory
  55. UsageFault_IRQn = -10, // 6 Usage Fault, i.e. Undef Instruction, Illegal State Transition
  56. SVCall_IRQn = -5, // 11 System Service Call via SVC instruction
  57. DebugMonitor_IRQn = -4, // 12 Debug Monitor
  58. PendSV_IRQn = -2, // 14 Pendable request for system service
  59. SysTick_IRQn = -1, // 15 System Tick Timer
  60. POWER_CLOCK_IRQn = 0, // 0 POWER_CLOCK
  61. RADIO_IRQn = 1, // 1 RADIO
  62. UARTE0_UART0_IRQn = 2, // 2 UARTE0_UART0
  63. SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQn= 3, // 3 SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0
  64. SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQn= 4, // 4 SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1
  65. NFCT_IRQn = 5, // 5 NFCT
  66. GPIOTE_IRQn = 6, // 6 GPIOTE
  67. SAADC_IRQn = 7, // 7 SAADC
  68. TIMER0_IRQn = 8, // 8 TIMER0
  69. TIMER1_IRQn = 9, // 9 TIMER1
  70. TIMER2_IRQn = 10, // 10 TIMER2
  71. RTC0_IRQn = 11, // 11 RTC0
  72. TEMP_IRQn = 12, // 12 TEMP
  73. RNG_IRQn = 13, // 13 RNG
  74. ECB_IRQn = 14, // 14 ECB
  75. CCM_AAR_IRQn = 15, // 15 CCM_AAR
  76. WDT_IRQn = 16, // 16 WDT
  77. RTC1_IRQn = 17, // 17 RTC1
  78. QDEC_IRQn = 18, // 18 QDEC
  79. COMP_LPCOMP_IRQn = 19, // 19 COMP_LPCOMP
  80. SWI0_EGU0_IRQn = 20, // 20 SWI0_EGU0
  81. SWI1_EGU1_IRQn = 21, // 21 SWI1_EGU1
  82. SWI2_EGU2_IRQn = 22, // 22 SWI2_EGU2
  83. SWI3_EGU3_IRQn = 23, // 23 SWI3_EGU3
  84. SWI4_EGU4_IRQn = 24, // 24 SWI4_EGU4
  85. SWI5_EGU5_IRQn = 25, // 25 SWI5_EGU5
  86. TIMER3_IRQn = 26, // 26 TIMER3
  87. TIMER4_IRQn = 27, // 27 TIMER4
  88. PWM0_IRQn = 28, // 28 PWM0
  89. PDM_IRQn = 29, // 29 PDM
  90. MWU_IRQn = 32, // 32 MWU
  91. PWM1_IRQn = 33, // 33 PWM1
  92. PWM2_IRQn = 34, // 34 PWM2
  93. SPIM2_SPIS2_SPI2_IRQn = 35, // 35 SPIM2_SPIS2_SPI2
  94. RTC2_IRQn = 36, // 36 RTC2
  95. I2S_IRQn = 37, // 37 I2S
  96. FPU_IRQn = 38 // 38 FPU
  97. );
  98. TFICR_INFO_Registers = record
  99. PART : longword; // Part code
  100. VARIANT : longword; // Part Variant, Hardware version and Production configuration
  101. PACKAGE : longword; // Package option
  102. RAM : longword; // RAM variant
  103. FLASH : longword; // Flash variant
  104. UNUSED0 : array[0..2] of longword; // Description collection[0]: Unspecified
  105. end;
  106. TFICR_TEMP_Registers = record
  107. A0 : longword; // Slope definition A0.
  108. A1 : longword; // Slope definition A1.
  109. A2 : longword; // Slope definition A2.
  110. A3 : longword; // Slope definition A3.
  111. A4 : longword; // Slope definition A4.
  112. A5 : longword; // Slope definition A5.
  113. B0 : longword; // y-intercept B0.
  114. B1 : longword; // y-intercept B1.
  115. B2 : longword; // y-intercept B2.
  116. B3 : longword; // y-intercept B3.
  117. B4 : longword; // y-intercept B4.
  118. B5 : longword; // y-intercept B5.
  119. T0 : longword; // Segment end T0.
  120. T1 : longword; // Segment end T1.
  121. T2 : longword; // Segment end T2.
  122. T3 : longword; // Segment end T3.
  123. T4 : longword; // Segment end T4.
  124. end;
  125. TFICR_NFC_Registers = record
  126. TAGHEADER0 : longword; // Default header for NFC Tag. Software can read these values to
  127. TAGHEADER1 : longword; // Default header for NFC Tag. Software can read these values to
  128. TAGHEADER2 : longword; // Default header for NFC Tag. Software can read these values to
  129. TAGHEADER3 : longword; // Default header for NFC Tag. Software can read these values to
  130. end;
  131. TPOWER_RAM_Registers = record
  132. POWER : longword; // Description cluster[0]: RAM0 power control register
  133. POWERSET : longword; // Description cluster[0]: RAM0 power control set register
  134. POWERCLR : longword; // Description cluster[0]: RAM0 power control clear register
  135. RESERVED0 : longword;
  136. end;
  137. TUARTE_PSEL_Registers = record
  138. RTS : longword; // Pin select for RTS signal
  139. TXD : longword; // Pin select for TXD signal
  140. CTS : longword; // Pin select for CTS signal
  141. RXD : longword; // Pin select for RXD signal
  142. end;
  143. TUARTE_RXD_Registers = record
  144. PTR : longword; // Data pointer
  145. MAXCNT : longword; // Maximum number of bytes in receive buffer
  146. AMOUNT : longword; // Number of bytes transferred in the last transaction
  147. end;
  148. TUARTE_TXD_Registers = record
  149. PTR : longword; // Data pointer
  150. MAXCNT : longword; // Maximum number of bytes in transmit buffer
  151. AMOUNT : longword; // Number of bytes transferred in the last transaction
  152. end;
  153. TSPIM_PSEL_Registers = record
  154. SCK : longword; // Pin select for SCK
  155. MOSI : longword; // Pin select for MOSI signal
  156. MISO : longword; // Pin select for MISO signal
  157. end;
  158. TSPIM_RXD_Registers = record
  159. PTR : longword; // Data pointer
  160. MAXCNT : longword; // Maximum number of bytes in receive buffer
  161. AMOUNT : longword; // Number of bytes transferred in the last transaction
  162. LIST : longword; // EasyDMA list type
  163. end;
  164. TSPIM_TXD_Registers = record
  165. PTR : longword; // Data pointer
  166. MAXCNT : longword; // Maximum number of bytes in transmit buffer
  167. AMOUNT : longword; // Number of bytes transferred in the last transaction
  168. LIST : longword; // EasyDMA list type
  169. end;
  170. TSPIS_PSEL_Registers = record
  171. SCK : longword; // Pin select for SCK
  172. MISO : longword; // Pin select for MISO signal
  173. MOSI : longword; // Pin select for MOSI signal
  174. CSN : longword; // Pin select for CSN signal
  175. end;
  176. TSPIS_RXD_Registers = record
  177. PTR : longword; // RXD data pointer
  178. MAXCNT : longword; // Maximum number of bytes in receive buffer
  179. AMOUNT : longword; // Number of bytes received in last granted transaction
  180. end;
  181. TSPIS_TXD_Registers = record
  182. PTR : longword; // TXD data pointer
  183. MAXCNT : longword; // Maximum number of bytes in transmit buffer
  184. AMOUNT : longword; // Number of bytes transmitted in last granted transaction
  185. end;
  186. TTWIM_PSEL_Registers = record
  187. SCL : longword; // Pin select for SCL signal
  188. SDA : longword; // Pin select for SDA signal
  189. end;
  190. TTWIM_RXD_Registers = record
  191. PTR : longword; // Data pointer
  192. MAXCNT : longword; // Maximum number of bytes in receive buffer
  193. AMOUNT : longword; // Number of bytes transferred in the last transaction
  194. LIST : longword; // EasyDMA list type
  195. end;
  196. TTWIM_TXD_Registers = record
  197. PTR : longword; // Data pointer
  198. MAXCNT : longword; // Maximum number of bytes in transmit buffer
  199. AMOUNT : longword; // Number of bytes transferred in the last transaction
  200. LIST : longword; // EasyDMA list type
  201. end;
  202. TTWIS_PSEL_Registers = record
  203. SCL : longword; // Pin select for SCL signal
  204. SDA : longword; // Pin select for SDA signal
  205. end;
  206. TTWIS_RXD_Registers = record
  207. PTR : longword; // RXD Data pointer
  208. MAXCNT : longword; // Maximum number of bytes in RXD buffer
  209. AMOUNT : longword; // Number of bytes transferred in the last RXD transaction
  210. end;
  211. TTWIS_TXD_Registers = record
  212. PTR : longword; // TXD Data pointer
  213. MAXCNT : longword; // Maximum number of bytes in TXD buffer
  214. AMOUNT : longword; // Number of bytes transferred in the last TXD transaction
  215. end;
  216. TSPI_PSEL_Registers = record
  217. SCK : longword; // Pin select for SCK
  218. MOSI : longword; // Pin select for MOSI
  219. MISO : longword; // Pin select for MISO
  220. end;
  221. TNFCT_FRAMESTATUS_Registers = record
  222. RX : longword; // Result of last incoming frames
  223. end;
  224. TNFCT_TXD_Registers = record
  225. FRAMECONFIG : longword; // Configuration of outgoing frames
  226. AMOUNT : longword; // Size of outgoing frame
  227. end;
  228. TNFCT_RXD_Registers = record
  229. FRAMECONFIG : longword; // Configuration of incoming frames
  230. AMOUNT : longword; // Size of last incoming frame
  231. end;
  232. TSAADC_EVENTS_CH_Registers = record
  233. LIMITH : longword; // Description cluster[0]: Last results is equal or above CH[0].LIMIT.HIGH
  234. LIMITL : longword; // Description cluster[0]: Last results is equal or below CH[0].LIMIT.LOW
  235. end;
  236. TSAADC_CH_Registers = record
  237. PSELP : longword; // Description cluster[0]: Input positive pin selection for CH[0]
  238. PSELN : longword; // Description cluster[0]: Input negative pin selection for CH[0]
  239. CONFIG : longword; // Description cluster[0]: Input configuration for CH[0]
  240. LIMIT : longword; // Description cluster[0]: High/low limits for event monitoring
  241. end;
  242. TSAADC_RESULT_Registers = record
  243. PTR : longword; // Data pointer
  244. MAXCNT : longword; // Maximum number of buffer words to transfer
  245. AMOUNT : longword; // Number of buffer words transferred since last START
  246. end;
  247. TQDEC_PSEL_Registers = record
  248. LED : longword; // Pin select for LED signal
  249. A : longword; // Pin select for A signal
  250. B : longword; // Pin select for B signal
  251. end;
  252. TPWM_SEQ_Registers = record
  253. PTR : longword; // Description cluster[0]: Beginning address in Data RAM of this
  254. CNT : longword; // Description cluster[0]: Amount of values (duty cycles) in this
  255. REFRESH : longword; // Description cluster[0]: Amount of additional PWM periods between
  256. ENDDELAY : longword; // Description cluster[0]: Time added after the sequence
  257. RESERVED1 : array[0..3] of longword;
  258. end;
  259. TPWM_PSEL_Registers = record
  260. OUT : array[0..3] of longword; // Description collection[0]: Output pin select for PWM channel
  261. end;
  262. TPDM_PSEL_Registers = record
  263. CLK : longword; // Pin number configuration for PDM CLK signal
  264. DIN : longword; // Pin number configuration for PDM DIN signal
  265. end;
  266. TPDM_SAMPLE_Registers = record
  267. PTR : longword; // RAM address pointer to write samples to with EasyDMA
  268. MAXCNT : longword; // Number of samples to allocate memory for in EasyDMA mode
  269. end;
  270. TPPI_TASKS_CHG_Registers = record
  271. EN : longword; // Description cluster[0]: Enable channel group 0
  272. DIS : longword; // Description cluster[0]: Disable channel group 0
  273. end;
  274. TPPI_CH_Registers = record
  275. EEP : longword; // Description cluster[0]: Channel 0 event end-point
  276. TEP : longword; // Description cluster[0]: Channel 0 task end-point
  277. end;
  278. TPPI_FORK_Registers = record
  279. TEP : longword; // Description cluster[0]: Channel 0 task end-point
  280. end;
  281. TMWU_EVENTS_REGION_Registers = record
  282. WA : longword; // Description cluster[0]: Write access to region 0 detected
  283. RA : longword; // Description cluster[0]: Read access to region 0 detected
  284. end;
  285. TMWU_EVENTS_PREGION_Registers = record
  286. WA : longword; // Description cluster[0]: Write access to peripheral region 0
  287. RA : longword; // Description cluster[0]: Read access to peripheral region 0 detected
  288. end;
  289. TMWU_PERREGION_Registers = record
  290. SUBSTATWA : longword; // Description cluster[0]: Source of event/interrupt in region
  291. SUBSTATRA : longword; // Description cluster[0]: Source of event/interrupt in region
  292. end;
  293. TMWU_REGION_Registers = record
  294. START : longword; // Description cluster[0]: Start address for region 0
  295. &END : longword; // Description cluster[0]: End address of region 0
  296. RESERVED2 : array[0..1] of longword;
  297. end;
  298. TMWU_PREGION_Registers = record
  299. START : longword; // Description cluster[0]: Reserved for future use
  300. &END : longword; // Description cluster[0]: Reserved for future use
  301. SUBS : longword; // Description cluster[0]: Subregions of region 0
  302. RESERVED3 : longword;
  303. end;
  304. TI2S_CONFIG_Registers = record
  305. MODE : longword; // I2S mode.
  306. RXEN : longword; // Reception (RX) enable.
  307. TXEN : longword; // Transmission (TX) enable.
  308. MCKEN : longword; // Master clock generator enable.
  309. MCKFREQ : longword; // Master clock generator frequency.
  310. RATIO : longword; // MCK / LRCK ratio.
  311. SWIDTH : longword; // Sample width.
  312. ALIGN : longword; // Alignment of sample within a frame.
  313. FORMAT : longword; // Frame format.
  314. CHANNELS : longword; // Enable channels.
  315. end;
  316. TI2S_RXD_Registers = record
  317. PTR : longword; // Receive buffer RAM start address.
  318. end;
  319. TI2S_TXD_Registers = record
  320. PTR : longword; // Transmit buffer RAM start address.
  321. end;
  322. TI2S_RXTXD_Registers = record
  323. MAXCNT : longword; // Size of RXD and TXD buffers.
  324. end;
  325. TI2S_PSEL_Registers = record
  326. MCK : longword; // Pin select for MCK signal.
  327. SCK : longword; // Pin select for SCK signal.
  328. LRCK : longword; // Pin select for LRCK signal.
  329. SDIN : longword; // Pin select for SDIN signal.
  330. SDOUT : longword; // Pin select for SDOUT signal.
  331. end;
  332. TFICR_Registers = record // FICR Structure
  333. RESERVED0 : array[0..3] of longword;
  334. CODEPAGESIZE : longword; // Code memory page size
  335. CODESIZE : longword; // Code memory size
  336. RESERVED1 : array[0..17] of longword;
  337. DEVICEID : array[0..1] of longword; // Description collection[0]: Device identifier
  338. RESERVED2 : array[0..5] of longword;
  339. ER : array[0..3] of longword; // Description collection[0]: Encryption Root, word 0
  340. IR : array[0..3] of longword; // Description collection[0]: Identity Root, word 0
  341. DEVICEADDRTYPE : longword; // Device address type
  342. DEVICEADDR : array[0..1] of longword; // Description collection[0]: Device address 0
  343. RESERVED3 : array[0..20] of longword;
  344. INFO : TFICR_INFO_Registers; // Device info
  345. RESERVED4 : array[0..184] of longword;
  346. TEMP : TFICR_TEMP_Registers; // Registers storing factory TEMP module linearization coefficients
  347. RESERVED5 : array[0..1] of longword;
  348. NFC : TFICR_NFC_Registers; // Unspecified
  349. end;
  350. TUICR_Registers = record // UICR Structure
  351. UNUSED0 : longword; // Unspecified
  352. UNUSED1 : longword; // Unspecified
  353. UNUSED2 : longword; // Unspecified
  354. RESERVED0 : longword;
  355. UNUSED3 : longword; // Unspecified
  356. NRFFW : array[0..14] of longword; // Description collection[0]: Reserved for Nordic firmware design
  357. NRFHW : array[0..11] of longword; // Description collection[0]: Reserved for Nordic hardware design
  358. CUSTOMER : array[0..31] of longword; // Description collection[0]: Reserved for customer
  359. RESERVED1 : array[0..63] of longword;
  360. PSELRESET : array[0..1] of longword; // Description collection[0]: Mapping of the nRESET function (see
  361. APPROTECT : longword; // Access Port protection
  362. NFCPINS : longword; // Setting of pins dedicated to NFC functionality: NFC antenna
  363. end;
  364. TBPROT_Registers = record // BPROT Structure
  365. RESERVED0 : array[0..383] of longword;
  366. CONFIG0 : longword; // Block protect configuration register 0
  367. CONFIG1 : longword; // Block protect configuration register 1
  368. DISABLEINDEBUG : longword; // Disable protection mechanism in debug interface mode
  369. UNUSED0 : longword; // Unspecified
  370. CONFIG2 : longword; // Block protect configuration register 2
  371. CONFIG3 : longword; // Block protect configuration register 3
  372. end;
  373. TPOWER_Registers = record // POWER Structure
  374. RESERVED0 : array[0..29] of longword;
  375. TASKS_CONSTLAT : longword; // Enable constant latency mode
  376. TASKS_LOWPWR : longword; // Enable low power mode (variable latency)
  377. RESERVED1 : array[0..33] of longword;
  378. EVENTS_POFWARN : longword; // Power failure warning
  379. RESERVED2 : array[0..1] of longword;
  380. EVENTS_SLEEPENTER : longword; // CPU entered WFI/WFE sleep
  381. EVENTS_SLEEPEXIT : longword; // CPU exited WFI/WFE sleep
  382. RESERVED3 : array[0..121] of longword;
  383. INTENSET : longword; // Enable interrupt
  384. INTENCLR : longword; // Disable interrupt
  385. RESERVED4 : array[0..60] of longword;
  386. RESETREAS : longword; // Reset reason
  387. RESERVED5 : array[0..8] of longword;
  388. RAMSTATUS : longword; // Deprecated register - RAM status register
  389. RESERVED6 : array[0..52] of longword;
  390. SYSTEMOFF : longword; // System OFF register
  391. RESERVED7 : array[0..2] of longword;
  392. POFCON : longword; // Power failure comparator configuration
  393. RESERVED8 : array[0..1] of longword;
  394. GPREGRET : longword; // General purpose retention register
  395. GPREGRET2 : longword; // General purpose retention register
  396. RAMON : longword; // Deprecated register - RAM on/off register (this register is
  397. RESERVED9 : array[0..10] of longword;
  398. RAMONB : longword; // Deprecated register - RAM on/off register (this register is
  399. RESERVED10 : array[0..7] of longword;
  400. DCDCEN : longword; // DC/DC enable register
  401. RESERVED11 : array[0..224] of longword;
  402. RAM : array[0..7] of TPOWER_RAM_Registers; // Unspecified
  403. end;
  404. TCLOCK_Registers = record // CLOCK Structure
  405. TASKS_HFCLKSTART : longword; // Start HFCLK crystal oscillator
  406. TASKS_HFCLKSTOP : longword; // Stop HFCLK crystal oscillator
  407. TASKS_LFCLKSTART : longword; // Start LFCLK source
  408. TASKS_LFCLKSTOP : longword; // Stop LFCLK source
  409. TASKS_CAL : longword; // Start calibration of LFRC oscillator
  410. TASKS_CTSTART : longword; // Start calibration timer
  411. TASKS_CTSTOP : longword; // Stop calibration timer
  412. RESERVED0 : array[0..56] of longword;
  413. EVENTS_HFCLKSTARTED : longword; // HFCLK oscillator started
  414. EVENTS_LFCLKSTARTED : longword; // LFCLK started
  415. RESERVED1 : longword;
  416. EVENTS_DONE : longword; // Calibration of LFCLK RC oscillator complete event
  417. EVENTS_CTTO : longword; // Calibration timer timeout
  418. RESERVED2 : array[0..123] of longword;
  419. INTENSET : longword; // Enable interrupt
  420. INTENCLR : longword; // Disable interrupt
  421. RESERVED3 : array[0..62] of longword;
  422. HFCLKRUN : longword; // Status indicating that HFCLKSTART task has been triggered
  423. HFCLKSTAT : longword; // HFCLK status
  424. RESERVED4 : longword;
  425. LFCLKRUN : longword; // Status indicating that LFCLKSTART task has been triggered
  426. LFCLKSTAT : longword; // LFCLK status
  427. LFCLKSRCCOPY : longword; // Copy of LFCLKSRC register, set when LFCLKSTART task was triggered
  428. RESERVED5 : array[0..61] of longword;
  429. LFCLKSRC : longword; // Clock source for the LFCLK
  430. RESERVED6 : array[0..6] of longword;
  431. CTIV : longword; // Calibration timer interval
  432. RESERVED7 : array[0..7] of longword;
  433. TRACECONFIG : longword; // Clocking options for the Trace Port debug interface
  434. end;
  435. TRADIO_Registers = record // RADIO Structure
  436. TASKS_TXEN : longword; // Enable RADIO in TX mode
  437. TASKS_RXEN : longword; // Enable RADIO in RX mode
  438. TASKS_START : longword; // Start RADIO
  439. TASKS_STOP : longword; // Stop RADIO
  440. TASKS_DISABLE : longword; // Disable RADIO
  441. TASKS_RSSISTART : longword; // Start the RSSI and take one single sample of the receive signal
  442. TASKS_RSSISTOP : longword; // Stop the RSSI measurement
  443. TASKS_BCSTART : longword; // Start the bit counter
  444. TASKS_BCSTOP : longword; // Stop the bit counter
  445. RESERVED0 : array[0..54] of longword;
  446. EVENTS_READY : longword; // RADIO has ramped up and is ready to be started
  447. EVENTS_ADDRESS : longword; // Address sent or received
  448. EVENTS_PAYLOAD : longword; // Packet payload sent or received
  449. EVENTS_END : longword; // Packet sent or received
  450. EVENTS_DISABLED : longword; // RADIO has been disabled
  451. EVENTS_DEVMATCH : longword; // A device address match occurred on the last received packet
  452. EVENTS_DEVMISS : longword; // No device address match occurred on the last received packet
  453. EVENTS_RSSIEND : longword; // Sampling of receive signal strength complete.
  454. RESERVED1 : array[0..1] of longword;
  455. EVENTS_BCMATCH : longword; // Bit counter reached bit count value.
  456. RESERVED2 : longword;
  457. EVENTS_CRCOK : longword; // Packet received with CRC ok
  458. EVENTS_CRCERROR : longword; // Packet received with CRC error
  459. RESERVED3 : array[0..49] of longword;
  460. SHORTS : longword; // Shortcut register
  461. RESERVED4 : array[0..63] of longword;
  462. INTENSET : longword; // Enable interrupt
  463. INTENCLR : longword; // Disable interrupt
  464. RESERVED5 : array[0..60] of longword;
  465. CRCSTATUS : longword; // CRC status
  466. RESERVED6 : longword;
  467. RXMATCH : longword; // Received address
  468. RXCRC : longword; // CRC field of previously received packet
  469. DAI : longword; // Device address match index
  470. RESERVED7 : array[0..59] of longword;
  471. PACKETPTR : longword; // Packet pointer
  472. FREQUENCY : longword; // Frequency
  473. TXPOWER : longword; // Output power
  474. MODE : longword; // Data rate and modulation
  475. PCNF0 : longword; // Packet configuration register 0
  476. PCNF1 : longword; // Packet configuration register 1
  477. BASE0 : longword; // Base address 0
  478. BASE1 : longword; // Base address 1
  479. PREFIX0 : longword; // Prefixes bytes for logical addresses 0-3
  480. PREFIX1 : longword; // Prefixes bytes for logical addresses 4-7
  481. TXADDRESS : longword; // Transmit address select
  482. RXADDRESSES : longword; // Receive address select
  483. CRCCNF : longword; // CRC configuration
  484. CRCPOLY : longword; // CRC polynomial
  485. CRCINIT : longword; // CRC initial value
  486. UNUSED0 : longword; // Unspecified
  487. TIFS : longword; // Inter Frame Spacing in us
  488. RSSISAMPLE : longword; // RSSI sample
  489. RESERVED8 : longword;
  490. STATE : longword; // Current radio state
  491. DATAWHITEIV : longword; // Data whitening initial value
  492. RESERVED9 : array[0..1] of longword;
  493. BCC : longword; // Bit counter compare
  494. RESERVED10 : array[0..38] of longword;
  495. DAB : array[0..7] of longword; // Description collection[0]: Device address base segment 0
  496. DAP : array[0..7] of longword; // Description collection[0]: Device address prefix 0
  497. DACNF : longword; // Device address match configuration
  498. RESERVED11 : array[0..2] of longword;
  499. MODECNF0 : longword; // Radio mode configuration register 0
  500. RESERVED12 : array[0..617] of longword;
  501. POWER : longword; // Peripheral power control
  502. end;
  503. TUARTE_Registers = record // UARTE Structure
  504. TASKS_STARTRX : longword; // Start UART receiver
  505. TASKS_STOPRX : longword; // Stop UART receiver
  506. TASKS_STARTTX : longword; // Start UART transmitter
  507. TASKS_STOPTX : longword; // Stop UART transmitter
  508. RESERVED0 : array[0..6] of longword;
  509. TASKS_FLUSHRX : longword; // Flush RX FIFO into RX buffer
  510. RESERVED1 : array[0..51] of longword;
  511. EVENTS_CTS : longword; // CTS is activated (set low). Clear To Send.
  512. EVENTS_NCTS : longword; // CTS is deactivated (set high). Not Clear To Send.
  513. EVENTS_RXDRDY : longword; // Data received in RXD (but potentially not yet transferred to
  514. RESERVED2 : longword;
  515. EVENTS_ENDRX : longword; // Receive buffer is filled up
  516. RESERVED3 : array[0..1] of longword;
  517. EVENTS_TXDRDY : longword; // Data sent from TXD
  518. EVENTS_ENDTX : longword; // Last TX byte transmitted
  519. EVENTS_ERROR : longword; // Error detected
  520. RESERVED4 : array[0..6] of longword;
  521. EVENTS_RXTO : longword; // Receiver timeout
  522. RESERVED5 : longword;
  523. EVENTS_RXSTARTED : longword; // UART receiver has started
  524. EVENTS_TXSTARTED : longword; // UART transmitter has started
  525. RESERVED6 : longword;
  526. EVENTS_TXSTOPPED : longword; // Transmitter stopped
  527. RESERVED7 : array[0..40] of longword;
  528. SHORTS : longword; // Shortcut register
  529. RESERVED8 : array[0..62] of longword;
  530. INTEN : longword; // Enable or disable interrupt
  531. INTENSET : longword; // Enable interrupt
  532. INTENCLR : longword; // Disable interrupt
  533. RESERVED9 : array[0..92] of longword;
  534. ERRORSRC : longword; // Error source
  535. RESERVED10 : array[0..30] of longword;
  536. ENABLE : longword; // Enable UART
  537. RESERVED11 : longword;
  538. PSEL : TUARTE_PSEL_Registers; // Unspecified
  539. RESERVED12 : array[0..2] of longword;
  540. BAUDRATE : longword; // Baud rate. Accuracy depends on the HFCLK source selected.
  541. RESERVED13 : array[0..2] of longword;
  542. RXD : TUARTE_RXD_Registers; // RXD EasyDMA channel
  543. RESERVED14 : longword;
  544. TXD : TUARTE_TXD_Registers; // TXD EasyDMA channel
  545. RESERVED15 : array[0..6] of longword;
  546. CONFIG : longword; // Configuration of parity and hardware flow control
  547. end;
  548. TUART_Registers = record // UART Structure
  549. TASKS_STARTRX : longword; // Start UART receiver
  550. TASKS_STOPRX : longword; // Stop UART receiver
  551. TASKS_STARTTX : longword; // Start UART transmitter
  552. TASKS_STOPTX : longword; // Stop UART transmitter
  553. RESERVED0 : array[0..2] of longword;
  554. TASKS_SUSPEND : longword; // Suspend UART
  555. RESERVED1 : array[0..55] of longword;
  556. EVENTS_CTS : longword; // CTS is activated (set low). Clear To Send.
  557. EVENTS_NCTS : longword; // CTS is deactivated (set high). Not Clear To Send.
  558. EVENTS_RXDRDY : longword; // Data received in RXD
  559. RESERVED2 : array[0..3] of longword;
  560. EVENTS_TXDRDY : longword; // Data sent from TXD
  561. RESERVED3 : longword;
  562. EVENTS_ERROR : longword; // Error detected
  563. RESERVED4 : array[0..6] of longword;
  564. EVENTS_RXTO : longword; // Receiver timeout
  565. RESERVED5 : array[0..45] of longword;
  566. SHORTS : longword; // Shortcut register
  567. RESERVED6 : array[0..63] of longword;
  568. INTENSET : longword; // Enable interrupt
  569. INTENCLR : longword; // Disable interrupt
  570. RESERVED7 : array[0..92] of longword;
  571. ERRORSRC : longword; // Error source
  572. RESERVED8 : array[0..30] of longword;
  573. ENABLE : longword; // Enable UART
  574. RESERVED9 : longword;
  575. PSELRTS : longword; // Pin select for RTS
  576. PSELTXD : longword; // Pin select for TXD
  577. PSELCTS : longword; // Pin select for CTS
  578. PSELRXD : longword; // Pin select for RXD
  579. RXD : longword; // RXD register
  580. TXD : longword; // TXD register
  581. RESERVED10 : longword;
  582. BAUDRATE : longword; // Baud rate
  583. RESERVED11 : array[0..16] of longword;
  584. CONFIG : longword; // Configuration of parity and hardware flow control
  585. end;
  586. TSPIM_Registers = record // SPIM Structure
  587. RESERVED0 : array[0..3] of longword;
  588. TASKS_START : longword; // Start SPI transaction
  589. TASKS_STOP : longword; // Stop SPI transaction
  590. RESERVED1 : longword;
  591. TASKS_SUSPEND : longword; // Suspend SPI transaction
  592. TASKS_RESUME : longword; // Resume SPI transaction
  593. RESERVED2 : array[0..55] of longword;
  594. EVENTS_STOPPED : longword; // SPI transaction has stopped
  595. RESERVED3 : array[0..1] of longword;
  596. EVENTS_ENDRX : longword; // End of RXD buffer reached
  597. RESERVED4 : longword;
  598. EVENTS_END : longword; // End of RXD buffer and TXD buffer reached
  599. RESERVED5 : longword;
  600. EVENTS_ENDTX : longword; // End of TXD buffer reached
  601. RESERVED6 : array[0..9] of longword;
  602. EVENTS_STARTED : longword; // Transaction started
  603. RESERVED7 : array[0..43] of longword;
  604. SHORTS : longword; // Shortcut register
  605. RESERVED8 : array[0..63] of longword;
  606. INTENSET : longword; // Enable interrupt
  607. INTENCLR : longword; // Disable interrupt
  608. RESERVED9 : array[0..124] of longword;
  609. ENABLE : longword; // Enable SPIM
  610. RESERVED10 : longword;
  611. PSEL : TSPIM_PSEL_Registers; // Unspecified
  612. RESERVED11 : array[0..3] of longword;
  613. FREQUENCY : longword; // SPI frequency
  614. RESERVED12 : array[0..2] of longword;
  615. RXD : TSPIM_RXD_Registers; // RXD EasyDMA channel
  616. TXD : TSPIM_TXD_Registers; // TXD EasyDMA channel
  617. CONFIG : longword; // Configuration register
  618. RESERVED13 : array[0..25] of longword;
  619. ORC : longword; // Over-read character. Character clocked out in case and over-read
  620. end;
  621. TSPIS_Registers = record // SPIS Structure
  622. RESERVED0 : array[0..8] of longword;
  623. TASKS_ACQUIRE : longword; // Acquire SPI semaphore
  624. TASKS_RELEASE : longword; // Release SPI semaphore, enabling the SPI slave to acquire it
  625. RESERVED1 : array[0..53] of longword;
  626. EVENTS_END : longword; // Granted transaction completed
  627. RESERVED2 : array[0..1] of longword;
  628. EVENTS_ENDRX : longword; // End of RXD buffer reached
  629. RESERVED3 : array[0..4] of longword;
  630. EVENTS_ACQUIRED : longword; // Semaphore acquired
  631. RESERVED4 : array[0..52] of longword;
  632. SHORTS : longword; // Shortcut register
  633. RESERVED5 : array[0..63] of longword;
  634. INTENSET : longword; // Enable interrupt
  635. INTENCLR : longword; // Disable interrupt
  636. RESERVED6 : array[0..60] of longword;
  637. SEMSTAT : longword; // Semaphore status register
  638. RESERVED7 : array[0..14] of longword;
  639. STATUS : longword; // Status from last transaction
  640. RESERVED8 : array[0..46] of longword;
  641. ENABLE : longword; // Enable SPI slave
  642. RESERVED9 : longword;
  643. PSEL : TSPIS_PSEL_Registers; // Unspecified
  644. RESERVED10 : array[0..6] of longword;
  645. RXD : TSPIS_RXD_Registers; // Unspecified
  646. RESERVED11 : longword;
  647. TXD : TSPIS_TXD_Registers; // Unspecified
  648. RESERVED12 : longword;
  649. CONFIG : longword; // Configuration register
  650. RESERVED13 : longword;
  651. DEF : longword; // Default character. Character clocked out in case of an ignored
  652. RESERVED14 : array[0..23] of longword;
  653. ORC : longword; // Over-read character
  654. end;
  655. TTWIM_Registers = record // TWIM Structure
  656. TASKS_STARTRX : longword; // Start TWI receive sequence
  657. RESERVED0 : longword;
  658. TASKS_STARTTX : longword; // Start TWI transmit sequence
  659. RESERVED1 : array[0..1] of longword;
  660. TASKS_STOP : longword; // Stop TWI transaction. Must be issued while the TWI master is
  661. RESERVED2 : longword;
  662. TASKS_SUSPEND : longword; // Suspend TWI transaction
  663. TASKS_RESUME : longword; // Resume TWI transaction
  664. RESERVED3 : array[0..55] of longword;
  665. EVENTS_STOPPED : longword; // TWI stopped
  666. RESERVED4 : array[0..6] of longword;
  667. EVENTS_ERROR : longword; // TWI error
  668. RESERVED5 : array[0..7] of longword;
  669. EVENTS_SUSPENDED : longword; // Last byte has been sent out after the SUSPEND task has been
  670. EVENTS_RXSTARTED : longword; // Receive sequence started
  671. EVENTS_TXSTARTED : longword; // Transmit sequence started
  672. RESERVED6 : array[0..1] of longword;
  673. EVENTS_LASTRX : longword; // Byte boundary, starting to receive the last byte
  674. EVENTS_LASTTX : longword; // Byte boundary, starting to transmit the last byte
  675. RESERVED7 : array[0..38] of longword;
  676. SHORTS : longword; // Shortcut register
  677. RESERVED8 : array[0..62] of longword;
  678. INTEN : longword; // Enable or disable interrupt
  679. INTENSET : longword; // Enable interrupt
  680. INTENCLR : longword; // Disable interrupt
  681. RESERVED9 : array[0..109] of longword;
  682. ERRORSRC : longword; // Error source
  683. RESERVED10 : array[0..13] of longword;
  684. ENABLE : longword; // Enable TWIM
  685. RESERVED11 : longword;
  686. PSEL : TTWIM_PSEL_Registers; // Unspecified
  687. RESERVED12 : array[0..4] of longword;
  688. FREQUENCY : longword; // TWI frequency
  689. RESERVED13 : array[0..2] of longword;
  690. RXD : TTWIM_RXD_Registers; // RXD EasyDMA channel
  691. TXD : TTWIM_TXD_Registers; // TXD EasyDMA channel
  692. RESERVED14 : array[0..12] of longword;
  693. ADDRESS : longword; // Address used in the TWI transfer
  694. end;
  695. TTWIS_Registers = record // TWIS Structure
  696. RESERVED0 : array[0..4] of longword;
  697. TASKS_STOP : longword; // Stop TWI transaction
  698. RESERVED1 : longword;
  699. TASKS_SUSPEND : longword; // Suspend TWI transaction
  700. TASKS_RESUME : longword; // Resume TWI transaction
  701. RESERVED2 : array[0..2] of longword;
  702. TASKS_PREPARERX : longword; // Prepare the TWI slave to respond to a write command
  703. TASKS_PREPARETX : longword; // Prepare the TWI slave to respond to a read command
  704. RESERVED3 : array[0..50] of longword;
  705. EVENTS_STOPPED : longword; // TWI stopped
  706. RESERVED4 : array[0..6] of longword;
  707. EVENTS_ERROR : longword; // TWI error
  708. RESERVED5 : array[0..8] of longword;
  709. EVENTS_RXSTARTED : longword; // Receive sequence started
  710. EVENTS_TXSTARTED : longword; // Transmit sequence started
  711. RESERVED6 : array[0..3] of longword;
  712. EVENTS_WRITE : longword; // Write command received
  713. EVENTS_READ : longword; // Read command received
  714. RESERVED7 : array[0..36] of longword;
  715. SHORTS : longword; // Shortcut register
  716. RESERVED8 : array[0..62] of longword;
  717. INTEN : longword; // Enable or disable interrupt
  718. INTENSET : longword; // Enable interrupt
  719. INTENCLR : longword; // Disable interrupt
  720. RESERVED9 : array[0..112] of longword;
  721. ERRORSRC : longword; // Error source
  722. MATCH : longword; // Status register indicating which address had a match
  723. RESERVED10 : array[0..9] of longword;
  724. ENABLE : longword; // Enable TWIS
  725. RESERVED11 : longword;
  726. PSEL : TTWIS_PSEL_Registers; // Unspecified
  727. RESERVED12 : array[0..8] of longword;
  728. RXD : TTWIS_RXD_Registers; // RXD EasyDMA channel
  729. RESERVED13 : longword;
  730. TXD : TTWIS_TXD_Registers; // TXD EasyDMA channel
  731. RESERVED14 : array[0..13] of longword;
  732. ADDRESS : array[0..1] of longword; // Description collection[0]: TWI slave address 0
  733. RESERVED15 : longword;
  734. CONFIG : longword; // Configuration register for the address match mechanism
  735. RESERVED16 : array[0..9] of longword;
  736. ORC : longword; // Over-read character. Character sent out in case of an over-read
  737. end;
  738. TSPI_Registers = record // SPI Structure
  739. RESERVED0 : array[0..65] of longword;
  740. EVENTS_READY : longword; // TXD byte sent and RXD byte received
  741. RESERVED1 : array[0..125] of longword;
  742. INTENSET : longword; // Enable interrupt
  743. INTENCLR : longword; // Disable interrupt
  744. RESERVED2 : array[0..124] of longword;
  745. ENABLE : longword; // Enable SPI
  746. RESERVED3 : longword;
  747. PSEL : TSPI_PSEL_Registers; // Unspecified
  748. RESERVED4 : longword;
  749. RXD : longword; // RXD register
  750. TXD : longword; // TXD register
  751. RESERVED5 : longword;
  752. FREQUENCY : longword; // SPI frequency
  753. RESERVED6 : array[0..10] of longword;
  754. CONFIG : longword; // Configuration register
  755. end;
  756. TTWI_Registers = record // TWI Structure
  757. TASKS_STARTRX : longword; // Start TWI receive sequence
  758. RESERVED0 : longword;
  759. TASKS_STARTTX : longword; // Start TWI transmit sequence
  760. RESERVED1 : array[0..1] of longword;
  761. TASKS_STOP : longword; // Stop TWI transaction
  762. RESERVED2 : longword;
  763. TASKS_SUSPEND : longword; // Suspend TWI transaction
  764. TASKS_RESUME : longword; // Resume TWI transaction
  765. RESERVED3 : array[0..55] of longword;
  766. EVENTS_STOPPED : longword; // TWI stopped
  767. EVENTS_RXDREADY : longword; // TWI RXD byte received
  768. RESERVED4 : array[0..3] of longword;
  769. EVENTS_TXDSENT : longword; // TWI TXD byte sent
  770. RESERVED5 : longword;
  771. EVENTS_ERROR : longword; // TWI error
  772. RESERVED6 : array[0..3] of longword;
  773. EVENTS_BB : longword; // TWI byte boundary, generated before each byte that is sent or
  774. RESERVED7 : array[0..2] of longword;
  775. EVENTS_SUSPENDED : longword; // TWI entered the suspended state
  776. RESERVED8 : array[0..44] of longword;
  777. SHORTS : longword; // Shortcut register
  778. RESERVED9 : array[0..63] of longword;
  779. INTENSET : longword; // Enable interrupt
  780. INTENCLR : longword; // Disable interrupt
  781. RESERVED10 : array[0..109] of longword;
  782. ERRORSRC : longword; // Error source
  783. RESERVED11 : array[0..13] of longword;
  784. ENABLE : longword; // Enable TWI
  785. RESERVED12 : longword;
  786. PSELSCL : longword; // Pin select for SCL
  787. PSELSDA : longword; // Pin select for SDA
  788. RESERVED13 : array[0..1] of longword;
  789. RXD : longword; // RXD register
  790. TXD : longword; // TXD register
  791. RESERVED14 : longword;
  792. FREQUENCY : longword; // TWI frequency
  793. RESERVED15 : array[0..23] of longword;
  794. ADDRESS : longword; // Address used in the TWI transfer
  795. end;
  796. TNFCT_Registers = record // NFCT Structure
  797. TASKS_ACTIVATE : longword; // Activate NFC peripheral for incoming and outgoing frames, change
  798. TASKS_DISABLE : longword; // Disable NFC peripheral
  799. TASKS_SENSE : longword; // Enable NFC sense field mode, change state to sense mode
  800. TASKS_STARTTX : longword; // Start transmission of a outgoing frame, change state to transmit
  801. RESERVED0 : array[0..2] of longword;
  802. TASKS_ENABLERXDATA : longword; // Initializes the EasyDMA for receive.
  803. RESERVED1 : longword;
  804. TASKS_GOIDLE : longword; // Force state machine to IDLE state
  805. TASKS_GOSLEEP : longword; // Force state machine to SLEEP_A state
  806. RESERVED2 : array[0..52] of longword;
  807. EVENTS_READY : longword; // The NFC peripheral is ready to receive and send frames
  808. EVENTS_FIELDDETECTED : longword; // Remote NFC field detected
  809. EVENTS_FIELDLOST : longword; // Remote NFC field lost
  810. EVENTS_TXFRAMESTART : longword; // Marks the start of the first symbol of a transmitted frame
  811. EVENTS_TXFRAMEEND : longword; // Marks the end of the last transmitted on-air symbol of a frame
  812. EVENTS_RXFRAMESTART : longword; // Marks the end of the first symbol of a received frame
  813. EVENTS_RXFRAMEEND : longword; // Received data have been checked (CRC, parity) and transferred
  814. EVENTS_ERROR : longword; // NFC error reported. The ERRORSTATUS register contains details
  815. RESERVED3 : array[0..1] of longword;
  816. EVENTS_RXERROR : longword; // NFC RX frame error reported. The FRAMESTATUS.RX register contains
  817. EVENTS_ENDRX : longword; // RX buffer (as defined by PACKETPTR and MAXLEN) in Data RAM full.
  818. EVENTS_ENDTX : longword; // Transmission of data in RAM has ended, and EasyDMA has ended
  819. RESERVED4 : longword;
  820. EVENTS_AUTOCOLRESSTARTED : longword; // Auto collision resolution process has started
  821. RESERVED5 : array[0..2] of longword;
  822. EVENTS_COLLISION : longword; // NFC Auto collision resolution error reported.
  823. EVENTS_SELECTED : longword; // NFC Auto collision resolution successfully completed
  824. EVENTS_STARTED : longword; // EasyDMA is ready to receive or send frames.
  825. RESERVED6 : array[0..42] of longword;
  826. SHORTS : longword; // Shortcut register
  827. RESERVED7 : array[0..62] of longword;
  828. INTEN : longword; // Enable or disable interrupt
  829. INTENSET : longword; // Enable interrupt
  830. INTENCLR : longword; // Disable interrupt
  831. RESERVED8 : array[0..61] of longword;
  832. ERRORSTATUS : longword; // NFC Error Status register
  833. RESERVED9 : longword;
  834. FRAMESTATUS : TNFCT_FRAMESTATUS_Registers; // Unspecified
  835. RESERVED10 : array[0..7] of longword;
  836. CURRENTLOADCTRL : longword; // Current value driven to the NFC Load Control
  837. RESERVED11 : array[0..1] of longword;
  838. FIELDPRESENT : longword; // Indicates the presence or not of a valid field
  839. RESERVED12 : array[0..48] of longword;
  840. FRAMEDELAYMIN : longword; // Minimum frame delay
  841. FRAMEDELAYMAX : longword; // Maximum frame delay
  842. FRAMEDELAYMODE : longword; // Configuration register for the Frame Delay Timer
  843. PACKETPTR : longword; // Packet pointer for TXD and RXD data storage in Data RAM
  844. MAXLEN : longword; // Size of allocated for TXD and RXD data storage buffer in Data
  845. TXD : TNFCT_TXD_Registers; // Unspecified
  846. RXD : TNFCT_RXD_Registers; // Unspecified
  847. RESERVED13 : array[0..25] of longword;
  848. NFCID1_LAST : longword; // Last NFCID1 part (4, 7 or 10 bytes ID)
  849. NFCID1_2ND_LAST : longword; // Second last NFCID1 part (7 or 10 bytes ID)
  850. NFCID1_3RD_LAST : longword; // Third last NFCID1 part (10 bytes ID)
  851. RESERVED14 : longword;
  852. SENSRES : longword; // NFC-A SENS_RES auto-response settings
  853. SELRES : longword; // NFC-A SEL_RES auto-response settings
  854. end;
  855. TGPIOTE_Registers = record // GPIOTE Structure
  856. TASKS_OUT : array[0..7] of longword; // Description collection[0]: Task for writing to pin specified
  857. RESERVED0 : array[0..3] of longword;
  858. TASKS_SET : array[0..7] of longword; // Description collection[0]: Task for writing to pin specified
  859. RESERVED1 : array[0..3] of longword;
  860. TASKS_CLR : array[0..7] of longword; // Description collection[0]: Task for writing to pin specified
  861. RESERVED2 : array[0..31] of longword;
  862. EVENTS_IN : array[0..7] of longword; // Description collection[0]: Event generated from pin specified
  863. RESERVED3 : array[0..22] of longword;
  864. EVENTS_PORT : longword; // Event generated from multiple input GPIO pins with SENSE mechanism
  865. RESERVED4 : array[0..96] of longword;
  866. INTENSET : longword; // Enable interrupt
  867. INTENCLR : longword; // Disable interrupt
  868. RESERVED5 : array[0..128] of longword;
  869. CONFIG : array[0..7] of longword; // Description collection[0]: Configuration for OUT[n], SET[n]
  870. end;
  871. TSAADC_Registers = record // SAADC Structure
  872. TASKS_START : longword; // Start the ADC and prepare the result buffer in RAM
  873. TASKS_SAMPLE : longword; // Take one ADC sample, if scan is enabled all channels are sampled
  874. TASKS_STOP : longword; // Stop the ADC and terminate any on-going conversion
  875. TASKS_CALIBRATEOFFSET : longword; // Starts offset auto-calibration
  876. RESERVED0 : array[0..59] of longword;
  877. EVENTS_STARTED : longword; // The ADC has started
  878. EVENTS_END : longword; // The ADC has filled up the Result buffer
  879. EVENTS_DONE : longword; // A conversion task has been completed. Depending on the mode,
  880. EVENTS_RESULTDONE : longword; // A result is ready to get transferred to RAM.
  881. EVENTS_CALIBRATEDONE : longword; // Calibration is complete
  882. EVENTS_STOPPED : longword; // The ADC has stopped
  883. EVENTS_CH : array[0..7] of TSAADC_EVENTS_CH_Registers; // Unspecified
  884. RESERVED1 : array[0..105] of longword;
  885. INTEN : longword; // Enable or disable interrupt
  886. INTENSET : longword; // Enable interrupt
  887. INTENCLR : longword; // Disable interrupt
  888. RESERVED2 : array[0..60] of longword;
  889. STATUS : longword; // Status
  890. RESERVED3 : array[0..62] of longword;
  891. ENABLE : longword; // Enable or disable ADC
  892. RESERVED4 : array[0..2] of longword;
  893. CH : array[0..7] of TSAADC_CH_Registers; // Unspecified
  894. RESERVED5 : array[0..23] of longword;
  895. RESOLUTION : longword; // Resolution configuration
  896. OVERSAMPLE : longword; // Oversampling configuration. OVERSAMPLE should not be combined
  897. SAMPLERATE : longword; // Controls normal or continuous sample rate
  898. RESERVED6 : array[0..11] of longword;
  899. RESULT : TSAADC_RESULT_Registers; // RESULT EasyDMA channel
  900. end;
  901. TTIMER_Registers = record // TIMER Structure
  902. TASKS_START : longword; // Start Timer
  903. TASKS_STOP : longword; // Stop Timer
  904. TASKS_COUNT : longword; // Increment Timer (Counter mode only)
  905. TASKS_CLEAR : longword; // Clear time
  906. TASKS_SHUTDOWN : longword; // Deprecated register - Shut down timer
  907. RESERVED0 : array[0..10] of longword;
  908. TASKS_CAPTURE : array[0..5] of longword; // Description collection[0]: Capture Timer value to CC[0] register
  909. RESERVED1 : array[0..57] of longword;
  910. EVENTS_COMPARE : array[0..5] of longword; // Description collection[0]: Compare event on CC[0] match
  911. RESERVED2 : array[0..41] of longword;
  912. SHORTS : longword; // Shortcut register
  913. RESERVED3 : array[0..63] of longword;
  914. INTENSET : longword; // Enable interrupt
  915. INTENCLR : longword; // Disable interrupt
  916. RESERVED4 : array[0..125] of longword;
  917. MODE : longword; // Timer mode selection
  918. BITMODE : longword; // Configure the number of bits used by the TIMER
  919. RESERVED5 : longword;
  920. PRESCALER : longword; // Timer prescaler register
  921. RESERVED6 : array[0..10] of longword;
  922. CC : array[0..5] of longword; // Description collection[0]: Capture/Compare register 0
  923. end;
  924. TRTC_Registers = record // RTC Structure
  925. TASKS_START : longword; // Start RTC COUNTER
  926. TASKS_STOP : longword; // Stop RTC COUNTER
  927. TASKS_CLEAR : longword; // Clear RTC COUNTER
  928. TASKS_TRIGOVRFLW : longword; // Set COUNTER to 0xFFFFF0
  929. RESERVED0 : array[0..59] of longword;
  930. EVENTS_TICK : longword; // Event on COUNTER increment
  931. EVENTS_OVRFLW : longword; // Event on COUNTER overflow
  932. RESERVED1 : array[0..13] of longword;
  933. EVENTS_COMPARE : array[0..3] of longword; // Description collection[0]: Compare event on CC[0] match
  934. RESERVED2 : array[0..108] of longword;
  935. INTENSET : longword; // Enable interrupt
  936. INTENCLR : longword; // Disable interrupt
  937. RESERVED3 : array[0..12] of longword;
  938. EVTEN : longword; // Enable or disable event routing
  939. EVTENSET : longword; // Enable event routing
  940. EVTENCLR : longword; // Disable event routing
  941. RESERVED4 : array[0..109] of longword;
  942. COUNTER : longword; // Current COUNTER value
  943. PRESCALER : longword; // 12 bit prescaler for COUNTER frequency (32768/(PRESCALER+1)).Must
  944. RESERVED5 : array[0..12] of longword;
  945. CC : array[0..3] of longword; // Description collection[0]: Compare register 0
  946. end;
  947. TTEMP_Registers = record // TEMP Structure
  948. TASKS_START : longword; // Start temperature measurement
  949. TASKS_STOP : longword; // Stop temperature measurement
  950. RESERVED0 : array[0..61] of longword;
  951. EVENTS_DATARDY : longword; // Temperature measurement complete, data ready
  952. RESERVED1 : array[0..127] of longword;
  953. INTENSET : longword; // Enable interrupt
  954. INTENCLR : longword; // Disable interrupt
  955. RESERVED2 : array[0..126] of longword;
  956. TEMP : longint; // Temperature in degC (0.25deg steps)
  957. RESERVED3 : array[0..4] of longword;
  958. A0 : longword; // Slope of 1st piece wise linear function
  959. A1 : longword; // Slope of 2nd piece wise linear function
  960. A2 : longword; // Slope of 3rd piece wise linear function
  961. A3 : longword; // Slope of 4th piece wise linear function
  962. A4 : longword; // Slope of 5th piece wise linear function
  963. A5 : longword; // Slope of 6th piece wise linear function
  964. RESERVED4 : array[0..1] of longword;
  965. B0 : longword; // y-intercept of 1st piece wise linear function
  966. B1 : longword; // y-intercept of 2nd piece wise linear function
  967. B2 : longword; // y-intercept of 3rd piece wise linear function
  968. B3 : longword; // y-intercept of 4th piece wise linear function
  969. B4 : longword; // y-intercept of 5th piece wise linear function
  970. B5 : longword; // y-intercept of 6th piece wise linear function
  971. RESERVED5 : array[0..1] of longword;
  972. T0 : longword; // End point of 1st piece wise linear function
  973. T1 : longword; // End point of 2nd piece wise linear function
  974. T2 : longword; // End point of 3rd piece wise linear function
  975. T3 : longword; // End point of 4th piece wise linear function
  976. T4 : longword; // End point of 5th piece wise linear function
  977. end;
  978. TRNG_Registers = record // RNG Structure
  979. TASKS_START : longword; // Task starting the random number generator
  980. TASKS_STOP : longword; // Task stopping the random number generator
  981. RESERVED0 : array[0..61] of longword;
  982. EVENTS_VALRDY : longword; // Event being generated for every new random number written to
  983. RESERVED1 : array[0..62] of longword;
  984. SHORTS : longword; // Shortcut register
  985. RESERVED2 : array[0..63] of longword;
  986. INTENSET : longword; // Enable interrupt
  987. INTENCLR : longword; // Disable interrupt
  988. RESERVED3 : array[0..125] of longword;
  989. CONFIG : longword; // Configuration register
  990. VALUE : longword; // Output random number
  991. end;
  992. TECB_Registers = record // ECB Structure
  993. TASKS_STARTECB : longword; // Start ECB block encrypt
  994. TASKS_STOPECB : longword; // Abort a possible executing ECB operation
  995. RESERVED0 : array[0..61] of longword;
  996. EVENTS_ENDECB : longword; // ECB block encrypt complete
  997. EVENTS_ERRORECB : longword; // ECB block encrypt aborted because of a STOPECB task or due to
  998. RESERVED1 : array[0..126] of longword;
  999. INTENSET : longword; // Enable interrupt
  1000. INTENCLR : longword; // Disable interrupt
  1001. RESERVED2 : array[0..125] of longword;
  1002. ECBDATAPTR : longword; // ECB block encrypt memory pointers
  1003. end;
  1004. TCCM_Registers = record // CCM Structure
  1005. TASKS_KSGEN : longword; // Start generation of key-stream. This operation will stop by
  1006. TASKS_CRYPT : longword; // Start encryption/decryption. This operation will stop by itself
  1007. TASKS_STOP : longword; // Stop encryption/decryption
  1008. RESERVED0 : array[0..60] of longword;
  1009. EVENTS_ENDKSGEN : longword; // Key-stream generation complete
  1010. EVENTS_ENDCRYPT : longword; // Encrypt/decrypt complete
  1011. EVENTS_ERROR : longword; // CCM error event
  1012. RESERVED1 : array[0..60] of longword;
  1013. SHORTS : longword; // Shortcut register
  1014. RESERVED2 : array[0..63] of longword;
  1015. INTENSET : longword; // Enable interrupt
  1016. INTENCLR : longword; // Disable interrupt
  1017. RESERVED3 : array[0..60] of longword;
  1018. MICSTATUS : longword; // MIC check result
  1019. RESERVED4 : array[0..62] of longword;
  1020. ENABLE : longword; // Enable
  1021. MODE : longword; // Operation mode
  1022. CNFPTR : longword; // Pointer to data structure holding AES key and NONCE vector
  1023. INPTR : longword; // Input pointer
  1024. OUTPTR : longword; // Output pointer
  1025. SCRATCHPTR : longword; // Pointer to data area used for temporary storage
  1026. end;
  1027. TAAR_Registers = record // AAR Structure
  1028. TASKS_START : longword; // Start resolving addresses based on IRKs specified in the IRK
  1029. RESERVED0 : longword;
  1030. TASKS_STOP : longword; // Stop resolving addresses
  1031. RESERVED1 : array[0..60] of longword;
  1032. EVENTS_END : longword; // Address resolution procedure complete
  1033. EVENTS_RESOLVED : longword; // Address resolved
  1034. EVENTS_NOTRESOLVED : longword; // Address not resolved
  1035. RESERVED2 : array[0..125] of longword;
  1036. INTENSET : longword; // Enable interrupt
  1037. INTENCLR : longword; // Disable interrupt
  1038. RESERVED3 : array[0..60] of longword;
  1039. STATUS : longword; // Resolution status
  1040. RESERVED4 : array[0..62] of longword;
  1041. ENABLE : longword; // Enable AAR
  1042. NIRK : longword; // Number of IRKs
  1043. IRKPTR : longword; // Pointer to IRK data structure
  1044. RESERVED5 : longword;
  1045. ADDRPTR : longword; // Pointer to the resolvable address
  1046. SCRATCHPTR : longword; // Pointer to data area used for temporary storage
  1047. end;
  1048. TWDT_Registers = record // WDT Structure
  1049. TASKS_START : longword; // Start the watchdog
  1050. RESERVED0 : array[0..62] of longword;
  1051. EVENTS_TIMEOUT : longword; // Watchdog timeout
  1052. RESERVED1 : array[0..127] of longword;
  1053. INTENSET : longword; // Enable interrupt
  1054. INTENCLR : longword; // Disable interrupt
  1055. RESERVED2 : array[0..60] of longword;
  1056. RUNSTATUS : longword; // Run status
  1057. REQSTATUS : longword; // Request status
  1058. RESERVED3 : array[0..62] of longword;
  1059. CRV : longword; // Counter reload value
  1060. RREN : longword; // Enable register for reload request registers
  1061. CONFIG : longword; // Configuration register
  1062. RESERVED4 : array[0..59] of longword;
  1063. RR : array[0..7] of longword; // Description collection[0]: Reload request 0
  1064. end;
  1065. TQDEC_Registers = record // QDEC Structure
  1066. TASKS_START : longword; // Task starting the quadrature decoder
  1067. TASKS_STOP : longword; // Task stopping the quadrature decoder
  1068. TASKS_READCLRACC : longword; // Read and clear ACC and ACCDBL
  1069. TASKS_RDCLRACC : longword; // Read and clear ACC
  1070. TASKS_RDCLRDBL : longword; // Read and clear ACCDBL
  1071. RESERVED0 : array[0..58] of longword;
  1072. EVENTS_SAMPLERDY : longword; // Event being generated for every new sample value written to
  1073. EVENTS_REPORTRDY : longword; // Non-null report ready
  1074. EVENTS_ACCOF : longword; // ACC or ACCDBL register overflow
  1075. EVENTS_DBLRDY : longword; // Double displacement(s) detected
  1076. EVENTS_STOPPED : longword; // QDEC has been stopped
  1077. RESERVED1 : array[0..58] of longword;
  1078. SHORTS : longword; // Shortcut register
  1079. RESERVED2 : array[0..63] of longword;
  1080. INTENSET : longword; // Enable interrupt
  1081. INTENCLR : longword; // Disable interrupt
  1082. RESERVED3 : array[0..124] of longword;
  1083. ENABLE : longword; // Enable the quadrature decoder
  1084. LEDPOL : longword; // LED output pin polarity
  1085. SAMPLEPER : longword; // Sample period
  1086. SAMPLE : longint; // Motion sample value
  1087. REPORTPER : longword; // Number of samples to be taken before REPORTRDY and DBLRDY events
  1088. ACC : longint; // Register accumulating the valid transitions
  1089. ACCREAD : longint; // Snapshot of the ACC register, updated by the READCLRACC or RDCLRACC
  1090. PSEL : TQDEC_PSEL_Registers; // Unspecified
  1091. DBFEN : longword; // Enable input debounce filters
  1092. RESERVED4 : array[0..4] of longword;
  1093. LEDPRE : longword; // Time period the LED is switched ON prior to sampling
  1094. ACCDBL : longword; // Register accumulating the number of detected double transitions
  1095. ACCDBLREAD : longword; // Snapshot of the ACCDBL, updated by the READCLRACC or RDCLRDBL
  1096. end;
  1097. TCOMP_Registers = record // COMP Structure
  1098. TASKS_START : longword; // Start comparator
  1099. TASKS_STOP : longword; // Stop comparator
  1100. TASKS_SAMPLE : longword; // Sample comparator value
  1101. RESERVED0 : array[0..60] of longword;
  1102. EVENTS_READY : longword; // COMP is ready and output is valid
  1103. EVENTS_DOWN : longword; // Downward crossing
  1104. EVENTS_UP : longword; // Upward crossing
  1105. EVENTS_CROSS : longword; // Downward or upward crossing
  1106. RESERVED1 : array[0..59] of longword;
  1107. SHORTS : longword; // Shortcut register
  1108. RESERVED2 : array[0..62] of longword;
  1109. INTEN : longword; // Enable or disable interrupt
  1110. INTENSET : longword; // Enable interrupt
  1111. INTENCLR : longword; // Disable interrupt
  1112. RESERVED3 : array[0..60] of longword;
  1113. RESULT : longword; // Compare result
  1114. RESERVED4 : array[0..62] of longword;
  1115. ENABLE : longword; // COMP enable
  1116. PSEL : longword; // Pin select
  1117. REFSEL : longword; // Reference source select
  1118. EXTREFSEL : longword; // External reference select
  1119. RESERVED5 : array[0..7] of longword;
  1120. TH : longword; // Threshold configuration for hysteresis unit
  1121. MODE : longword; // Mode configuration
  1122. HYST : longword; // Comparator hysteresis enable
  1123. ISOURCE : longword; // Current source select on analog input
  1124. end;
  1125. TLPCOMP_Registers = record // LPCOMP Structure
  1126. TASKS_START : longword; // Start comparator
  1127. TASKS_STOP : longword; // Stop comparator
  1128. TASKS_SAMPLE : longword; // Sample comparator value
  1129. RESERVED0 : array[0..60] of longword;
  1130. EVENTS_READY : longword; // LPCOMP is ready and output is valid
  1131. EVENTS_DOWN : longword; // Downward crossing
  1132. EVENTS_UP : longword; // Upward crossing
  1133. EVENTS_CROSS : longword; // Downward or upward crossing
  1134. RESERVED1 : array[0..59] of longword;
  1135. SHORTS : longword; // Shortcut register
  1136. RESERVED2 : array[0..63] of longword;
  1137. INTENSET : longword; // Enable interrupt
  1138. INTENCLR : longword; // Disable interrupt
  1139. RESERVED3 : array[0..60] of longword;
  1140. RESULT : longword; // Compare result
  1141. RESERVED4 : array[0..62] of longword;
  1142. ENABLE : longword; // Enable LPCOMP
  1143. PSEL : longword; // Input pin select
  1144. REFSEL : longword; // Reference select
  1145. EXTREFSEL : longword; // External reference select
  1146. RESERVED5 : array[0..3] of longword;
  1147. ANADETECT : longword; // Analog detect configuration
  1148. RESERVED6 : array[0..4] of longword;
  1149. HYST : longword; // Comparator hysteresis enable
  1150. end;
  1151. TSWI_Registers = record // SWI Structure
  1152. UNUSED : longword; // Unused.
  1153. end;
  1154. TEGU_Registers = record // EGU Structure
  1155. TASKS_TRIGGER : array[0..15] of longword; // Description collection[0]: Trigger 0 for triggering the corresponding
  1156. RESERVED0 : array[0..47] of longword;
  1157. EVENTS_TRIGGERED : array[0..15] of longword; // Description collection[0]: Event number 0 generated by triggering
  1158. RESERVED1 : array[0..111] of longword;
  1159. INTEN : longword; // Enable or disable interrupt
  1160. INTENSET : longword; // Enable interrupt
  1161. INTENCLR : longword; // Disable interrupt
  1162. end;
  1163. TPWM_Registers = record // PWM Structure
  1164. RESERVED0 : longword;
  1165. TASKS_STOP : longword; // Stops PWM pulse generation on all channels at the end of current
  1166. TASKS_SEQSTART : array[0..1] of longword; // Description collection[0]: Loads the first PWM value on all
  1167. TASKS_NEXTSTEP : longword; // Steps by one value in the current sequence on all enabled channels
  1168. RESERVED1 : array[0..59] of longword;
  1169. EVENTS_STOPPED : longword; // Response to STOP task, emitted when PWM pulses are no longer
  1170. EVENTS_SEQSTARTED : array[0..1] of longword; // Description collection[0]: First PWM period started on sequence
  1171. EVENTS_SEQEND : array[0..1] of longword; // Description collection[0]: Emitted at end of every sequence
  1172. EVENTS_PWMPERIODEND : longword; // Emitted at the end of each PWM period
  1173. EVENTS_LOOPSDONE : longword; // Concatenated sequences have been played the amount of times
  1174. RESERVED2 : array[0..55] of longword;
  1175. SHORTS : longword; // Shortcut register
  1176. RESERVED3 : array[0..62] of longword;
  1177. INTEN : longword; // Enable or disable interrupt
  1178. INTENSET : longword; // Enable interrupt
  1179. INTENCLR : longword; // Disable interrupt
  1180. RESERVED4 : array[0..124] of longword;
  1181. ENABLE : longword; // PWM module enable register
  1182. MODE : longword; // Selects operating mode of the wave counter
  1183. COUNTERTOP : longword; // Value up to which the pulse generator counter counts
  1184. PRESCALER : longword; // Configuration for PWM_CLK
  1185. DECODER : longword; // Configuration of the decoder
  1186. LOOP : longword; // Amount of playback of a loop
  1187. RESERVED5 : array[0..1] of longword;
  1188. SEQ : array[0..1] of TPWM_SEQ_Registers; // Unspecified
  1189. PSEL : TPWM_PSEL_Registers; // Unspecified
  1190. end;
  1191. TPDM_Registers = record // PDM Structure
  1192. TASKS_START : longword; // Starts continuous PDM transfer
  1193. TASKS_STOP : longword; // Stops PDM transfer
  1194. RESERVED0 : array[0..61] of longword;
  1195. EVENTS_STARTED : longword; // PDM transfer has started
  1196. EVENTS_STOPPED : longword; // PDM transfer has finished
  1197. EVENTS_END : longword; // The PDM has written the last sample specified by SAMPLE.MAXCNT
  1198. RESERVED1 : array[0..124] of longword;
  1199. INTEN : longword; // Enable or disable interrupt
  1200. INTENSET : longword; // Enable interrupt
  1201. INTENCLR : longword; // Disable interrupt
  1202. RESERVED2 : array[0..124] of longword;
  1203. ENABLE : longword; // PDM module enable register
  1204. PDMCLKCTRL : longword; // PDM clock generator control
  1205. MODE : longword; // Defines the routing of the connected PDM microphones' signals
  1206. RESERVED3 : array[0..2] of longword;
  1207. GAINL : longword; // Left output gain adjustment
  1208. GAINR : longword; // Right output gain adjustment
  1209. RESERVED4 : array[0..7] of longword;
  1210. PSEL : TPDM_PSEL_Registers; // Unspecified
  1211. RESERVED5 : array[0..5] of longword;
  1212. SAMPLE : TPDM_SAMPLE_Registers; // Unspecified
  1213. end;
  1214. TNVMC_Registers = record // NVMC Structure
  1215. RESERVED0 : array[0..255] of longword;
  1216. READY : longword; // Ready flag
  1217. RESERVED1 : array[0..63] of longword;
  1218. CONFIG : longword; // Configuration register
  1219. ERASEPAGE : longword; // Register for erasing a page in Code area
  1220. ERASEALL : longword; // Register for erasing all non-volatile user memory
  1221. ERASEPCR0 : longword; // Deprecated register - Register for erasing a page in Code area.
  1222. ERASEUICR : longword; // Register for erasing User Information Configuration Registers
  1223. RESERVED2 : array[0..9] of longword;
  1224. ICACHECNF : longword; // I-Code cache configuration register.
  1225. RESERVED3 : longword;
  1226. IHIT : longword; // I-Code cache hit counter.
  1227. IMISS : longword; // I-Code cache miss counter.
  1228. end;
  1229. TPPI_Registers = record // PPI Structure
  1230. TASKS_CHG : array[0..5] of TPPI_TASKS_CHG_Registers; // Channel group tasks
  1231. RESERVED0 : array[0..307] of longword;
  1232. CHEN : longword; // Channel enable register
  1233. CHENSET : longword; // Channel enable set register
  1234. CHENCLR : longword; // Channel enable clear register
  1235. RESERVED1 : longword;
  1236. CH : array[0..19] of TPPI_CH_Registers; // PPI Channel
  1237. RESERVED2 : array[0..147] of longword;
  1238. CHG : array[0..5] of longword; // Description collection[0]: Channel group 0
  1239. RESERVED3 : array[0..61] of longword;
  1240. FORK : array[0..31] of TPPI_FORK_Registers; // Fork
  1241. end;
  1242. TMWU_Registers = record // MWU Structure
  1243. RESERVED0 : array[0..63] of longword;
  1244. EVENTS_REGION : array[0..3] of TMWU_EVENTS_REGION_Registers; // Unspecified
  1245. RESERVED1 : array[0..15] of longword;
  1246. EVENTS_PREGION : array[0..1] of TMWU_EVENTS_PREGION_Registers; // Unspecified
  1247. RESERVED2 : array[0..99] of longword;
  1248. INTEN : longword; // Enable or disable interrupt
  1249. INTENSET : longword; // Enable interrupt
  1250. INTENCLR : longword; // Disable interrupt
  1251. RESERVED3 : array[0..4] of longword;
  1252. NMIEN : longword; // Enable or disable non-maskable interrupt
  1253. NMIENSET : longword; // Enable non-maskable interrupt
  1254. NMIENCLR : longword; // Disable non-maskable interrupt
  1255. RESERVED4 : array[0..52] of longword;
  1256. PERREGION : array[0..1] of TMWU_PERREGION_Registers; // Unspecified
  1257. RESERVED5 : array[0..63] of longword;
  1258. REGIONEN : longword; // Enable/disable regions watch
  1259. REGIONENSET : longword; // Enable regions watch
  1260. REGIONENCLR : longword; // Disable regions watch
  1261. RESERVED6 : array[0..56] of longword;
  1262. REGION : array[0..3] of TMWU_REGION_Registers; // Unspecified
  1263. RESERVED7 : array[0..31] of longword;
  1264. PREGION : array[0..1] of TMWU_PREGION_Registers; // Unspecified
  1265. end;
  1266. TI2S_Registers = record // I2S Structure
  1267. TASKS_START : longword; // Starts continuous I2S transfer. Also starts MCK generator when
  1268. TASKS_STOP : longword; // Stops I2S transfer. Also stops MCK generator. Triggering this
  1269. RESERVED0 : array[0..62] of longword;
  1270. EVENTS_RXPTRUPD : longword; // The RXD.PTR register has been copied to internal double-buffers.
  1271. EVENTS_STOPPED : longword; // I2S transfer stopped.
  1272. RESERVED1 : array[0..1] of longword;
  1273. EVENTS_TXPTRUPD : longword; // The TDX.PTR register has been copied to internal double-buffers.
  1274. RESERVED2 : array[0..121] of longword;
  1275. INTEN : longword; // Enable or disable interrupt
  1276. INTENSET : longword; // Enable interrupt
  1277. INTENCLR : longword; // Disable interrupt
  1278. RESERVED3 : array[0..124] of longword;
  1279. ENABLE : longword; // Enable I2S module.
  1280. CONFIG : TI2S_CONFIG_Registers; // Unspecified
  1281. RESERVED4 : array[0..2] of longword;
  1282. RXD : TI2S_RXD_Registers; // Unspecified
  1283. RESERVED5 : longword;
  1284. TXD : TI2S_TXD_Registers; // Unspecified
  1285. RESERVED6 : array[0..2] of longword;
  1286. RXTXD : TI2S_RXTXD_Registers; // Unspecified
  1287. RESERVED7 : array[0..2] of longword;
  1288. PSEL : TI2S_PSEL_Registers; // Unspecified
  1289. end;
  1290. TFPU_Registers = record // FPU Structure
  1291. UNUSED : longword; // Unused.
  1292. end;
  1293. TGPIO_Registers = record // GPIO Structure
  1294. RESERVED0 : array[0..320] of longword;
  1295. OUT : longword; // Write GPIO port
  1296. OUTSET : longword; // Set individual bits in GPIO port
  1297. OUTCLR : longword; // Clear individual bits in GPIO port
  1298. &IN : longword; // Read GPIO port
  1299. DIR : longword; // Direction of GPIO pins
  1300. DIRSET : longword; // DIR set register
  1301. DIRCLR : longword; // DIR clear register
  1302. LATCH : longword; // Latch register indicating what GPIO pins that have met the criteria
  1303. DETECTMODE : longword; // Select between default DETECT signal behaviour and LDETECT mode
  1304. RESERVED1 : array[0..117] of longword;
  1305. PIN_CNF : array[0..31] of longword; // Description collection[0]: Configuration of GPIO pins
  1306. end;
  1307. const
  1308. FICR_BASE = $10000000;
  1309. UICR_BASE = $10001000;
  1310. BPROT_BASE = $40000000;
  1311. POWER_BASE = $40000000;
  1312. CLOCK_BASE = $40000000;
  1313. RADIO_BASE = $40001000;
  1314. UARTE0_BASE = $40002000;
  1315. UART0_BASE = $40002000;
  1316. SPIM0_BASE = $40003000;
  1317. SPIS0_BASE = $40003000;
  1318. TWIM0_BASE = $40003000;
  1319. TWIS0_BASE = $40003000;
  1320. SPI0_BASE = $40003000;
  1321. TWI0_BASE = $40003000;
  1322. SPIM1_BASE = $40004000;
  1323. SPIS1_BASE = $40004000;
  1324. TWIM1_BASE = $40004000;
  1325. TWIS1_BASE = $40004000;
  1326. SPI1_BASE = $40004000;
  1327. TWI1_BASE = $40004000;
  1328. NFCT_BASE = $40005000;
  1329. GPIOTE_BASE = $40006000;
  1330. SAADC_BASE = $40007000;
  1331. TIMER0_BASE = $40008000;
  1332. TIMER1_BASE = $40009000;
  1333. TIMER2_BASE = $4000A000;
  1334. RTC0_BASE = $4000B000;
  1335. TEMP_BASE = $4000C000;
  1336. RNG_BASE = $4000D000;
  1337. ECB_BASE = $4000E000;
  1338. CCM_BASE = $4000F000;
  1339. AAR_BASE = $4000F000;
  1340. WDT_BASE = $40010000;
  1341. RTC1_BASE = $40011000;
  1342. QDEC_BASE = $40012000;
  1343. COMP_BASE = $40013000;
  1344. LPCOMP_BASE = $40013000;
  1345. SWI0_BASE = $40014000;
  1346. EGU0_BASE = $40014000;
  1347. SWI1_BASE = $40015000;
  1348. EGU1_BASE = $40015000;
  1349. SWI2_BASE = $40016000;
  1350. EGU2_BASE = $40016000;
  1351. SWI3_BASE = $40017000;
  1352. EGU3_BASE = $40017000;
  1353. SWI4_BASE = $40018000;
  1354. EGU4_BASE = $40018000;
  1355. SWI5_BASE = $40019000;
  1356. EGU5_BASE = $40019000;
  1357. TIMER3_BASE = $4001A000;
  1358. TIMER4_BASE = $4001B000;
  1359. PWM0_BASE = $4001C000;
  1360. PDM_BASE = $4001D000;
  1361. NVMC_BASE = $4001E000;
  1362. PPI_BASE = $4001F000;
  1363. MWU_BASE = $40020000;
  1364. PWM1_BASE = $40021000;
  1365. PWM2_BASE = $40022000;
  1366. SPIM2_BASE = $40023000;
  1367. SPIS2_BASE = $40023000;
  1368. SPI2_BASE = $40023000;
  1369. RTC2_BASE = $40024000;
  1370. I2S_BASE = $40025000;
  1371. FPU_BASE = $40026000;
  1372. P0_BASE = $50000000;
  1373. var
  1374. FICR : TFICR_Registers absolute FICR_BASE;
  1375. UICR : TUICR_Registers absolute UICR_BASE;
  1376. BPROT : TBPROT_Registers absolute BPROT_BASE;
  1377. POWER : TPOWER_Registers absolute POWER_BASE;
  1378. CLOCK : TCLOCK_Registers absolute CLOCK_BASE;
  1379. RADIO : TRADIO_Registers absolute RADIO_BASE;
  1380. UARTE0 : TUARTE_Registers absolute UARTE0_BASE;
  1381. UART0 : TUART_Registers absolute UART0_BASE;
  1382. SPIM0 : TSPIM_Registers absolute SPIM0_BASE;
  1383. SPIS0 : TSPIS_Registers absolute SPIS0_BASE;
  1384. TWIM0 : TTWIM_Registers absolute TWIM0_BASE;
  1385. TWIS0 : TTWIS_Registers absolute TWIS0_BASE;
  1386. SPI0 : TSPI_Registers absolute SPI0_BASE;
  1387. TWI0 : TTWI_Registers absolute TWI0_BASE;
  1388. SPIM1 : TSPIM_Registers absolute SPIM1_BASE;
  1389. SPIS1 : TSPIS_Registers absolute SPIS1_BASE;
  1390. TWIM1 : TTWIM_Registers absolute TWIM1_BASE;
  1391. TWIS1 : TTWIS_Registers absolute TWIS1_BASE;
  1392. SPI1 : TSPI_Registers absolute SPI1_BASE;
  1393. TWI1 : TTWI_Registers absolute TWI1_BASE;
  1394. NFCT : TNFCT_Registers absolute NFCT_BASE;
  1395. GPIOTE : TGPIOTE_Registers absolute GPIOTE_BASE;
  1396. SAADC : TSAADC_Registers absolute SAADC_BASE;
  1397. TIMER0 : TTIMER_Registers absolute TIMER0_BASE;
  1398. TIMER1 : TTIMER_Registers absolute TIMER1_BASE;
  1399. TIMER2 : TTIMER_Registers absolute TIMER2_BASE;
  1400. RTC0 : TRTC_Registers absolute RTC0_BASE;
  1401. TEMP : TTEMP_Registers absolute TEMP_BASE;
  1402. RNG : TRNG_Registers absolute RNG_BASE;
  1403. ECB : TECB_Registers absolute ECB_BASE;
  1404. CCM : TCCM_Registers absolute CCM_BASE;
  1405. AAR : TAAR_Registers absolute AAR_BASE;
  1406. WDT : TWDT_Registers absolute WDT_BASE;
  1407. RTC1 : TRTC_Registers absolute RTC1_BASE;
  1408. QDEC : TQDEC_Registers absolute QDEC_BASE;
  1409. COMP : TCOMP_Registers absolute COMP_BASE;
  1410. LPCOMP : TLPCOMP_Registers absolute LPCOMP_BASE;
  1411. SWI0 : TSWI_Registers absolute SWI0_BASE;
  1412. EGU0 : TEGU_Registers absolute EGU0_BASE;
  1413. SWI1 : TSWI_Registers absolute SWI1_BASE;
  1414. EGU1 : TEGU_Registers absolute EGU1_BASE;
  1415. SWI2 : TSWI_Registers absolute SWI2_BASE;
  1416. EGU2 : TEGU_Registers absolute EGU2_BASE;
  1417. SWI3 : TSWI_Registers absolute SWI3_BASE;
  1418. EGU3 : TEGU_Registers absolute EGU3_BASE;
  1419. SWI4 : TSWI_Registers absolute SWI4_BASE;
  1420. EGU4 : TEGU_Registers absolute EGU4_BASE;
  1421. SWI5 : TSWI_Registers absolute SWI5_BASE;
  1422. EGU5 : TEGU_Registers absolute EGU5_BASE;
  1423. TIMER3 : TTIMER_Registers absolute TIMER3_BASE;
  1424. TIMER4 : TTIMER_Registers absolute TIMER4_BASE;
  1425. PWM0 : TPWM_Registers absolute PWM0_BASE;
  1426. PDM : TPDM_Registers absolute PDM_BASE;
  1427. NVMC : TNVMC_Registers absolute NVMC_BASE;
  1428. PPI : TPPI_Registers absolute PPI_BASE;
  1429. MWU : TMWU_Registers absolute MWU_BASE;
  1430. PWM1 : TPWM_Registers absolute PWM1_BASE;
  1431. PWM2 : TPWM_Registers absolute PWM2_BASE;
  1432. SPIM2 : TSPIM_Registers absolute SPIM2_BASE;
  1433. SPIS2 : TSPIS_Registers absolute SPIS2_BASE;
  1434. SPI2 : TSPI_Registers absolute SPI2_BASE;
  1435. RTC2 : TRTC_Registers absolute RTC2_BASE;
  1436. I2S : TI2S_Registers absolute I2S_BASE;
  1437. FPU : TFPU_Registers absolute FPU_BASE;
  1438. P0 : TGPIO_Registers absolute P0_BASE;
  1439. implementation
  1440. procedure Reset_interrupt; external name 'Reset_interrupt';
  1441. procedure NonMaskableInt_interrupt; external name 'NonMaskableInt_interrupt';
  1442. procedure HardFault_interrupt; external name 'HardFault_interrupt';
  1443. procedure MemoryManagement_interrupt; external name 'MemoryManagement_interrupt';
  1444. procedure BusFault_interrupt; external name 'BusFault_interrupt';
  1445. procedure UsageFault_interrupt; external name 'UsageFault_interrupt';
  1446. procedure SVCall_interrupt; external name 'SVCall_interrupt';
  1447. procedure DebugMonitor_interrupt; external name 'DebugMonitor_interrupt';
  1448. procedure PendSV_interrupt; external name 'PendSV_interrupt';
  1449. procedure SysTick_interrupt; external name 'SysTick_interrupt';
  1450. procedure POWER_CLOCK_interrupt; external name 'POWER_CLOCK_interrupt';
  1451. procedure RADIO_interrupt; external name 'RADIO_interrupt';
  1452. procedure UARTE0_UART0_interrupt; external name 'UARTE0_UART0_interrupt';
  1453. procedure NFCT_interrupt; external name 'NFCT_interrupt';
  1454. procedure GPIOTE_interrupt; external name 'GPIOTE_interrupt';
  1455. procedure SAADC_interrupt; external name 'SAADC_interrupt';
  1456. procedure TIMER0_interrupt; external name 'TIMER0_interrupt';
  1457. procedure TIMER1_interrupt; external name 'TIMER1_interrupt';
  1458. procedure TIMER2_interrupt; external name 'TIMER2_interrupt';
  1459. procedure RTC0_interrupt; external name 'RTC0_interrupt';
  1460. procedure TEMP_interrupt; external name 'TEMP_interrupt';
  1461. procedure RNG_interrupt; external name 'RNG_interrupt';
  1462. procedure ECB_interrupt; external name 'ECB_interrupt';
  1463. procedure CCM_AAR_interrupt; external name 'CCM_AAR_interrupt';
  1464. procedure WDT_interrupt; external name 'WDT_interrupt';
  1465. procedure RTC1_interrupt; external name 'RTC1_interrupt';
  1466. procedure QDEC_interrupt; external name 'QDEC_interrupt';
  1467. procedure COMP_LPCOMP_interrupt; external name 'COMP_LPCOMP_interrupt';
  1468. procedure SWI0_EGU0_interrupt; external name 'SWI0_EGU0_interrupt';
  1469. procedure SWI1_EGU1_interrupt; external name 'SWI1_EGU1_interrupt';
  1470. procedure SWI2_EGU2_interrupt; external name 'SWI2_EGU2_interrupt';
  1471. procedure SWI3_EGU3_interrupt; external name 'SWI3_EGU3_interrupt';
  1472. procedure SWI4_EGU4_interrupt; external name 'SWI4_EGU4_interrupt';
  1473. procedure SWI5_EGU5_interrupt; external name 'SWI5_EGU5_interrupt';
  1474. procedure TIMER3_interrupt; external name 'TIMER3_interrupt';
  1475. procedure TIMER4_interrupt; external name 'TIMER4_interrupt';
  1476. procedure PWM0_interrupt; external name 'PWM0_interrupt';
  1477. procedure PDM_interrupt; external name 'PDM_interrupt';
  1478. procedure MWU_interrupt; external name 'MWU_interrupt';
  1479. procedure PWM1_interrupt; external name 'PWM1_interrupt';
  1480. procedure PWM2_interrupt; external name 'PWM2_interrupt';
  1481. procedure SPIM2_SPIS2_SPI2_interrupt; external name 'SPIM2_SPIS2_SPI2_interrupt';
  1482. procedure RTC2_interrupt; external name 'RTC2_interrupt';
  1483. procedure I2S_interrupt; external name 'I2S_interrupt';
  1484. procedure FPU_interrupt; external name 'FPU_interrupt';
  1485. {$i cortexm4f_start.inc}
  1486. procedure Vectors; assembler; nostackframe;
  1487. label interrupt_vectors;
  1488. asm
  1489. .section ".init.interrupt_vectors"
  1490. interrupt_vectors:
  1491. .long _stack_top
  1492. .long Startup
  1493. .long Reset_interrupt
  1494. .long NonMaskableInt_interrupt
  1495. .long HardFault_interrupt
  1496. .long MemoryManagement_interrupt
  1497. .long BusFault_interrupt
  1498. .long UsageFault_interrupt
  1499. .long 0
  1500. .long 0
  1501. .long 0
  1502. .long SVCall_interrupt
  1503. .long DebugMonitor_interrupt
  1504. .long 0
  1505. .long PendSV_interrupt
  1506. .long SysTick_interrupt
  1507. .long POWER_CLOCK_interrupt
  1508. .long RADIO_interrupt
  1509. .long UARTE0_UART0_interrupt
  1510. .long 0
  1511. .long 0
  1512. .long NFCT_interrupt
  1513. .long GPIOTE_interrupt
  1514. .long SAADC_interrupt
  1515. .long TIMER0_interrupt
  1516. .long TIMER1_interrupt
  1517. .long TIMER2_interrupt
  1518. .long RTC0_interrupt
  1519. .long TEMP_interrupt
  1520. .long RNG_interrupt
  1521. .long ECB_interrupt
  1522. .long CCM_AAR_interrupt
  1523. .long WDT_interrupt
  1524. .long RTC1_interrupt
  1525. .long QDEC_interrupt
  1526. .long COMP_LPCOMP_interrupt
  1527. .long SWI0_EGU0_interrupt
  1528. .long SWI1_EGU1_interrupt
  1529. .long SWI2_EGU2_interrupt
  1530. .long SWI3_EGU3_interrupt
  1531. .long SWI4_EGU4_interrupt
  1532. .long SWI5_EGU5_interrupt
  1533. .long TIMER3_interrupt
  1534. .long TIMER4_interrupt
  1535. .long PWM0_interrupt
  1536. .long PDM_interrupt
  1537. .long 0
  1538. .long 0
  1539. .long MWU_interrupt
  1540. .long PWM1_interrupt
  1541. .long PWM2_interrupt
  1542. .long SPIM2_SPIS2_SPI2_interrupt
  1543. .long RTC2_interrupt
  1544. .long I2S_interrupt
  1545. .long FPU_interrupt
  1546. .weak Reset_interrupt
  1547. .weak NonMaskableInt_interrupt
  1548. .weak HardFault_interrupt
  1549. .weak MemoryManagement_interrupt
  1550. .weak BusFault_interrupt
  1551. .weak UsageFault_interrupt
  1552. .weak SVCall_interrupt
  1553. .weak DebugMonitor_interrupt
  1554. .weak PendSV_interrupt
  1555. .weak SysTick_interrupt
  1556. .weak POWER_CLOCK_interrupt
  1557. .weak RADIO_interrupt
  1558. .weak UARTE0_UART0_interrupt
  1559. .weak NFCT_interrupt
  1560. .weak GPIOTE_interrupt
  1561. .weak SAADC_interrupt
  1562. .weak TIMER0_interrupt
  1563. .weak TIMER1_interrupt
  1564. .weak TIMER2_interrupt
  1565. .weak RTC0_interrupt
  1566. .weak TEMP_interrupt
  1567. .weak RNG_interrupt
  1568. .weak ECB_interrupt
  1569. .weak CCM_AAR_interrupt
  1570. .weak WDT_interrupt
  1571. .weak RTC1_interrupt
  1572. .weak QDEC_interrupt
  1573. .weak COMP_LPCOMP_interrupt
  1574. .weak SWI0_EGU0_interrupt
  1575. .weak SWI1_EGU1_interrupt
  1576. .weak SWI2_EGU2_interrupt
  1577. .weak SWI3_EGU3_interrupt
  1578. .weak SWI4_EGU4_interrupt
  1579. .weak SWI5_EGU5_interrupt
  1580. .weak TIMER3_interrupt
  1581. .weak TIMER4_interrupt
  1582. .weak PWM0_interrupt
  1583. .weak PDM_interrupt
  1584. .weak MWU_interrupt
  1585. .weak PWM1_interrupt
  1586. .weak PWM2_interrupt
  1587. .weak SPIM2_SPIS2_SPI2_interrupt
  1588. .weak RTC2_interrupt
  1589. .weak I2S_interrupt
  1590. .weak FPU_interrupt
  1591. .set Reset_interrupt, HaltProc
  1592. .set NonMaskableInt_interrupt, HaltProc
  1593. .set HardFault_interrupt, HaltProc
  1594. .set MemoryManagement_interrupt, HaltProc
  1595. .set BusFault_interrupt, HaltProc
  1596. .set UsageFault_interrupt, HaltProc
  1597. .set SVCall_interrupt, HaltProc
  1598. .set DebugMonitor_interrupt, HaltProc
  1599. .set PendSV_interrupt, HaltProc
  1600. .set SysTick_interrupt, HaltProc
  1601. .set POWER_CLOCK_interrupt, HaltProc
  1602. .set RADIO_interrupt, HaltProc
  1603. .set UARTE0_UART0_interrupt, HaltProc
  1604. .set NFCT_interrupt, HaltProc
  1605. .set GPIOTE_interrupt, HaltProc
  1606. .set SAADC_interrupt, HaltProc
  1607. .set TIMER0_interrupt, HaltProc
  1608. .set TIMER1_interrupt, HaltProc
  1609. .set TIMER2_interrupt, HaltProc
  1610. .set RTC0_interrupt, HaltProc
  1611. .set TEMP_interrupt, HaltProc
  1612. .set RNG_interrupt, HaltProc
  1613. .set ECB_interrupt, HaltProc
  1614. .set CCM_AAR_interrupt, HaltProc
  1615. .set WDT_interrupt, HaltProc
  1616. .set RTC1_interrupt, HaltProc
  1617. .set QDEC_interrupt, HaltProc
  1618. .set COMP_LPCOMP_interrupt, HaltProc
  1619. .set SWI0_EGU0_interrupt, HaltProc
  1620. .set SWI1_EGU1_interrupt, HaltProc
  1621. .set SWI2_EGU2_interrupt, HaltProc
  1622. .set SWI3_EGU3_interrupt, HaltProc
  1623. .set SWI4_EGU4_interrupt, HaltProc
  1624. .set SWI5_EGU5_interrupt, HaltProc
  1625. .set TIMER3_interrupt, HaltProc
  1626. .set TIMER4_interrupt, HaltProc
  1627. .set PWM0_interrupt, HaltProc
  1628. .set PDM_interrupt, HaltProc
  1629. .set MWU_interrupt, HaltProc
  1630. .set PWM1_interrupt, HaltProc
  1631. .set PWM2_interrupt, HaltProc
  1632. .set SPIM2_SPIS2_SPI2_interrupt, HaltProc
  1633. .set RTC2_interrupt, HaltProc
  1634. .set I2S_interrupt, HaltProc
  1635. .set FPU_interrupt, HaltProc
  1636. .text
  1637. end;
  1638. end.