nrf52.pp 86 KB

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