12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727 |
- unit nrf52;
- interface
- {$PACKRECORDS 2}
- {$GOTO ON}
- {$MODESWITCH ADVANCEDRECORDS}
- // *****************************************************************************************************
- // * @file nrf52.h
- // CMSIS Cortex-M4 Peripheral Access Layer Header File for
- // * nrf52 from Nordic Semiconductor.
- // *
- // * @version V1
- // * @date 18. November 2016
- // *
- // * @note Generated with SVDConv V2.81d
- // * from CMSIS SVD File 'nrf52.svd' Version 1,
- // *
- // * @par Copyright (c) 2016, Nordic Semiconductor ASA
- // * All rights reserved.
- // *
- // * Redistribution and use in source and binary forms, with or without
- // * modification, are permitted provided that the following conditions are met:
- // *
- // * * Redistributions of source code must retain the above copyright notice, this
- // * list of conditions and the following disclaimer.
- // *
- // * * Redistributions in binary form must reproduce the above copyright notice,
- // * this list of conditions and the following disclaimer in the documentation
- // * and/or other materials provided with the distribution.
- // *
- // * * Neither the name of Nordic Semiconductor ASA nor the names of its
- // * contributors may be used to endorse or promote products derived from
- // * this software without specific prior written permission.
- // *
- // * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- // * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- // * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- // * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- // * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- // * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- // * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- // * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- // * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- // * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- // *
- // *
- // ******************************************************************************************************
- // ------------------------- Interrupt Number Definition ------------------------
- type
- TIRQn_Enum = (
- Reset_IRQn = -15, // 1 Reset Vector, invoked on Power up and warm reset
- NonMaskableInt_IRQn = -14, // 2 Non maskable Interrupt, cannot be stopped or preempted
- HardFault_IRQn = -13, // 3 Hard Fault, all classes of Fault
- MemoryManagement_IRQn = -12, // 4 Memory Management, MPU mismatch, including Access Violation
- BusFault_IRQn = -11, // 5 Bus Fault, Pre-Fetch-, Memory Access Fault, other address/memory
- UsageFault_IRQn = -10, // 6 Usage Fault, i.e. Undef Instruction, Illegal State Transition
- SVCall_IRQn = -5, // 11 System Service Call via SVC instruction
- DebugMonitor_IRQn = -4, // 12 Debug Monitor
- PendSV_IRQn = -2, // 14 Pendable request for system service
- SysTick_IRQn = -1, // 15 System Tick Timer
- POWER_CLOCK_IRQn = 0, // 0 POWER_CLOCK
- RADIO_IRQn = 1, // 1 RADIO
- UARTE0_UART0_IRQn = 2, // 2 UARTE0_UART0
- SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQn= 3, // 3 SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0
- SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQn= 4, // 4 SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1
- NFCT_IRQn = 5, // 5 NFCT
- GPIOTE_IRQn = 6, // 6 GPIOTE
- SAADC_IRQn = 7, // 7 SAADC
- TIMER0_IRQn = 8, // 8 TIMER0
- TIMER1_IRQn = 9, // 9 TIMER1
- TIMER2_IRQn = 10, // 10 TIMER2
- RTC0_IRQn = 11, // 11 RTC0
- TEMP_IRQn = 12, // 12 TEMP
- RNG_IRQn = 13, // 13 RNG
- ECB_IRQn = 14, // 14 ECB
- CCM_AAR_IRQn = 15, // 15 CCM_AAR
- WDT_IRQn = 16, // 16 WDT
- RTC1_IRQn = 17, // 17 RTC1
- QDEC_IRQn = 18, // 18 QDEC
- COMP_LPCOMP_IRQn = 19, // 19 COMP_LPCOMP
- SWI0_EGU0_IRQn = 20, // 20 SWI0_EGU0
- SWI1_EGU1_IRQn = 21, // 21 SWI1_EGU1
- SWI2_EGU2_IRQn = 22, // 22 SWI2_EGU2
- SWI3_EGU3_IRQn = 23, // 23 SWI3_EGU3
- SWI4_EGU4_IRQn = 24, // 24 SWI4_EGU4
- SWI5_EGU5_IRQn = 25, // 25 SWI5_EGU5
- TIMER3_IRQn = 26, // 26 TIMER3
- TIMER4_IRQn = 27, // 27 TIMER4
- PWM0_IRQn = 28, // 28 PWM0
- PDM_IRQn = 29, // 29 PDM
- MWU_IRQn = 32, // 32 MWU
- PWM1_IRQn = 33, // 33 PWM1
- PWM2_IRQn = 34, // 34 PWM2
- SPIM2_SPIS2_SPI2_IRQn = 35, // 35 SPIM2_SPIS2_SPI2
- RTC2_IRQn = 36, // 36 RTC2
- I2S_IRQn = 37, // 37 I2S
- FPU_IRQn = 38 // 38 FPU
- );
- TFICR_INFO_Registers = record
- PART : longword; // Part code
- VARIANT : longword; // Part Variant, Hardware version and Production configuration
- PACKAGE : longword; // Package option
- RAM : longword; // RAM variant
- FLASH : longword; // Flash variant
- UNUSED0 : array[0..2] of longword; // Description collection[0]: Unspecified
- end;
- TFICR_TEMP_Registers = record
- A0 : longword; // Slope definition A0.
- A1 : longword; // Slope definition A1.
- A2 : longword; // Slope definition A2.
- A3 : longword; // Slope definition A3.
- A4 : longword; // Slope definition A4.
- A5 : longword; // Slope definition A5.
- B0 : longword; // y-intercept B0.
- B1 : longword; // y-intercept B1.
- B2 : longword; // y-intercept B2.
- B3 : longword; // y-intercept B3.
- B4 : longword; // y-intercept B4.
- B5 : longword; // y-intercept B5.
- T0 : longword; // Segment end T0.
- T1 : longword; // Segment end T1.
- T2 : longword; // Segment end T2.
- T3 : longword; // Segment end T3.
- T4 : longword; // Segment end T4.
- end;
- TFICR_NFC_Registers = record
- TAGHEADER0 : longword; // Default header for NFC Tag. Software can read these values to
- TAGHEADER1 : longword; // Default header for NFC Tag. Software can read these values to
- TAGHEADER2 : longword; // Default header for NFC Tag. Software can read these values to
- TAGHEADER3 : longword; // Default header for NFC Tag. Software can read these values to
- end;
- TPOWER_RAM_Registers = record
- POWER : longword; // Description cluster[0]: RAM0 power control register
- POWERSET : longword; // Description cluster[0]: RAM0 power control set register
- POWERCLR : longword; // Description cluster[0]: RAM0 power control clear register
- RESERVED0 : longword;
- end;
- TUARTE_PSEL_Registers = record
- RTS : longword; // Pin select for RTS signal
- TXD : longword; // Pin select for TXD signal
- CTS : longword; // Pin select for CTS signal
- RXD : longword; // Pin select for RXD signal
- end;
- TUARTE_RXD_Registers = record
- PTR : longword; // Data pointer
- MAXCNT : longword; // Maximum number of bytes in receive buffer
- AMOUNT : longword; // Number of bytes transferred in the last transaction
- end;
- TUARTE_TXD_Registers = record
- PTR : longword; // Data pointer
- MAXCNT : longword; // Maximum number of bytes in transmit buffer
- AMOUNT : longword; // Number of bytes transferred in the last transaction
- end;
- TSPIM_PSEL_Registers = record
- SCK : longword; // Pin select for SCK
- MOSI : longword; // Pin select for MOSI signal
- MISO : longword; // Pin select for MISO signal
- end;
- TSPIM_RXD_Registers = record
- PTR : longword; // Data pointer
- MAXCNT : longword; // Maximum number of bytes in receive buffer
- AMOUNT : longword; // Number of bytes transferred in the last transaction
- LIST : longword; // EasyDMA list type
- end;
- TSPIM_TXD_Registers = record
- PTR : longword; // Data pointer
- MAXCNT : longword; // Maximum number of bytes in transmit buffer
- AMOUNT : longword; // Number of bytes transferred in the last transaction
- LIST : longword; // EasyDMA list type
- end;
- TSPIS_PSEL_Registers = record
- SCK : longword; // Pin select for SCK
- MISO : longword; // Pin select for MISO signal
- MOSI : longword; // Pin select for MOSI signal
- CSN : longword; // Pin select for CSN signal
- end;
- TSPIS_RXD_Registers = record
- PTR : longword; // RXD data pointer
- MAXCNT : longword; // Maximum number of bytes in receive buffer
- AMOUNT : longword; // Number of bytes received in last granted transaction
- end;
- TSPIS_TXD_Registers = record
- PTR : longword; // TXD data pointer
- MAXCNT : longword; // Maximum number of bytes in transmit buffer
- AMOUNT : longword; // Number of bytes transmitted in last granted transaction
- end;
- TTWIM_PSEL_Registers = record
- SCL : longword; // Pin select for SCL signal
- SDA : longword; // Pin select for SDA signal
- end;
- TTWIM_RXD_Registers = record
- PTR : longword; // Data pointer
- MAXCNT : longword; // Maximum number of bytes in receive buffer
- AMOUNT : longword; // Number of bytes transferred in the last transaction
- LIST : longword; // EasyDMA list type
- end;
- TTWIM_TXD_Registers = record
- PTR : longword; // Data pointer
- MAXCNT : longword; // Maximum number of bytes in transmit buffer
- AMOUNT : longword; // Number of bytes transferred in the last transaction
- LIST : longword; // EasyDMA list type
- end;
- TTWIS_PSEL_Registers = record
- SCL : longword; // Pin select for SCL signal
- SDA : longword; // Pin select for SDA signal
- end;
- TTWIS_RXD_Registers = record
- PTR : longword; // RXD Data pointer
- MAXCNT : longword; // Maximum number of bytes in RXD buffer
- AMOUNT : longword; // Number of bytes transferred in the last RXD transaction
- end;
- TTWIS_TXD_Registers = record
- PTR : longword; // TXD Data pointer
- MAXCNT : longword; // Maximum number of bytes in TXD buffer
- AMOUNT : longword; // Number of bytes transferred in the last TXD transaction
- end;
- TSPI_PSEL_Registers = record
- SCK : longword; // Pin select for SCK
- MOSI : longword; // Pin select for MOSI
- MISO : longword; // Pin select for MISO
- end;
- TNFCT_FRAMESTATUS_Registers = record
- RX : longword; // Result of last incoming frames
- end;
- TNFCT_TXD_Registers = record
- FRAMECONFIG : longword; // Configuration of outgoing frames
- AMOUNT : longword; // Size of outgoing frame
- end;
- TNFCT_RXD_Registers = record
- FRAMECONFIG : longword; // Configuration of incoming frames
- AMOUNT : longword; // Size of last incoming frame
- end;
- TSAADC_EVENTS_CH_Registers = record
- LIMITH : longword; // Description cluster[0]: Last results is equal or above CH[0].LIMIT.HIGH
- LIMITL : longword; // Description cluster[0]: Last results is equal or below CH[0].LIMIT.LOW
- end;
- TSAADC_CH_Registers = record
- PSELP : longword; // Description cluster[0]: Input positive pin selection for CH[0]
- PSELN : longword; // Description cluster[0]: Input negative pin selection for CH[0]
- CONFIG : longword; // Description cluster[0]: Input configuration for CH[0]
- LIMIT : longword; // Description cluster[0]: High/low limits for event monitoring
- end;
- TSAADC_RESULT_Registers = record
- PTR : longword; // Data pointer
- MAXCNT : longword; // Maximum number of buffer words to transfer
- AMOUNT : longword; // Number of buffer words transferred since last START
- end;
- TQDEC_PSEL_Registers = record
- LED : longword; // Pin select for LED signal
- A : longword; // Pin select for A signal
- B : longword; // Pin select for B signal
- end;
- TPWM_SEQ_Registers = record
- PTR : longword; // Description cluster[0]: Beginning address in Data RAM of this
- CNT : longword; // Description cluster[0]: Amount of values (duty cycles) in this
- REFRESH : longword; // Description cluster[0]: Amount of additional PWM periods between
- ENDDELAY : longword; // Description cluster[0]: Time added after the sequence
- RESERVED1 : array[0..3] of longword;
- end;
- TPWM_PSEL_Registers = record
- OUT : array[0..3] of longword; // Description collection[0]: Output pin select for PWM channel
- end;
- TPDM_PSEL_Registers = record
- CLK : longword; // Pin number configuration for PDM CLK signal
- DIN : longword; // Pin number configuration for PDM DIN signal
- end;
- TPDM_SAMPLE_Registers = record
- PTR : longword; // RAM address pointer to write samples to with EasyDMA
- MAXCNT : longword; // Number of samples to allocate memory for in EasyDMA mode
- end;
- TPPI_TASKS_CHG_Registers = record
- EN : longword; // Description cluster[0]: Enable channel group 0
- DIS : longword; // Description cluster[0]: Disable channel group 0
- end;
- TPPI_CH_Registers = record
- EEP : longword; // Description cluster[0]: Channel 0 event end-point
- TEP : longword; // Description cluster[0]: Channel 0 task end-point
- end;
- TPPI_FORK_Registers = record
- TEP : longword; // Description cluster[0]: Channel 0 task end-point
- end;
- TMWU_EVENTS_REGION_Registers = record
- WA : longword; // Description cluster[0]: Write access to region 0 detected
- RA : longword; // Description cluster[0]: Read access to region 0 detected
- end;
- TMWU_EVENTS_PREGION_Registers = record
- WA : longword; // Description cluster[0]: Write access to peripheral region 0
- RA : longword; // Description cluster[0]: Read access to peripheral region 0 detected
- end;
- TMWU_PERREGION_Registers = record
- SUBSTATWA : longword; // Description cluster[0]: Source of event/interrupt in region
- SUBSTATRA : longword; // Description cluster[0]: Source of event/interrupt in region
- end;
- TMWU_REGION_Registers = record
- START : longword; // Description cluster[0]: Start address for region 0
- &END : longword; // Description cluster[0]: End address of region 0
- RESERVED2 : array[0..1] of longword;
- end;
- TMWU_PREGION_Registers = record
- START : longword; // Description cluster[0]: Reserved for future use
- &END : longword; // Description cluster[0]: Reserved for future use
- SUBS : longword; // Description cluster[0]: Subregions of region 0
- RESERVED3 : longword;
- end;
- TI2S_CONFIG_Registers = record
- MODE : longword; // I2S mode.
- RXEN : longword; // Reception (RX) enable.
- TXEN : longword; // Transmission (TX) enable.
- MCKEN : longword; // Master clock generator enable.
- MCKFREQ : longword; // Master clock generator frequency.
- RATIO : longword; // MCK / LRCK ratio.
- SWIDTH : longword; // Sample width.
- ALIGN : longword; // Alignment of sample within a frame.
- FORMAT : longword; // Frame format.
- CHANNELS : longword; // Enable channels.
- end;
- TI2S_RXD_Registers = record
- PTR : longword; // Receive buffer RAM start address.
- end;
- TI2S_TXD_Registers = record
- PTR : longword; // Transmit buffer RAM start address.
- end;
- TI2S_RXTXD_Registers = record
- MAXCNT : longword; // Size of RXD and TXD buffers.
- end;
- TI2S_PSEL_Registers = record
- MCK : longword; // Pin select for MCK signal.
- SCK : longword; // Pin select for SCK signal.
- LRCK : longword; // Pin select for LRCK signal.
- SDIN : longword; // Pin select for SDIN signal.
- SDOUT : longword; // Pin select for SDOUT signal.
- end;
- TFICR_Registers = record // FICR Structure
- RESERVED0 : array[0..3] of longword;
- CODEPAGESIZE : longword; // Code memory page size
- CODESIZE : longword; // Code memory size
- RESERVED1 : array[0..17] of longword;
- DEVICEID : array[0..1] of longword; // Description collection[0]: Device identifier
- RESERVED2 : array[0..5] of longword;
- ER : array[0..3] of longword; // Description collection[0]: Encryption Root, word 0
- IR : array[0..3] of longword; // Description collection[0]: Identity Root, word 0
- DEVICEADDRTYPE : longword; // Device address type
- DEVICEADDR : array[0..1] of longword; // Description collection[0]: Device address 0
- RESERVED3 : array[0..20] of longword;
- INFO : TFICR_INFO_Registers; // Device info
- RESERVED4 : array[0..184] of longword;
- TEMP : TFICR_TEMP_Registers; // Registers storing factory TEMP module linearization coefficients
- RESERVED5 : array[0..1] of longword;
- NFC : TFICR_NFC_Registers; // Unspecified
- end;
- TUICR_Registers = record // UICR Structure
- UNUSED0 : longword; // Unspecified
- UNUSED1 : longword; // Unspecified
- UNUSED2 : longword; // Unspecified
- RESERVED0 : longword;
- UNUSED3 : longword; // Unspecified
- NRFFW : array[0..14] of longword; // Description collection[0]: Reserved for Nordic firmware design
- NRFHW : array[0..11] of longword; // Description collection[0]: Reserved for Nordic hardware design
- CUSTOMER : array[0..31] of longword; // Description collection[0]: Reserved for customer
- RESERVED1 : array[0..63] of longword;
- PSELRESET : array[0..1] of longword; // Description collection[0]: Mapping of the nRESET function (see
- APPROTECT : longword; // Access Port protection
- NFCPINS : longword; // Setting of pins dedicated to NFC functionality: NFC antenna
- end;
- TBPROT_Registers = record // BPROT Structure
- RESERVED0 : array[0..383] of longword;
- CONFIG0 : longword; // Block protect configuration register 0
- CONFIG1 : longword; // Block protect configuration register 1
- DISABLEINDEBUG : longword; // Disable protection mechanism in debug interface mode
- UNUSED0 : longword; // Unspecified
- CONFIG2 : longword; // Block protect configuration register 2
- CONFIG3 : longword; // Block protect configuration register 3
- end;
- TPOWER_Registers = record // POWER Structure
- RESERVED0 : array[0..29] of longword;
- TASKS_CONSTLAT : longword; // Enable constant latency mode
- TASKS_LOWPWR : longword; // Enable low power mode (variable latency)
- RESERVED1 : array[0..33] of longword;
- EVENTS_POFWARN : longword; // Power failure warning
- RESERVED2 : array[0..1] of longword;
- EVENTS_SLEEPENTER : longword; // CPU entered WFI/WFE sleep
- EVENTS_SLEEPEXIT : longword; // CPU exited WFI/WFE sleep
- RESERVED3 : array[0..121] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED4 : array[0..60] of longword;
- RESETREAS : longword; // Reset reason
- RESERVED5 : array[0..8] of longword;
- RAMSTATUS : longword; // Deprecated register - RAM status register
- RESERVED6 : array[0..52] of longword;
- SYSTEMOFF : longword; // System OFF register
- RESERVED7 : array[0..2] of longword;
- POFCON : longword; // Power failure comparator configuration
- RESERVED8 : array[0..1] of longword;
- GPREGRET : longword; // General purpose retention register
- GPREGRET2 : longword; // General purpose retention register
- RAMON : longword; // Deprecated register - RAM on/off register (this register is
- RESERVED9 : array[0..10] of longword;
- RAMONB : longword; // Deprecated register - RAM on/off register (this register is
- RESERVED10 : array[0..7] of longword;
- DCDCEN : longword; // DC/DC enable register
- RESERVED11 : array[0..224] of longword;
- RAM : array[0..7] of TPOWER_RAM_Registers; // Unspecified
- end;
- TCLOCK_Registers = record // CLOCK Structure
- TASKS_HFCLKSTART : longword; // Start HFCLK crystal oscillator
- TASKS_HFCLKSTOP : longword; // Stop HFCLK crystal oscillator
- TASKS_LFCLKSTART : longword; // Start LFCLK source
- TASKS_LFCLKSTOP : longword; // Stop LFCLK source
- TASKS_CAL : longword; // Start calibration of LFRC oscillator
- TASKS_CTSTART : longword; // Start calibration timer
- TASKS_CTSTOP : longword; // Stop calibration timer
- RESERVED0 : array[0..56] of longword;
- EVENTS_HFCLKSTARTED : longword; // HFCLK oscillator started
- EVENTS_LFCLKSTARTED : longword; // LFCLK started
- RESERVED1 : longword;
- EVENTS_DONE : longword; // Calibration of LFCLK RC oscillator complete event
- EVENTS_CTTO : longword; // Calibration timer timeout
- RESERVED2 : array[0..123] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED3 : array[0..62] of longword;
- HFCLKRUN : longword; // Status indicating that HFCLKSTART task has been triggered
- HFCLKSTAT : longword; // HFCLK status
- RESERVED4 : longword;
- LFCLKRUN : longword; // Status indicating that LFCLKSTART task has been triggered
- LFCLKSTAT : longword; // LFCLK status
- LFCLKSRCCOPY : longword; // Copy of LFCLKSRC register, set when LFCLKSTART task was triggered
- RESERVED5 : array[0..61] of longword;
- LFCLKSRC : longword; // Clock source for the LFCLK
- RESERVED6 : array[0..6] of longword;
- CTIV : longword; // Calibration timer interval
- RESERVED7 : array[0..7] of longword;
- TRACECONFIG : longword; // Clocking options for the Trace Port debug interface
- end;
- TRADIO_Registers = record // RADIO Structure
- TASKS_TXEN : longword; // Enable RADIO in TX mode
- TASKS_RXEN : longword; // Enable RADIO in RX mode
- TASKS_START : longword; // Start RADIO
- TASKS_STOP : longword; // Stop RADIO
- TASKS_DISABLE : longword; // Disable RADIO
- TASKS_RSSISTART : longword; // Start the RSSI and take one single sample of the receive signal
- TASKS_RSSISTOP : longword; // Stop the RSSI measurement
- TASKS_BCSTART : longword; // Start the bit counter
- TASKS_BCSTOP : longword; // Stop the bit counter
- RESERVED0 : array[0..54] of longword;
- EVENTS_READY : longword; // RADIO has ramped up and is ready to be started
- EVENTS_ADDRESS : longword; // Address sent or received
- EVENTS_PAYLOAD : longword; // Packet payload sent or received
- EVENTS_END : longword; // Packet sent or received
- EVENTS_DISABLED : longword; // RADIO has been disabled
- EVENTS_DEVMATCH : longword; // A device address match occurred on the last received packet
- EVENTS_DEVMISS : longword; // No device address match occurred on the last received packet
- EVENTS_RSSIEND : longword; // Sampling of receive signal strength complete.
- RESERVED1 : array[0..1] of longword;
- EVENTS_BCMATCH : longword; // Bit counter reached bit count value.
- RESERVED2 : longword;
- EVENTS_CRCOK : longword; // Packet received with CRC ok
- EVENTS_CRCERROR : longword; // Packet received with CRC error
- RESERVED3 : array[0..49] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED4 : array[0..63] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED5 : array[0..60] of longword;
- CRCSTATUS : longword; // CRC status
- RESERVED6 : longword;
- RXMATCH : longword; // Received address
- RXCRC : longword; // CRC field of previously received packet
- DAI : longword; // Device address match index
- RESERVED7 : array[0..59] of longword;
- PACKETPTR : longword; // Packet pointer
- FREQUENCY : longword; // Frequency
- TXPOWER : longword; // Output power
- MODE : longword; // Data rate and modulation
- PCNF0 : longword; // Packet configuration register 0
- PCNF1 : longword; // Packet configuration register 1
- BASE0 : longword; // Base address 0
- BASE1 : longword; // Base address 1
- PREFIX0 : longword; // Prefixes bytes for logical addresses 0-3
- PREFIX1 : longword; // Prefixes bytes for logical addresses 4-7
- TXADDRESS : longword; // Transmit address select
- RXADDRESSES : longword; // Receive address select
- CRCCNF : longword; // CRC configuration
- CRCPOLY : longword; // CRC polynomial
- CRCINIT : longword; // CRC initial value
- UNUSED0 : longword; // Unspecified
- TIFS : longword; // Inter Frame Spacing in us
- RSSISAMPLE : longword; // RSSI sample
- RESERVED8 : longword;
- STATE : longword; // Current radio state
- DATAWHITEIV : longword; // Data whitening initial value
- RESERVED9 : array[0..1] of longword;
- BCC : longword; // Bit counter compare
- RESERVED10 : array[0..38] of longword;
- DAB : array[0..7] of longword; // Description collection[0]: Device address base segment 0
- DAP : array[0..7] of longword; // Description collection[0]: Device address prefix 0
- DACNF : longword; // Device address match configuration
- RESERVED11 : array[0..2] of longword;
- MODECNF0 : longword; // Radio mode configuration register 0
- RESERVED12 : array[0..617] of longword;
- POWER : longword; // Peripheral power control
- end;
- TUARTE_Registers = record // UARTE Structure
- TASKS_STARTRX : longword; // Start UART receiver
- TASKS_STOPRX : longword; // Stop UART receiver
- TASKS_STARTTX : longword; // Start UART transmitter
- TASKS_STOPTX : longword; // Stop UART transmitter
- RESERVED0 : array[0..6] of longword;
- TASKS_FLUSHRX : longword; // Flush RX FIFO into RX buffer
- RESERVED1 : array[0..51] of longword;
- EVENTS_CTS : longword; // CTS is activated (set low). Clear To Send.
- EVENTS_NCTS : longword; // CTS is deactivated (set high). Not Clear To Send.
- EVENTS_RXDRDY : longword; // Data received in RXD (but potentially not yet transferred to
- RESERVED2 : longword;
- EVENTS_ENDRX : longword; // Receive buffer is filled up
- RESERVED3 : array[0..1] of longword;
- EVENTS_TXDRDY : longword; // Data sent from TXD
- EVENTS_ENDTX : longword; // Last TX byte transmitted
- EVENTS_ERROR : longword; // Error detected
- RESERVED4 : array[0..6] of longword;
- EVENTS_RXTO : longword; // Receiver timeout
- RESERVED5 : longword;
- EVENTS_RXSTARTED : longword; // UART receiver has started
- EVENTS_TXSTARTED : longword; // UART transmitter has started
- RESERVED6 : longword;
- EVENTS_TXSTOPPED : longword; // Transmitter stopped
- RESERVED7 : array[0..40] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED8 : array[0..62] of longword;
- INTEN : longword; // Enable or disable interrupt
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED9 : array[0..92] of longword;
- ERRORSRC : longword; // Error source
- RESERVED10 : array[0..30] of longword;
- ENABLE : longword; // Enable UART
- RESERVED11 : longword;
- PSEL : TUARTE_PSEL_Registers; // Unspecified
- RESERVED12 : array[0..2] of longword;
- BAUDRATE : longword; // Baud rate. Accuracy depends on the HFCLK source selected.
- RESERVED13 : array[0..2] of longword;
- RXD : TUARTE_RXD_Registers; // RXD EasyDMA channel
- RESERVED14 : longword;
- TXD : TUARTE_TXD_Registers; // TXD EasyDMA channel
- RESERVED15 : array[0..6] of longword;
- CONFIG : longword; // Configuration of parity and hardware flow control
- end;
- TUART_Registers = record // UART Structure
- TASKS_STARTRX : longword; // Start UART receiver
- TASKS_STOPRX : longword; // Stop UART receiver
- TASKS_STARTTX : longword; // Start UART transmitter
- TASKS_STOPTX : longword; // Stop UART transmitter
- RESERVED0 : array[0..2] of longword;
- TASKS_SUSPEND : longword; // Suspend UART
- RESERVED1 : array[0..55] of longword;
- EVENTS_CTS : longword; // CTS is activated (set low). Clear To Send.
- EVENTS_NCTS : longword; // CTS is deactivated (set high). Not Clear To Send.
- EVENTS_RXDRDY : longword; // Data received in RXD
- RESERVED2 : array[0..3] of longword;
- EVENTS_TXDRDY : longword; // Data sent from TXD
- RESERVED3 : longword;
- EVENTS_ERROR : longword; // Error detected
- RESERVED4 : array[0..6] of longword;
- EVENTS_RXTO : longword; // Receiver timeout
- RESERVED5 : array[0..45] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED6 : array[0..63] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED7 : array[0..92] of longword;
- ERRORSRC : longword; // Error source
- RESERVED8 : array[0..30] of longword;
- ENABLE : longword; // Enable UART
- RESERVED9 : longword;
- PSELRTS : longword; // Pin select for RTS
- PSELTXD : longword; // Pin select for TXD
- PSELCTS : longword; // Pin select for CTS
- PSELRXD : longword; // Pin select for RXD
- RXD : longword; // RXD register
- TXD : longword; // TXD register
- RESERVED10 : longword;
- BAUDRATE : longword; // Baud rate
- RESERVED11 : array[0..16] of longword;
- CONFIG : longword; // Configuration of parity and hardware flow control
- end;
- TSPIM_Registers = record // SPIM Structure
- RESERVED0 : array[0..3] of longword;
- TASKS_START : longword; // Start SPI transaction
- TASKS_STOP : longword; // Stop SPI transaction
- RESERVED1 : longword;
- TASKS_SUSPEND : longword; // Suspend SPI transaction
- TASKS_RESUME : longword; // Resume SPI transaction
- RESERVED2 : array[0..55] of longword;
- EVENTS_STOPPED : longword; // SPI transaction has stopped
- RESERVED3 : array[0..1] of longword;
- EVENTS_ENDRX : longword; // End of RXD buffer reached
- RESERVED4 : longword;
- EVENTS_END : longword; // End of RXD buffer and TXD buffer reached
- RESERVED5 : longword;
- EVENTS_ENDTX : longword; // End of TXD buffer reached
- RESERVED6 : array[0..9] of longword;
- EVENTS_STARTED : longword; // Transaction started
- RESERVED7 : array[0..43] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED8 : array[0..63] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED9 : array[0..124] of longword;
- ENABLE : longword; // Enable SPIM
- RESERVED10 : longword;
- PSEL : TSPIM_PSEL_Registers; // Unspecified
- RESERVED11 : array[0..3] of longword;
- FREQUENCY : longword; // SPI frequency
- RESERVED12 : array[0..2] of longword;
- RXD : TSPIM_RXD_Registers; // RXD EasyDMA channel
- TXD : TSPIM_TXD_Registers; // TXD EasyDMA channel
- CONFIG : longword; // Configuration register
- RESERVED13 : array[0..25] of longword;
- ORC : longword; // Over-read character. Character clocked out in case and over-read
- end;
- TSPIS_Registers = record // SPIS Structure
- RESERVED0 : array[0..8] of longword;
- TASKS_ACQUIRE : longword; // Acquire SPI semaphore
- TASKS_RELEASE : longword; // Release SPI semaphore, enabling the SPI slave to acquire it
- RESERVED1 : array[0..53] of longword;
- EVENTS_END : longword; // Granted transaction completed
- RESERVED2 : array[0..1] of longword;
- EVENTS_ENDRX : longword; // End of RXD buffer reached
- RESERVED3 : array[0..4] of longword;
- EVENTS_ACQUIRED : longword; // Semaphore acquired
- RESERVED4 : array[0..52] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED5 : array[0..63] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED6 : array[0..60] of longword;
- SEMSTAT : longword; // Semaphore status register
- RESERVED7 : array[0..14] of longword;
- STATUS : longword; // Status from last transaction
- RESERVED8 : array[0..46] of longword;
- ENABLE : longword; // Enable SPI slave
- RESERVED9 : longword;
- PSEL : TSPIS_PSEL_Registers; // Unspecified
- RESERVED10 : array[0..6] of longword;
- RXD : TSPIS_RXD_Registers; // Unspecified
- RESERVED11 : longword;
- TXD : TSPIS_TXD_Registers; // Unspecified
- RESERVED12 : longword;
- CONFIG : longword; // Configuration register
- RESERVED13 : longword;
- DEF : longword; // Default character. Character clocked out in case of an ignored
- RESERVED14 : array[0..23] of longword;
- ORC : longword; // Over-read character
- end;
- TTWIM_Registers = record // TWIM Structure
- TASKS_STARTRX : longword; // Start TWI receive sequence
- RESERVED0 : longword;
- TASKS_STARTTX : longword; // Start TWI transmit sequence
- RESERVED1 : array[0..1] of longword;
- TASKS_STOP : longword; // Stop TWI transaction. Must be issued while the TWI master is
- RESERVED2 : longword;
- TASKS_SUSPEND : longword; // Suspend TWI transaction
- TASKS_RESUME : longword; // Resume TWI transaction
- RESERVED3 : array[0..55] of longword;
- EVENTS_STOPPED : longword; // TWI stopped
- RESERVED4 : array[0..6] of longword;
- EVENTS_ERROR : longword; // TWI error
- RESERVED5 : array[0..7] of longword;
- EVENTS_SUSPENDED : longword; // Last byte has been sent out after the SUSPEND task has been
- EVENTS_RXSTARTED : longword; // Receive sequence started
- EVENTS_TXSTARTED : longword; // Transmit sequence started
- RESERVED6 : array[0..1] of longword;
- EVENTS_LASTRX : longword; // Byte boundary, starting to receive the last byte
- EVENTS_LASTTX : longword; // Byte boundary, starting to transmit the last byte
- RESERVED7 : array[0..38] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED8 : array[0..62] of longword;
- INTEN : longword; // Enable or disable interrupt
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED9 : array[0..109] of longword;
- ERRORSRC : longword; // Error source
- RESERVED10 : array[0..13] of longword;
- ENABLE : longword; // Enable TWIM
- RESERVED11 : longword;
- PSEL : TTWIM_PSEL_Registers; // Unspecified
- RESERVED12 : array[0..4] of longword;
- FREQUENCY : longword; // TWI frequency
- RESERVED13 : array[0..2] of longword;
- RXD : TTWIM_RXD_Registers; // RXD EasyDMA channel
- TXD : TTWIM_TXD_Registers; // TXD EasyDMA channel
- RESERVED14 : array[0..12] of longword;
- ADDRESS : longword; // Address used in the TWI transfer
- end;
- TTWIS_Registers = record // TWIS Structure
- RESERVED0 : array[0..4] of longword;
- TASKS_STOP : longword; // Stop TWI transaction
- RESERVED1 : longword;
- TASKS_SUSPEND : longword; // Suspend TWI transaction
- TASKS_RESUME : longword; // Resume TWI transaction
- RESERVED2 : array[0..2] of longword;
- TASKS_PREPARERX : longword; // Prepare the TWI slave to respond to a write command
- TASKS_PREPARETX : longword; // Prepare the TWI slave to respond to a read command
- RESERVED3 : array[0..50] of longword;
- EVENTS_STOPPED : longword; // TWI stopped
- RESERVED4 : array[0..6] of longword;
- EVENTS_ERROR : longword; // TWI error
- RESERVED5 : array[0..8] of longword;
- EVENTS_RXSTARTED : longword; // Receive sequence started
- EVENTS_TXSTARTED : longword; // Transmit sequence started
- RESERVED6 : array[0..3] of longword;
- EVENTS_WRITE : longword; // Write command received
- EVENTS_READ : longword; // Read command received
- RESERVED7 : array[0..36] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED8 : array[0..62] of longword;
- INTEN : longword; // Enable or disable interrupt
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED9 : array[0..112] of longword;
- ERRORSRC : longword; // Error source
- MATCH : longword; // Status register indicating which address had a match
- RESERVED10 : array[0..9] of longword;
- ENABLE : longword; // Enable TWIS
- RESERVED11 : longword;
- PSEL : TTWIS_PSEL_Registers; // Unspecified
- RESERVED12 : array[0..8] of longword;
- RXD : TTWIS_RXD_Registers; // RXD EasyDMA channel
- RESERVED13 : longword;
- TXD : TTWIS_TXD_Registers; // TXD EasyDMA channel
- RESERVED14 : array[0..13] of longword;
- ADDRESS : array[0..1] of longword; // Description collection[0]: TWI slave address 0
- RESERVED15 : longword;
- CONFIG : longword; // Configuration register for the address match mechanism
- RESERVED16 : array[0..9] of longword;
- ORC : longword; // Over-read character. Character sent out in case of an over-read
- end;
- TSPI_Registers = record // SPI Structure
- RESERVED0 : array[0..65] of longword;
- EVENTS_READY : longword; // TXD byte sent and RXD byte received
- RESERVED1 : array[0..125] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED2 : array[0..124] of longword;
- ENABLE : longword; // Enable SPI
- RESERVED3 : longword;
- PSEL : TSPI_PSEL_Registers; // Unspecified
- RESERVED4 : longword;
- RXD : longword; // RXD register
- TXD : longword; // TXD register
- RESERVED5 : longword;
- FREQUENCY : longword; // SPI frequency
- RESERVED6 : array[0..10] of longword;
- CONFIG : longword; // Configuration register
- end;
- TTWI_Registers = record // TWI Structure
- TASKS_STARTRX : longword; // Start TWI receive sequence
- RESERVED0 : longword;
- TASKS_STARTTX : longword; // Start TWI transmit sequence
- RESERVED1 : array[0..1] of longword;
- TASKS_STOP : longword; // Stop TWI transaction
- RESERVED2 : longword;
- TASKS_SUSPEND : longword; // Suspend TWI transaction
- TASKS_RESUME : longword; // Resume TWI transaction
- RESERVED3 : array[0..55] of longword;
- EVENTS_STOPPED : longword; // TWI stopped
- EVENTS_RXDREADY : longword; // TWI RXD byte received
- RESERVED4 : array[0..3] of longword;
- EVENTS_TXDSENT : longword; // TWI TXD byte sent
- RESERVED5 : longword;
- EVENTS_ERROR : longword; // TWI error
- RESERVED6 : array[0..3] of longword;
- EVENTS_BB : longword; // TWI byte boundary, generated before each byte that is sent or
- RESERVED7 : array[0..2] of longword;
- EVENTS_SUSPENDED : longword; // TWI entered the suspended state
- RESERVED8 : array[0..44] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED9 : array[0..63] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED10 : array[0..109] of longword;
- ERRORSRC : longword; // Error source
- RESERVED11 : array[0..13] of longword;
- ENABLE : longword; // Enable TWI
- RESERVED12 : longword;
- PSELSCL : longword; // Pin select for SCL
- PSELSDA : longword; // Pin select for SDA
- RESERVED13 : array[0..1] of longword;
- RXD : longword; // RXD register
- TXD : longword; // TXD register
- RESERVED14 : longword;
- FREQUENCY : longword; // TWI frequency
- RESERVED15 : array[0..23] of longword;
- ADDRESS : longword; // Address used in the TWI transfer
- end;
- TNFCT_Registers = record // NFCT Structure
- TASKS_ACTIVATE : longword; // Activate NFC peripheral for incoming and outgoing frames, change
- TASKS_DISABLE : longword; // Disable NFC peripheral
- TASKS_SENSE : longword; // Enable NFC sense field mode, change state to sense mode
- TASKS_STARTTX : longword; // Start transmission of a outgoing frame, change state to transmit
- RESERVED0 : array[0..2] of longword;
- TASKS_ENABLERXDATA : longword; // Initializes the EasyDMA for receive.
- RESERVED1 : longword;
- TASKS_GOIDLE : longword; // Force state machine to IDLE state
- TASKS_GOSLEEP : longword; // Force state machine to SLEEP_A state
- RESERVED2 : array[0..52] of longword;
- EVENTS_READY : longword; // The NFC peripheral is ready to receive and send frames
- EVENTS_FIELDDETECTED : longword; // Remote NFC field detected
- EVENTS_FIELDLOST : longword; // Remote NFC field lost
- EVENTS_TXFRAMESTART : longword; // Marks the start of the first symbol of a transmitted frame
- EVENTS_TXFRAMEEND : longword; // Marks the end of the last transmitted on-air symbol of a frame
- EVENTS_RXFRAMESTART : longword; // Marks the end of the first symbol of a received frame
- EVENTS_RXFRAMEEND : longword; // Received data have been checked (CRC, parity) and transferred
- EVENTS_ERROR : longword; // NFC error reported. The ERRORSTATUS register contains details
- RESERVED3 : array[0..1] of longword;
- EVENTS_RXERROR : longword; // NFC RX frame error reported. The FRAMESTATUS.RX register contains
- EVENTS_ENDRX : longword; // RX buffer (as defined by PACKETPTR and MAXLEN) in Data RAM full.
- EVENTS_ENDTX : longword; // Transmission of data in RAM has ended, and EasyDMA has ended
- RESERVED4 : longword;
- EVENTS_AUTOCOLRESSTARTED : longword; // Auto collision resolution process has started
- RESERVED5 : array[0..2] of longword;
- EVENTS_COLLISION : longword; // NFC Auto collision resolution error reported.
- EVENTS_SELECTED : longword; // NFC Auto collision resolution successfully completed
- EVENTS_STARTED : longword; // EasyDMA is ready to receive or send frames.
- RESERVED6 : array[0..42] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED7 : array[0..62] of longword;
- INTEN : longword; // Enable or disable interrupt
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED8 : array[0..61] of longword;
- ERRORSTATUS : longword; // NFC Error Status register
- RESERVED9 : longword;
- FRAMESTATUS : TNFCT_FRAMESTATUS_Registers; // Unspecified
- RESERVED10 : array[0..7] of longword;
- CURRENTLOADCTRL : longword; // Current value driven to the NFC Load Control
- RESERVED11 : array[0..1] of longword;
- FIELDPRESENT : longword; // Indicates the presence or not of a valid field
- RESERVED12 : array[0..48] of longword;
- FRAMEDELAYMIN : longword; // Minimum frame delay
- FRAMEDELAYMAX : longword; // Maximum frame delay
- FRAMEDELAYMODE : longword; // Configuration register for the Frame Delay Timer
- PACKETPTR : longword; // Packet pointer for TXD and RXD data storage in Data RAM
- MAXLEN : longword; // Size of allocated for TXD and RXD data storage buffer in Data
- TXD : TNFCT_TXD_Registers; // Unspecified
- RXD : TNFCT_RXD_Registers; // Unspecified
- RESERVED13 : array[0..25] of longword;
- NFCID1_LAST : longword; // Last NFCID1 part (4, 7 or 10 bytes ID)
- NFCID1_2ND_LAST : longword; // Second last NFCID1 part (7 or 10 bytes ID)
- NFCID1_3RD_LAST : longword; // Third last NFCID1 part (10 bytes ID)
- RESERVED14 : longword;
- SENSRES : longword; // NFC-A SENS_RES auto-response settings
- SELRES : longword; // NFC-A SEL_RES auto-response settings
- end;
- TGPIOTE_Registers = record // GPIOTE Structure
- TASKS_OUT : array[0..7] of longword; // Description collection[0]: Task for writing to pin specified
- RESERVED0 : array[0..3] of longword;
- TASKS_SET : array[0..7] of longword; // Description collection[0]: Task for writing to pin specified
- RESERVED1 : array[0..3] of longword;
- TASKS_CLR : array[0..7] of longword; // Description collection[0]: Task for writing to pin specified
- RESERVED2 : array[0..31] of longword;
- EVENTS_IN : array[0..7] of longword; // Description collection[0]: Event generated from pin specified
- RESERVED3 : array[0..22] of longword;
- EVENTS_PORT : longword; // Event generated from multiple input GPIO pins with SENSE mechanism
- RESERVED4 : array[0..96] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED5 : array[0..128] of longword;
- CONFIG : array[0..7] of longword; // Description collection[0]: Configuration for OUT[n], SET[n]
- end;
- TSAADC_Registers = record // SAADC Structure
- TASKS_START : longword; // Start the ADC and prepare the result buffer in RAM
- TASKS_SAMPLE : longword; // Take one ADC sample, if scan is enabled all channels are sampled
- TASKS_STOP : longword; // Stop the ADC and terminate any on-going conversion
- TASKS_CALIBRATEOFFSET : longword; // Starts offset auto-calibration
- RESERVED0 : array[0..59] of longword;
- EVENTS_STARTED : longword; // The ADC has started
- EVENTS_END : longword; // The ADC has filled up the Result buffer
- EVENTS_DONE : longword; // A conversion task has been completed. Depending on the mode,
- EVENTS_RESULTDONE : longword; // A result is ready to get transferred to RAM.
- EVENTS_CALIBRATEDONE : longword; // Calibration is complete
- EVENTS_STOPPED : longword; // The ADC has stopped
- EVENTS_CH : array[0..7] of TSAADC_EVENTS_CH_Registers; // Unspecified
- RESERVED1 : array[0..105] of longword;
- INTEN : longword; // Enable or disable interrupt
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED2 : array[0..60] of longword;
- STATUS : longword; // Status
- RESERVED3 : array[0..62] of longword;
- ENABLE : longword; // Enable or disable ADC
- RESERVED4 : array[0..2] of longword;
- CH : array[0..7] of TSAADC_CH_Registers; // Unspecified
- RESERVED5 : array[0..23] of longword;
- RESOLUTION : longword; // Resolution configuration
- OVERSAMPLE : longword; // Oversampling configuration. OVERSAMPLE should not be combined
- SAMPLERATE : longword; // Controls normal or continuous sample rate
- RESERVED6 : array[0..11] of longword;
- RESULT : TSAADC_RESULT_Registers; // RESULT EasyDMA channel
- end;
- TTIMER_Registers = record // TIMER Structure
- TASKS_START : longword; // Start Timer
- TASKS_STOP : longword; // Stop Timer
- TASKS_COUNT : longword; // Increment Timer (Counter mode only)
- TASKS_CLEAR : longword; // Clear time
- TASKS_SHUTDOWN : longword; // Deprecated register - Shut down timer
- RESERVED0 : array[0..10] of longword;
- TASKS_CAPTURE : array[0..5] of longword; // Description collection[0]: Capture Timer value to CC[0] register
- RESERVED1 : array[0..57] of longword;
- EVENTS_COMPARE : array[0..5] of longword; // Description collection[0]: Compare event on CC[0] match
- RESERVED2 : array[0..41] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED3 : array[0..63] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED4 : array[0..125] of longword;
- MODE : longword; // Timer mode selection
- BITMODE : longword; // Configure the number of bits used by the TIMER
- RESERVED5 : longword;
- PRESCALER : longword; // Timer prescaler register
- RESERVED6 : array[0..10] of longword;
- CC : array[0..5] of longword; // Description collection[0]: Capture/Compare register 0
- end;
- TRTC_Registers = record // RTC Structure
- TASKS_START : longword; // Start RTC COUNTER
- TASKS_STOP : longword; // Stop RTC COUNTER
- TASKS_CLEAR : longword; // Clear RTC COUNTER
- TASKS_TRIGOVRFLW : longword; // Set COUNTER to 0xFFFFF0
- RESERVED0 : array[0..59] of longword;
- EVENTS_TICK : longword; // Event on COUNTER increment
- EVENTS_OVRFLW : longword; // Event on COUNTER overflow
- RESERVED1 : array[0..13] of longword;
- EVENTS_COMPARE : array[0..3] of longword; // Description collection[0]: Compare event on CC[0] match
- RESERVED2 : array[0..108] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED3 : array[0..12] of longword;
- EVTEN : longword; // Enable or disable event routing
- EVTENSET : longword; // Enable event routing
- EVTENCLR : longword; // Disable event routing
- RESERVED4 : array[0..109] of longword;
- COUNTER : longword; // Current COUNTER value
- PRESCALER : longword; // 12 bit prescaler for COUNTER frequency (32768/(PRESCALER+1)).Must
- RESERVED5 : array[0..12] of longword;
- CC : array[0..3] of longword; // Description collection[0]: Compare register 0
- end;
- TTEMP_Registers = record // TEMP Structure
- TASKS_START : longword; // Start temperature measurement
- TASKS_STOP : longword; // Stop temperature measurement
- RESERVED0 : array[0..61] of longword;
- EVENTS_DATARDY : longword; // Temperature measurement complete, data ready
- RESERVED1 : array[0..127] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED2 : array[0..126] of longword;
- TEMP : longint; // Temperature in degC (0.25deg steps)
- RESERVED3 : array[0..4] of longword;
- A0 : longword; // Slope of 1st piece wise linear function
- A1 : longword; // Slope of 2nd piece wise linear function
- A2 : longword; // Slope of 3rd piece wise linear function
- A3 : longword; // Slope of 4th piece wise linear function
- A4 : longword; // Slope of 5th piece wise linear function
- A5 : longword; // Slope of 6th piece wise linear function
- RESERVED4 : array[0..1] of longword;
- B0 : longword; // y-intercept of 1st piece wise linear function
- B1 : longword; // y-intercept of 2nd piece wise linear function
- B2 : longword; // y-intercept of 3rd piece wise linear function
- B3 : longword; // y-intercept of 4th piece wise linear function
- B4 : longword; // y-intercept of 5th piece wise linear function
- B5 : longword; // y-intercept of 6th piece wise linear function
- RESERVED5 : array[0..1] of longword;
- T0 : longword; // End point of 1st piece wise linear function
- T1 : longword; // End point of 2nd piece wise linear function
- T2 : longword; // End point of 3rd piece wise linear function
- T3 : longword; // End point of 4th piece wise linear function
- T4 : longword; // End point of 5th piece wise linear function
- end;
- TRNG_Registers = record // RNG Structure
- TASKS_START : longword; // Task starting the random number generator
- TASKS_STOP : longword; // Task stopping the random number generator
- RESERVED0 : array[0..61] of longword;
- EVENTS_VALRDY : longword; // Event being generated for every new random number written to
- RESERVED1 : array[0..62] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED2 : array[0..63] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED3 : array[0..125] of longword;
- CONFIG : longword; // Configuration register
- VALUE : longword; // Output random number
- end;
- TECB_Registers = record // ECB Structure
- TASKS_STARTECB : longword; // Start ECB block encrypt
- TASKS_STOPECB : longword; // Abort a possible executing ECB operation
- RESERVED0 : array[0..61] of longword;
- EVENTS_ENDECB : longword; // ECB block encrypt complete
- EVENTS_ERRORECB : longword; // ECB block encrypt aborted because of a STOPECB task or due to
- RESERVED1 : array[0..126] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED2 : array[0..125] of longword;
- ECBDATAPTR : longword; // ECB block encrypt memory pointers
- end;
- TCCM_Registers = record // CCM Structure
- TASKS_KSGEN : longword; // Start generation of key-stream. This operation will stop by
- TASKS_CRYPT : longword; // Start encryption/decryption. This operation will stop by itself
- TASKS_STOP : longword; // Stop encryption/decryption
- RESERVED0 : array[0..60] of longword;
- EVENTS_ENDKSGEN : longword; // Key-stream generation complete
- EVENTS_ENDCRYPT : longword; // Encrypt/decrypt complete
- EVENTS_ERROR : longword; // CCM error event
- RESERVED1 : array[0..60] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED2 : array[0..63] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED3 : array[0..60] of longword;
- MICSTATUS : longword; // MIC check result
- RESERVED4 : array[0..62] of longword;
- ENABLE : longword; // Enable
- MODE : longword; // Operation mode
- CNFPTR : longword; // Pointer to data structure holding AES key and NONCE vector
- INPTR : longword; // Input pointer
- OUTPTR : longword; // Output pointer
- SCRATCHPTR : longword; // Pointer to data area used for temporary storage
- end;
- TAAR_Registers = record // AAR Structure
- TASKS_START : longword; // Start resolving addresses based on IRKs specified in the IRK
- RESERVED0 : longword;
- TASKS_STOP : longword; // Stop resolving addresses
- RESERVED1 : array[0..60] of longword;
- EVENTS_END : longword; // Address resolution procedure complete
- EVENTS_RESOLVED : longword; // Address resolved
- EVENTS_NOTRESOLVED : longword; // Address not resolved
- RESERVED2 : array[0..125] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED3 : array[0..60] of longword;
- STATUS : longword; // Resolution status
- RESERVED4 : array[0..62] of longword;
- ENABLE : longword; // Enable AAR
- NIRK : longword; // Number of IRKs
- IRKPTR : longword; // Pointer to IRK data structure
- RESERVED5 : longword;
- ADDRPTR : longword; // Pointer to the resolvable address
- SCRATCHPTR : longword; // Pointer to data area used for temporary storage
- end;
- TWDT_Registers = record // WDT Structure
- TASKS_START : longword; // Start the watchdog
- RESERVED0 : array[0..62] of longword;
- EVENTS_TIMEOUT : longword; // Watchdog timeout
- RESERVED1 : array[0..127] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED2 : array[0..60] of longword;
- RUNSTATUS : longword; // Run status
- REQSTATUS : longword; // Request status
- RESERVED3 : array[0..62] of longword;
- CRV : longword; // Counter reload value
- RREN : longword; // Enable register for reload request registers
- CONFIG : longword; // Configuration register
- RESERVED4 : array[0..59] of longword;
- RR : array[0..7] of longword; // Description collection[0]: Reload request 0
- end;
- TQDEC_Registers = record // QDEC Structure
- TASKS_START : longword; // Task starting the quadrature decoder
- TASKS_STOP : longword; // Task stopping the quadrature decoder
- TASKS_READCLRACC : longword; // Read and clear ACC and ACCDBL
- TASKS_RDCLRACC : longword; // Read and clear ACC
- TASKS_RDCLRDBL : longword; // Read and clear ACCDBL
- RESERVED0 : array[0..58] of longword;
- EVENTS_SAMPLERDY : longword; // Event being generated for every new sample value written to
- EVENTS_REPORTRDY : longword; // Non-null report ready
- EVENTS_ACCOF : longword; // ACC or ACCDBL register overflow
- EVENTS_DBLRDY : longword; // Double displacement(s) detected
- EVENTS_STOPPED : longword; // QDEC has been stopped
- RESERVED1 : array[0..58] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED2 : array[0..63] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED3 : array[0..124] of longword;
- ENABLE : longword; // Enable the quadrature decoder
- LEDPOL : longword; // LED output pin polarity
- SAMPLEPER : longword; // Sample period
- SAMPLE : longint; // Motion sample value
- REPORTPER : longword; // Number of samples to be taken before REPORTRDY and DBLRDY events
- ACC : longint; // Register accumulating the valid transitions
- ACCREAD : longint; // Snapshot of the ACC register, updated by the READCLRACC or RDCLRACC
- PSEL : TQDEC_PSEL_Registers; // Unspecified
- DBFEN : longword; // Enable input debounce filters
- RESERVED4 : array[0..4] of longword;
- LEDPRE : longword; // Time period the LED is switched ON prior to sampling
- ACCDBL : longword; // Register accumulating the number of detected double transitions
- ACCDBLREAD : longword; // Snapshot of the ACCDBL, updated by the READCLRACC or RDCLRDBL
- end;
- TCOMP_Registers = record // COMP Structure
- TASKS_START : longword; // Start comparator
- TASKS_STOP : longword; // Stop comparator
- TASKS_SAMPLE : longword; // Sample comparator value
- RESERVED0 : array[0..60] of longword;
- EVENTS_READY : longword; // COMP is ready and output is valid
- EVENTS_DOWN : longword; // Downward crossing
- EVENTS_UP : longword; // Upward crossing
- EVENTS_CROSS : longword; // Downward or upward crossing
- RESERVED1 : array[0..59] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED2 : array[0..62] of longword;
- INTEN : longword; // Enable or disable interrupt
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED3 : array[0..60] of longword;
- RESULT : longword; // Compare result
- RESERVED4 : array[0..62] of longword;
- ENABLE : longword; // COMP enable
- PSEL : longword; // Pin select
- REFSEL : longword; // Reference source select
- EXTREFSEL : longword; // External reference select
- RESERVED5 : array[0..7] of longword;
- TH : longword; // Threshold configuration for hysteresis unit
- MODE : longword; // Mode configuration
- HYST : longword; // Comparator hysteresis enable
- ISOURCE : longword; // Current source select on analog input
- end;
- TLPCOMP_Registers = record // LPCOMP Structure
- TASKS_START : longword; // Start comparator
- TASKS_STOP : longword; // Stop comparator
- TASKS_SAMPLE : longword; // Sample comparator value
- RESERVED0 : array[0..60] of longword;
- EVENTS_READY : longword; // LPCOMP is ready and output is valid
- EVENTS_DOWN : longword; // Downward crossing
- EVENTS_UP : longword; // Upward crossing
- EVENTS_CROSS : longword; // Downward or upward crossing
- RESERVED1 : array[0..59] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED2 : array[0..63] of longword;
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED3 : array[0..60] of longword;
- RESULT : longword; // Compare result
- RESERVED4 : array[0..62] of longword;
- ENABLE : longword; // Enable LPCOMP
- PSEL : longword; // Input pin select
- REFSEL : longword; // Reference select
- EXTREFSEL : longword; // External reference select
- RESERVED5 : array[0..3] of longword;
- ANADETECT : longword; // Analog detect configuration
- RESERVED6 : array[0..4] of longword;
- HYST : longword; // Comparator hysteresis enable
- end;
- TSWI_Registers = record // SWI Structure
- UNUSED : longword; // Unused.
- end;
- TEGU_Registers = record // EGU Structure
- TASKS_TRIGGER : array[0..15] of longword; // Description collection[0]: Trigger 0 for triggering the corresponding
- RESERVED0 : array[0..47] of longword;
- EVENTS_TRIGGERED : array[0..15] of longword; // Description collection[0]: Event number 0 generated by triggering
- RESERVED1 : array[0..111] of longword;
- INTEN : longword; // Enable or disable interrupt
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- end;
- TPWM_Registers = record // PWM Structure
- RESERVED0 : longword;
- TASKS_STOP : longword; // Stops PWM pulse generation on all channels at the end of current
- TASKS_SEQSTART : array[0..1] of longword; // Description collection[0]: Loads the first PWM value on all
- TASKS_NEXTSTEP : longword; // Steps by one value in the current sequence on all enabled channels
- RESERVED1 : array[0..59] of longword;
- EVENTS_STOPPED : longword; // Response to STOP task, emitted when PWM pulses are no longer
- EVENTS_SEQSTARTED : array[0..1] of longword; // Description collection[0]: First PWM period started on sequence
- EVENTS_SEQEND : array[0..1] of longword; // Description collection[0]: Emitted at end of every sequence
- EVENTS_PWMPERIODEND : longword; // Emitted at the end of each PWM period
- EVENTS_LOOPSDONE : longword; // Concatenated sequences have been played the amount of times
- RESERVED2 : array[0..55] of longword;
- SHORTS : longword; // Shortcut register
- RESERVED3 : array[0..62] of longword;
- INTEN : longword; // Enable or disable interrupt
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED4 : array[0..124] of longword;
- ENABLE : longword; // PWM module enable register
- MODE : longword; // Selects operating mode of the wave counter
- COUNTERTOP : longword; // Value up to which the pulse generator counter counts
- PRESCALER : longword; // Configuration for PWM_CLK
- DECODER : longword; // Configuration of the decoder
- LOOP : longword; // Amount of playback of a loop
- RESERVED5 : array[0..1] of longword;
- SEQ : array[0..1] of TPWM_SEQ_Registers; // Unspecified
- PSEL : TPWM_PSEL_Registers; // Unspecified
- end;
- TPDM_Registers = record // PDM Structure
- TASKS_START : longword; // Starts continuous PDM transfer
- TASKS_STOP : longword; // Stops PDM transfer
- RESERVED0 : array[0..61] of longword;
- EVENTS_STARTED : longword; // PDM transfer has started
- EVENTS_STOPPED : longword; // PDM transfer has finished
- EVENTS_END : longword; // The PDM has written the last sample specified by SAMPLE.MAXCNT
- RESERVED1 : array[0..124] of longword;
- INTEN : longword; // Enable or disable interrupt
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED2 : array[0..124] of longword;
- ENABLE : longword; // PDM module enable register
- PDMCLKCTRL : longword; // PDM clock generator control
- MODE : longword; // Defines the routing of the connected PDM microphones' signals
- RESERVED3 : array[0..2] of longword;
- GAINL : longword; // Left output gain adjustment
- GAINR : longword; // Right output gain adjustment
- RESERVED4 : array[0..7] of longword;
- PSEL : TPDM_PSEL_Registers; // Unspecified
- RESERVED5 : array[0..5] of longword;
- SAMPLE : TPDM_SAMPLE_Registers; // Unspecified
- end;
- TNVMC_Registers = record // NVMC Structure
- RESERVED0 : array[0..255] of longword;
- READY : longword; // Ready flag
- RESERVED1 : array[0..63] of longword;
- CONFIG : longword; // Configuration register
- ERASEPAGE : longword; // Register for erasing a page in Code area
- ERASEALL : longword; // Register for erasing all non-volatile user memory
- ERASEPCR0 : longword; // Deprecated register - Register for erasing a page in Code area.
- ERASEUICR : longword; // Register for erasing User Information Configuration Registers
- RESERVED2 : array[0..9] of longword;
- ICACHECNF : longword; // I-Code cache configuration register.
- RESERVED3 : longword;
- IHIT : longword; // I-Code cache hit counter.
- IMISS : longword; // I-Code cache miss counter.
- end;
- TPPI_Registers = record // PPI Structure
- TASKS_CHG : array[0..5] of TPPI_TASKS_CHG_Registers; // Channel group tasks
- RESERVED0 : array[0..307] of longword;
- CHEN : longword; // Channel enable register
- CHENSET : longword; // Channel enable set register
- CHENCLR : longword; // Channel enable clear register
- RESERVED1 : longword;
- CH : array[0..19] of TPPI_CH_Registers; // PPI Channel
- RESERVED2 : array[0..147] of longword;
- CHG : array[0..5] of longword; // Description collection[0]: Channel group 0
- RESERVED3 : array[0..61] of longword;
- FORK : array[0..31] of TPPI_FORK_Registers; // Fork
- end;
- TMWU_Registers = record // MWU Structure
- RESERVED0 : array[0..63] of longword;
- EVENTS_REGION : array[0..3] of TMWU_EVENTS_REGION_Registers; // Unspecified
- RESERVED1 : array[0..15] of longword;
- EVENTS_PREGION : array[0..1] of TMWU_EVENTS_PREGION_Registers; // Unspecified
- RESERVED2 : array[0..99] of longword;
- INTEN : longword; // Enable or disable interrupt
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED3 : array[0..4] of longword;
- NMIEN : longword; // Enable or disable non-maskable interrupt
- NMIENSET : longword; // Enable non-maskable interrupt
- NMIENCLR : longword; // Disable non-maskable interrupt
- RESERVED4 : array[0..52] of longword;
- PERREGION : array[0..1] of TMWU_PERREGION_Registers; // Unspecified
- RESERVED5 : array[0..63] of longword;
- REGIONEN : longword; // Enable/disable regions watch
- REGIONENSET : longword; // Enable regions watch
- REGIONENCLR : longword; // Disable regions watch
- RESERVED6 : array[0..56] of longword;
- REGION : array[0..3] of TMWU_REGION_Registers; // Unspecified
- RESERVED7 : array[0..31] of longword;
- PREGION : array[0..1] of TMWU_PREGION_Registers; // Unspecified
- end;
- TI2S_Registers = record // I2S Structure
- TASKS_START : longword; // Starts continuous I2S transfer. Also starts MCK generator when
- TASKS_STOP : longword; // Stops I2S transfer. Also stops MCK generator. Triggering this
- RESERVED0 : array[0..62] of longword;
- EVENTS_RXPTRUPD : longword; // The RXD.PTR register has been copied to internal double-buffers.
- EVENTS_STOPPED : longword; // I2S transfer stopped.
- RESERVED1 : array[0..1] of longword;
- EVENTS_TXPTRUPD : longword; // The TDX.PTR register has been copied to internal double-buffers.
- RESERVED2 : array[0..121] of longword;
- INTEN : longword; // Enable or disable interrupt
- INTENSET : longword; // Enable interrupt
- INTENCLR : longword; // Disable interrupt
- RESERVED3 : array[0..124] of longword;
- ENABLE : longword; // Enable I2S module.
- CONFIG : TI2S_CONFIG_Registers; // Unspecified
- RESERVED4 : array[0..2] of longword;
- RXD : TI2S_RXD_Registers; // Unspecified
- RESERVED5 : longword;
- TXD : TI2S_TXD_Registers; // Unspecified
- RESERVED6 : array[0..2] of longword;
- RXTXD : TI2S_RXTXD_Registers; // Unspecified
- RESERVED7 : array[0..2] of longword;
- PSEL : TI2S_PSEL_Registers; // Unspecified
- end;
- TFPU_Registers = record // FPU Structure
- UNUSED : longword; // Unused.
- end;
- TGPIO_Registers = record // GPIO Structure
- RESERVED0 : array[0..320] of longword;
- OUT : longword; // Write GPIO port
- OUTSET : longword; // Set individual bits in GPIO port
- OUTCLR : longword; // Clear individual bits in GPIO port
- &IN : longword; // Read GPIO port
- DIR : longword; // Direction of GPIO pins
- DIRSET : longword; // DIR set register
- DIRCLR : longword; // DIR clear register
- LATCH : longword; // Latch register indicating what GPIO pins that have met the criteria
- DETECTMODE : longword; // Select between default DETECT signal behaviour and LDETECT mode
- RESERVED1 : array[0..117] of longword;
- PIN_CNF : array[0..31] of longword; // Description collection[0]: Configuration of GPIO pins
- end;
- const
- FICR_BASE = $10000000;
- UICR_BASE = $10001000;
- BPROT_BASE = $40000000;
- POWER_BASE = $40000000;
- CLOCK_BASE = $40000000;
- RADIO_BASE = $40001000;
- UARTE0_BASE = $40002000;
- UART0_BASE = $40002000;
- SPIM0_BASE = $40003000;
- SPIS0_BASE = $40003000;
- TWIM0_BASE = $40003000;
- TWIS0_BASE = $40003000;
- SPI0_BASE = $40003000;
- TWI0_BASE = $40003000;
- SPIM1_BASE = $40004000;
- SPIS1_BASE = $40004000;
- TWIM1_BASE = $40004000;
- TWIS1_BASE = $40004000;
- SPI1_BASE = $40004000;
- TWI1_BASE = $40004000;
- NFCT_BASE = $40005000;
- GPIOTE_BASE = $40006000;
- SAADC_BASE = $40007000;
- TIMER0_BASE = $40008000;
- TIMER1_BASE = $40009000;
- TIMER2_BASE = $4000A000;
- RTC0_BASE = $4000B000;
- TEMP_BASE = $4000C000;
- RNG_BASE = $4000D000;
- ECB_BASE = $4000E000;
- CCM_BASE = $4000F000;
- AAR_BASE = $4000F000;
- WDT_BASE = $40010000;
- RTC1_BASE = $40011000;
- QDEC_BASE = $40012000;
- COMP_BASE = $40013000;
- LPCOMP_BASE = $40013000;
- SWI0_BASE = $40014000;
- EGU0_BASE = $40014000;
- SWI1_BASE = $40015000;
- EGU1_BASE = $40015000;
- SWI2_BASE = $40016000;
- EGU2_BASE = $40016000;
- SWI3_BASE = $40017000;
- EGU3_BASE = $40017000;
- SWI4_BASE = $40018000;
- EGU4_BASE = $40018000;
- SWI5_BASE = $40019000;
- EGU5_BASE = $40019000;
- TIMER3_BASE = $4001A000;
- TIMER4_BASE = $4001B000;
- PWM0_BASE = $4001C000;
- PDM_BASE = $4001D000;
- NVMC_BASE = $4001E000;
- PPI_BASE = $4001F000;
- MWU_BASE = $40020000;
- PWM1_BASE = $40021000;
- PWM2_BASE = $40022000;
- SPIM2_BASE = $40023000;
- SPIS2_BASE = $40023000;
- SPI2_BASE = $40023000;
- RTC2_BASE = $40024000;
- I2S_BASE = $40025000;
- FPU_BASE = $40026000;
- P0_BASE = $50000000;
- var
- FICR : TFICR_Registers absolute FICR_BASE;
- UICR : TUICR_Registers absolute UICR_BASE;
- BPROT : TBPROT_Registers absolute BPROT_BASE;
- POWER : TPOWER_Registers absolute POWER_BASE;
- CLOCK : TCLOCK_Registers absolute CLOCK_BASE;
- RADIO : TRADIO_Registers absolute RADIO_BASE;
- UARTE0 : TUARTE_Registers absolute UARTE0_BASE;
- UART0 : TUART_Registers absolute UART0_BASE;
- SPIM0 : TSPIM_Registers absolute SPIM0_BASE;
- SPIS0 : TSPIS_Registers absolute SPIS0_BASE;
- TWIM0 : TTWIM_Registers absolute TWIM0_BASE;
- TWIS0 : TTWIS_Registers absolute TWIS0_BASE;
- SPI0 : TSPI_Registers absolute SPI0_BASE;
- TWI0 : TTWI_Registers absolute TWI0_BASE;
- SPIM1 : TSPIM_Registers absolute SPIM1_BASE;
- SPIS1 : TSPIS_Registers absolute SPIS1_BASE;
- TWIM1 : TTWIM_Registers absolute TWIM1_BASE;
- TWIS1 : TTWIS_Registers absolute TWIS1_BASE;
- SPI1 : TSPI_Registers absolute SPI1_BASE;
- TWI1 : TTWI_Registers absolute TWI1_BASE;
- NFCT : TNFCT_Registers absolute NFCT_BASE;
- GPIOTE : TGPIOTE_Registers absolute GPIOTE_BASE;
- SAADC : TSAADC_Registers absolute SAADC_BASE;
- TIMER0 : TTIMER_Registers absolute TIMER0_BASE;
- TIMER1 : TTIMER_Registers absolute TIMER1_BASE;
- TIMER2 : TTIMER_Registers absolute TIMER2_BASE;
- RTC0 : TRTC_Registers absolute RTC0_BASE;
- TEMP : TTEMP_Registers absolute TEMP_BASE;
- RNG : TRNG_Registers absolute RNG_BASE;
- ECB : TECB_Registers absolute ECB_BASE;
- CCM : TCCM_Registers absolute CCM_BASE;
- AAR : TAAR_Registers absolute AAR_BASE;
- WDT : TWDT_Registers absolute WDT_BASE;
- RTC1 : TRTC_Registers absolute RTC1_BASE;
- QDEC : TQDEC_Registers absolute QDEC_BASE;
- COMP : TCOMP_Registers absolute COMP_BASE;
- LPCOMP : TLPCOMP_Registers absolute LPCOMP_BASE;
- SWI0 : TSWI_Registers absolute SWI0_BASE;
- EGU0 : TEGU_Registers absolute EGU0_BASE;
- SWI1 : TSWI_Registers absolute SWI1_BASE;
- EGU1 : TEGU_Registers absolute EGU1_BASE;
- SWI2 : TSWI_Registers absolute SWI2_BASE;
- EGU2 : TEGU_Registers absolute EGU2_BASE;
- SWI3 : TSWI_Registers absolute SWI3_BASE;
- EGU3 : TEGU_Registers absolute EGU3_BASE;
- SWI4 : TSWI_Registers absolute SWI4_BASE;
- EGU4 : TEGU_Registers absolute EGU4_BASE;
- SWI5 : TSWI_Registers absolute SWI5_BASE;
- EGU5 : TEGU_Registers absolute EGU5_BASE;
- TIMER3 : TTIMER_Registers absolute TIMER3_BASE;
- TIMER4 : TTIMER_Registers absolute TIMER4_BASE;
- PWM0 : TPWM_Registers absolute PWM0_BASE;
- PDM : TPDM_Registers absolute PDM_BASE;
- NVMC : TNVMC_Registers absolute NVMC_BASE;
- PPI : TPPI_Registers absolute PPI_BASE;
- MWU : TMWU_Registers absolute MWU_BASE;
- PWM1 : TPWM_Registers absolute PWM1_BASE;
- PWM2 : TPWM_Registers absolute PWM2_BASE;
- SPIM2 : TSPIM_Registers absolute SPIM2_BASE;
- SPIS2 : TSPIS_Registers absolute SPIS2_BASE;
- SPI2 : TSPI_Registers absolute SPI2_BASE;
- RTC2 : TRTC_Registers absolute RTC2_BASE;
- I2S : TI2S_Registers absolute I2S_BASE;
- FPU : TFPU_Registers absolute FPU_BASE;
- P0 : TGPIO_Registers absolute P0_BASE;
- implementation
- procedure Reset_interrupt; external name 'Reset_interrupt';
- procedure NonMaskableInt_interrupt; external name 'NonMaskableInt_interrupt';
- procedure HardFault_interrupt; external name 'HardFault_interrupt';
- procedure MemoryManagement_interrupt; external name 'MemoryManagement_interrupt';
- procedure BusFault_interrupt; external name 'BusFault_interrupt';
- procedure UsageFault_interrupt; external name 'UsageFault_interrupt';
- procedure SVCall_interrupt; external name 'SVCall_interrupt';
- procedure DebugMonitor_interrupt; external name 'DebugMonitor_interrupt';
- procedure PendSV_interrupt; external name 'PendSV_interrupt';
- procedure SysTick_interrupt; external name 'SysTick_interrupt';
- procedure POWER_CLOCK_interrupt; external name 'POWER_CLOCK_interrupt';
- procedure RADIO_interrupt; external name 'RADIO_interrupt';
- procedure UARTE0_UART0_interrupt; external name 'UARTE0_UART0_interrupt';
- procedure NFCT_interrupt; external name 'NFCT_interrupt';
- procedure GPIOTE_interrupt; external name 'GPIOTE_interrupt';
- procedure SAADC_interrupt; external name 'SAADC_interrupt';
- procedure TIMER0_interrupt; external name 'TIMER0_interrupt';
- procedure TIMER1_interrupt; external name 'TIMER1_interrupt';
- procedure TIMER2_interrupt; external name 'TIMER2_interrupt';
- procedure RTC0_interrupt; external name 'RTC0_interrupt';
- procedure TEMP_interrupt; external name 'TEMP_interrupt';
- procedure RNG_interrupt; external name 'RNG_interrupt';
- procedure ECB_interrupt; external name 'ECB_interrupt';
- procedure CCM_AAR_interrupt; external name 'CCM_AAR_interrupt';
- procedure WDT_interrupt; external name 'WDT_interrupt';
- procedure RTC1_interrupt; external name 'RTC1_interrupt';
- procedure QDEC_interrupt; external name 'QDEC_interrupt';
- procedure COMP_LPCOMP_interrupt; external name 'COMP_LPCOMP_interrupt';
- procedure SWI0_EGU0_interrupt; external name 'SWI0_EGU0_interrupt';
- procedure SWI1_EGU1_interrupt; external name 'SWI1_EGU1_interrupt';
- procedure SWI2_EGU2_interrupt; external name 'SWI2_EGU2_interrupt';
- procedure SWI3_EGU3_interrupt; external name 'SWI3_EGU3_interrupt';
- procedure SWI4_EGU4_interrupt; external name 'SWI4_EGU4_interrupt';
- procedure SWI5_EGU5_interrupt; external name 'SWI5_EGU5_interrupt';
- procedure TIMER3_interrupt; external name 'TIMER3_interrupt';
- procedure TIMER4_interrupt; external name 'TIMER4_interrupt';
- procedure PWM0_interrupt; external name 'PWM0_interrupt';
- procedure PDM_interrupt; external name 'PDM_interrupt';
- procedure MWU_interrupt; external name 'MWU_interrupt';
- procedure PWM1_interrupt; external name 'PWM1_interrupt';
- procedure PWM2_interrupt; external name 'PWM2_interrupt';
- procedure SPIM2_SPIS2_SPI2_interrupt; external name 'SPIM2_SPIS2_SPI2_interrupt';
- procedure RTC2_interrupt; external name 'RTC2_interrupt';
- procedure I2S_interrupt; external name 'I2S_interrupt';
- procedure FPU_interrupt; external name 'FPU_interrupt';
- {$i cortexm4f_start.inc}
- procedure Vectors; assembler; nostackframe;
- label interrupt_vectors;
- asm
- .section ".init.interrupt_vectors"
- interrupt_vectors:
- .long _stack_top
- .long Startup
- .long Reset_interrupt
- .long NonMaskableInt_interrupt
- .long HardFault_interrupt
- .long MemoryManagement_interrupt
- .long BusFault_interrupt
- .long UsageFault_interrupt
- .long 0
- .long 0
- .long 0
- .long SVCall_interrupt
- .long DebugMonitor_interrupt
- .long 0
- .long PendSV_interrupt
- .long SysTick_interrupt
- .long POWER_CLOCK_interrupt
- .long RADIO_interrupt
- .long UARTE0_UART0_interrupt
- .long 0
- .long 0
- .long NFCT_interrupt
- .long GPIOTE_interrupt
- .long SAADC_interrupt
- .long TIMER0_interrupt
- .long TIMER1_interrupt
- .long TIMER2_interrupt
- .long RTC0_interrupt
- .long TEMP_interrupt
- .long RNG_interrupt
- .long ECB_interrupt
- .long CCM_AAR_interrupt
- .long WDT_interrupt
- .long RTC1_interrupt
- .long QDEC_interrupt
- .long COMP_LPCOMP_interrupt
- .long SWI0_EGU0_interrupt
- .long SWI1_EGU1_interrupt
- .long SWI2_EGU2_interrupt
- .long SWI3_EGU3_interrupt
- .long SWI4_EGU4_interrupt
- .long SWI5_EGU5_interrupt
- .long TIMER3_interrupt
- .long TIMER4_interrupt
- .long PWM0_interrupt
- .long PDM_interrupt
- .long 0
- .long 0
- .long MWU_interrupt
- .long PWM1_interrupt
- .long PWM2_interrupt
- .long SPIM2_SPIS2_SPI2_interrupt
- .long RTC2_interrupt
- .long I2S_interrupt
- .long FPU_interrupt
- .weak Reset_interrupt
- .weak NonMaskableInt_interrupt
- .weak HardFault_interrupt
- .weak MemoryManagement_interrupt
- .weak BusFault_interrupt
- .weak UsageFault_interrupt
- .weak SVCall_interrupt
- .weak DebugMonitor_interrupt
- .weak PendSV_interrupt
- .weak SysTick_interrupt
- .weak POWER_CLOCK_interrupt
- .weak RADIO_interrupt
- .weak UARTE0_UART0_interrupt
- .weak NFCT_interrupt
- .weak GPIOTE_interrupt
- .weak SAADC_interrupt
- .weak TIMER0_interrupt
- .weak TIMER1_interrupt
- .weak TIMER2_interrupt
- .weak RTC0_interrupt
- .weak TEMP_interrupt
- .weak RNG_interrupt
- .weak ECB_interrupt
- .weak CCM_AAR_interrupt
- .weak WDT_interrupt
- .weak RTC1_interrupt
- .weak QDEC_interrupt
- .weak COMP_LPCOMP_interrupt
- .weak SWI0_EGU0_interrupt
- .weak SWI1_EGU1_interrupt
- .weak SWI2_EGU2_interrupt
- .weak SWI3_EGU3_interrupt
- .weak SWI4_EGU4_interrupt
- .weak SWI5_EGU5_interrupt
- .weak TIMER3_interrupt
- .weak TIMER4_interrupt
- .weak PWM0_interrupt
- .weak PDM_interrupt
- .weak MWU_interrupt
- .weak PWM1_interrupt
- .weak PWM2_interrupt
- .weak SPIM2_SPIS2_SPI2_interrupt
- .weak RTC2_interrupt
- .weak I2S_interrupt
- .weak FPU_interrupt
- .set Reset_interrupt, HaltProc
- .set NonMaskableInt_interrupt, HaltProc
- .set HardFault_interrupt, HaltProc
- .set MemoryManagement_interrupt, HaltProc
- .set BusFault_interrupt, HaltProc
- .set UsageFault_interrupt, HaltProc
- .set SVCall_interrupt, HaltProc
- .set DebugMonitor_interrupt, HaltProc
- .set PendSV_interrupt, HaltProc
- .set SysTick_interrupt, HaltProc
- .set POWER_CLOCK_interrupt, HaltProc
- .set RADIO_interrupt, HaltProc
- .set UARTE0_UART0_interrupt, HaltProc
- .set NFCT_interrupt, HaltProc
- .set GPIOTE_interrupt, HaltProc
- .set SAADC_interrupt, HaltProc
- .set TIMER0_interrupt, HaltProc
- .set TIMER1_interrupt, HaltProc
- .set TIMER2_interrupt, HaltProc
- .set RTC0_interrupt, HaltProc
- .set TEMP_interrupt, HaltProc
- .set RNG_interrupt, HaltProc
- .set ECB_interrupt, HaltProc
- .set CCM_AAR_interrupt, HaltProc
- .set WDT_interrupt, HaltProc
- .set RTC1_interrupt, HaltProc
- .set QDEC_interrupt, HaltProc
- .set COMP_LPCOMP_interrupt, HaltProc
- .set SWI0_EGU0_interrupt, HaltProc
- .set SWI1_EGU1_interrupt, HaltProc
- .set SWI2_EGU2_interrupt, HaltProc
- .set SWI3_EGU3_interrupt, HaltProc
- .set SWI4_EGU4_interrupt, HaltProc
- .set SWI5_EGU5_interrupt, HaltProc
- .set TIMER3_interrupt, HaltProc
- .set TIMER4_interrupt, HaltProc
- .set PWM0_interrupt, HaltProc
- .set PDM_interrupt, HaltProc
- .set MWU_interrupt, HaltProc
- .set PWM1_interrupt, HaltProc
- .set PWM2_interrupt, HaltProc
- .set SPIM2_SPIS2_SPI2_interrupt, HaltProc
- .set RTC2_interrupt, HaltProc
- .set I2S_interrupt, HaltProc
- .set FPU_interrupt, HaltProc
- .text
- end;
- end.
|