|
@@ -1,2431 +0,0 @@
|
|
-unit nrf52832;
|
|
|
|
-
|
|
|
|
-{$goto on}
|
|
|
|
-
|
|
|
|
-interface
|
|
|
|
-
|
|
|
|
-{************************************************************************************************** } {*
|
|
|
|
- * @file nrf52.h
|
|
|
|
- *
|
|
|
|
- * @brief CMSIS Cortex-M4 Peripheral Access Layer Header File for
|
|
|
|
- * nrf52 from Nordic Semiconductor.
|
|
|
|
- *
|
|
|
|
- * @version V1
|
|
|
|
- * @date 23. February 2016
|
|
|
|
- *
|
|
|
|
- * @note Generated with SVDConv V2.81d
|
|
|
|
- * from CMSIS SVD File 'nrf52.xml' Version 1,
|
|
|
|
- *
|
|
|
|
- * The Contents of this file are made available subject to the terms of
|
|
|
|
- * the BSD license.
|
|
|
|
- *
|
|
|
|
- * @par Copyright (c) 2015, 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 = (
|
|
|
|
-{ ------------------- Cortex-M4 Processor Exceptions Numbers ------------------- }
|
|
|
|
- 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
|
|
|
|
- and No Match }
|
|
|
|
- BusFault_IRQn = -11, { 5 Bus Fault, Pre-Fetch-, Memory Access Fault, other address/memory
|
|
|
|
- related Fault }
|
|
|
|
- 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 }
|
|
|
|
-{ ---------------------- nrf52 Specific Interrupt Numbers ---------------------- }
|
|
|
|
- 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 }
|
|
|
|
-);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ Processor and Core Peripheral Section ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{ ----------------Configuration of the Cortex-M4 Processor and Core Peripherals---------------- }
|
|
|
|
-
|
|
|
|
-const
|
|
|
|
- __CM4_REV = $0001; { Cortex-M4 Core Revision }
|
|
|
|
- __MPU_PRESENT = 1; { MPU present or not }
|
|
|
|
- __NVIC_PRIO_BITS = 3; { Number of Bits used for Priority Levels }
|
|
|
|
- __Vendor_SysTickConfig = 0; { Set to 1 if different SysTick Config is used }
|
|
|
|
- __FPU_PRESENT = 1; { FPU present or not }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ Device Specific Peripheral Section ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-type
|
|
|
|
-FICR_INFO_Type = record
|
|
|
|
- PART, { Part code }
|
|
|
|
- VARIANT_, { Part Variant, Hardware version and Production configuration }
|
|
|
|
- PACKAGE, { Package option }
|
|
|
|
- RAM, { RAM variant }
|
|
|
|
- FLASH: longword; { Flash variant }
|
|
|
|
- UNUSED0: array [0..2] of longword; { Description collection[0]: Unspecified }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-FICR_TEMP_Type = record
|
|
|
|
- A0, { Slope definition A0. }
|
|
|
|
- A1, { Slope definition A1. }
|
|
|
|
- A2, { Slope definition A2. }
|
|
|
|
- A3, { Slope definition A3. }
|
|
|
|
- A4, { Slope definition A4. }
|
|
|
|
- A5, { Slope definition A5. }
|
|
|
|
- B0, { y-intercept B0. }
|
|
|
|
- B1, { y-intercept B1. }
|
|
|
|
- B2, { y-intercept B2. }
|
|
|
|
- B3, { y-intercept B3. }
|
|
|
|
- B4, { y-intercept B4. }
|
|
|
|
- B5, { y-intercept B5. }
|
|
|
|
- T0, { Segment end T0. }
|
|
|
|
- T1, { Segment end T1. }
|
|
|
|
- T2, { Segment end T2. }
|
|
|
|
- T3, { Segment end T3. }
|
|
|
|
- T4: longword; { Segment end T4. }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-FICR_NFC_Type = record
|
|
|
|
- TAGHEADER0, { Default header for NFC Tag. Software can read these values to
|
|
|
|
- populate NFCID1_3RD_LAST, NFCID1_2ND_LAST and NFCID1_LAST. }
|
|
|
|
- TAGHEADER1, { Default header for NFC Tag. Software can read these values to
|
|
|
|
- populate NFCID1_3RD_LAST, NFCID1_2ND_LAST and NFCID1_LAST. }
|
|
|
|
- TAGHEADER2, { Default header for NFC Tag. Software can read these values to
|
|
|
|
- populate NFCID1_3RD_LAST, NFCID1_2ND_LAST and NFCID1_LAST. }
|
|
|
|
- TAGHEADER3: longword; { Default header for NFC Tag. Software can read these values to
|
|
|
|
- populate NFCID1_3RD_LAST, NFCID1_2ND_LAST and NFCID1_LAST. }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-POWER_RAM_Type = record
|
|
|
|
- POWER, { Description cluster[0]: RAM0 power control register }
|
|
|
|
- POWERSET, { Description cluster[0]: RAM0 power control set register }
|
|
|
|
- POWERCLR, { Description cluster[0]: RAM0 power control clear register }
|
|
|
|
- RESERVED0: longword;
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-AMLI_RAMPRI_Type = record
|
|
|
|
- CPU0, { AHB bus master priority register for CPU0 }
|
|
|
|
- SPIS1, { AHB bus master priority register for SPIM1, SPIS1, TWIM1 and
|
|
|
|
- TWIS1 }
|
|
|
|
- RADIO, { AHB bus master priority register for RADIO }
|
|
|
|
- ECB, { AHB bus master priority register for ECB }
|
|
|
|
- CCM, { AHB bus master priority register for CCM }
|
|
|
|
- AAR, { AHB bus master priority register for AAR }
|
|
|
|
- SAADC, { AHB bus master priority register for SAADC }
|
|
|
|
- UARTE, { AHB bus master priority register for UARTE }
|
|
|
|
- SERIAL0, { AHB bus master priority register for SPIM0, SPIS0, TWIM0 and
|
|
|
|
- TWIS0 }
|
|
|
|
- SERIAL2, { AHB bus master priority register for SPIM2 and SPIS2 }
|
|
|
|
- NFCT, { AHB bus master priority register for NFCT }
|
|
|
|
- I2S, { AHB bus master priority register for I2S }
|
|
|
|
- PDM, { AHB bus master priority register for PDM }
|
|
|
|
- PWM: longword; { AHB bus master priority register for PWM0, PWM1 and PWM2 }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-UARTE_PSEL_Type = record
|
|
|
|
- RTS, { Pin select for RTS signal }
|
|
|
|
- TXD, { Pin select for TXD signal }
|
|
|
|
- CTS, { Pin select for CTS signal }
|
|
|
|
- RXD: longword; { Pin select for RXD signal }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-UARTE_RXD_Type = record
|
|
|
|
- PTR, { Data pointer }
|
|
|
|
- MAXCNT, { Maximum number of bytes in receive buffer }
|
|
|
|
- AMOUNT: longword; { Number of bytes transferred in the last transaction }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-UARTE_TXD_Type = record
|
|
|
|
- PTR, { Data pointer }
|
|
|
|
- MAXCNT, { Maximum number of bytes in transmit buffer }
|
|
|
|
- AMOUNT: longword; { Number of bytes transferred in the last transaction }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-SPIM_PSEL_Type = record
|
|
|
|
- SCK, { Pin select for SCK }
|
|
|
|
- MOSI, { Pin select for MOSI signal }
|
|
|
|
- MISO: longword; { Pin select for MISO signal }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-SPIM_RXD_Type = record
|
|
|
|
- PTR, { Data pointer }
|
|
|
|
- MAXCNT, { Maximum number of bytes in receive buffer }
|
|
|
|
- AMOUNT, { Number of bytes transferred in the last transaction }
|
|
|
|
- LIST: longword; { EasyDMA list type }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-SPIM_TXD_Type = record
|
|
|
|
- PTR, { Data pointer }
|
|
|
|
- MAXCNT, { Maximum number of bytes in transmit buffer }
|
|
|
|
- AMOUNT, { Number of bytes transferred in the last transaction }
|
|
|
|
- LIST: longword; { EasyDMA list type }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-SPIS_PSEL_Type = record
|
|
|
|
- SCK, { Pin select for SCK }
|
|
|
|
- MISO, { Pin select for MISO signal }
|
|
|
|
- MOSI, { Pin select for MOSI signal }
|
|
|
|
- CSN: longword; { Pin select for CSN signal }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-SPIS_RXD_Type = record
|
|
|
|
- PTR, { RXD data pointer }
|
|
|
|
- MAXCNT, { Maximum number of bytes in receive buffer }
|
|
|
|
- AMOUNT: longword; { Number of bytes received in last granted transaction }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-SPIS_TXD_Type = record
|
|
|
|
- PTR, { TXD data pointer }
|
|
|
|
- MAXCNT, { Maximum number of bytes in transmit buffer }
|
|
|
|
- AMOUNT: longword; { Number of bytes transmitted in last granted transaction }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-TWIM_PSEL_Type = record
|
|
|
|
- SCL, { Pin select for SCL signal }
|
|
|
|
- SDA: longword; { Pin select for SDA signal }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-TWIM_RXD_Type = record
|
|
|
|
- PTR, { Data pointer }
|
|
|
|
- MAXCNT, { Maximum number of bytes in receive buffer }
|
|
|
|
- AMOUNT, { Number of bytes transferred in the last transaction }
|
|
|
|
- LIST: longword; { EasyDMA list type }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-TWIM_TXD_Type = record
|
|
|
|
- PTR, { Data pointer }
|
|
|
|
- MAXCNT, { Maximum number of bytes in transmit buffer }
|
|
|
|
- AMOUNT, { Number of bytes transferred in the last transaction }
|
|
|
|
- LIST: longword; { EasyDMA list type }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-TWIS_PSEL_Type = record
|
|
|
|
- SCL, { Pin select for SCL signal }
|
|
|
|
- SDA: longword; { Pin select for SDA signal }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-TWIS_RXD_Type = record
|
|
|
|
- PTR, { RXD Data pointer }
|
|
|
|
- MAXCNT, { Maximum number of bytes in RXD buffer }
|
|
|
|
- AMOUNT: longword; { Number of bytes transferred in the last RXD transaction }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-TWIS_TXD_Type = record
|
|
|
|
- PTR, { TXD Data pointer }
|
|
|
|
- MAXCNT, { Maximum number of bytes in TXD buffer }
|
|
|
|
- AMOUNT: longword; { Number of bytes transferred in the last TXD transaction }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-SPI_PSEL_Type = record
|
|
|
|
- SCK, { Pin select for SCK }
|
|
|
|
- MOSI, { Pin select for MOSI }
|
|
|
|
- MISO: longword; { Pin select for MISO }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-NFCT_FRAMESTATUS_Type = record
|
|
|
|
- RX: longword; { Result of last incoming frames }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-NFCT_TXD_Type = record
|
|
|
|
- FRAMECONFIG, { Configuration of outgoing frames }
|
|
|
|
- AMOUNT: longword; { Size of outgoing frame }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-NFCT_RXD_Type = record
|
|
|
|
- FRAMECONFIG, { Configuration of incoming frames }
|
|
|
|
- AMOUNT: longword; { Size of last incoming frame }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-SAADC_EVENTS_CH_Type = record
|
|
|
|
- LIMITH, { 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;
|
|
|
|
-
|
|
|
|
-SAADC_CH_Type = record
|
|
|
|
- PSELP, { Description cluster[0]: Input positive pin selection for CH[0] }
|
|
|
|
- PSELN, { Description cluster[0]: Input negative pin selection for CH[0] }
|
|
|
|
- CONFIG, { Description cluster[0]: Input configuration for CH[0] }
|
|
|
|
- LIMIT: longword; { Description cluster[0]: High/low limits for event monitoring
|
|
|
|
- a channel }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-SAADC_RESULT_Type = record
|
|
|
|
- PTR, { Data pointer }
|
|
|
|
- MAXCNT, { Maximum number of buffer words to transfer }
|
|
|
|
- AMOUNT: longword; { Number of buffer words transferred since last START }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-QDEC_PSEL_Type = record
|
|
|
|
- LED, { Pin select for LED signal }
|
|
|
|
- A, { Pin select for A signal }
|
|
|
|
- B: longword; { Pin select for B signal }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-PWM_SEQ_Type = record
|
|
|
|
- PTR, { Description cluster[0]: Beginning address in Data RAM of sequence
|
|
|
|
- A }
|
|
|
|
- CNT, { Description cluster[0]: Amount of values (duty cycles) in sequence
|
|
|
|
- A }
|
|
|
|
- REFRESH, { Description cluster[0]: Amount of additional PWM periods between
|
|
|
|
- samples loaded to compare register (load every CNT+1 PWM periods) }
|
|
|
|
- ENDDELAY: longword; { Description cluster[0]: Time added after the sequence }
|
|
|
|
- RESERVED1: array [0..3] of longword;
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-PWM_PSEL_Type = record
|
|
|
|
- OUT: array [0..3] of longword; { Description collection[0]: Output pin select for PWM channel
|
|
|
|
- 0 }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-PDM_PSEL_Type = record
|
|
|
|
- CLK, { Pin number configuration for PDM CLK signal }
|
|
|
|
- DIN: longword; { Pin number configuration for PDM DIN signal }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-PDM_SAMPLE_Type = record
|
|
|
|
- PTR, { RAM address pointer to write samples to with EasyDMA }
|
|
|
|
- MAXCNT: longword; { Number of samples to allocate memory for in EasyDMA mode }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-PPI_TASKS_CHG_Type = record
|
|
|
|
- EN, { Description cluster[0]: Enable channel group 0 }
|
|
|
|
- DIS: longword; { Description cluster[0]: Disable channel group 0 }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-PPI_CH_Type = record
|
|
|
|
- EEP, { Description cluster[0]: Channel 0 event end-point }
|
|
|
|
- TEP: longword; { Description cluster[0]: Channel 0 task end-point }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-PPI_FORK_Type = record
|
|
|
|
- TEP: longword; { Description cluster[0]: Channel 0 task end-point }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-MWU_EVENTS_REGION_Type = record
|
|
|
|
- WA, { Description cluster[0]: Write access to region 0 detected }
|
|
|
|
- RA: longword; { Description cluster[0]: Read access to region 0 detected }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-MWU_EVENTS_PREGION_Type = record
|
|
|
|
- WA, { Description cluster[0]: Write access to peripheral region 0
|
|
|
|
- detected }
|
|
|
|
- RA: longword; { Description cluster[0]: Read access to peripheral region 0 detected }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-MWU_PERREGION_Type = record
|
|
|
|
- SUBSTATWA, { Description cluster[0]: Source of event/interrupt in region 0,
|
|
|
|
- write access detected while corresponding subregion was enabled
|
|
|
|
- for watching }
|
|
|
|
- SUBSTATRA: longword; { Description cluster[0]: Source of event/interrupt in region 0,
|
|
|
|
- read access detected while corresponding subregion was enabled
|
|
|
|
- for watching }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-MWU_REGION_Type = record
|
|
|
|
- START, { Description cluster[0]: Start address for region 0 }
|
|
|
|
- END_, { Description cluster[0]: End address of region 0 }
|
|
|
|
- RESERVED2: array [0..1] of longword;
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-MWU_PREGION_Type = record
|
|
|
|
- START, { Description cluster[0]: Reserved for future use }
|
|
|
|
- END_, { Description cluster[0]: Reserved for future use }
|
|
|
|
- SUBS, { Description cluster[0]: Subregions of region 0 }
|
|
|
|
- RESERVED3: longword;
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-I2S_CONFIG_Type = record
|
|
|
|
- MODE, { I<sup>2</sup>S mode. }
|
|
|
|
- RXEN, { Reception (RX) enable. }
|
|
|
|
- TXEN, { Transmission (TX) enable. }
|
|
|
|
- MCKEN, { Master clock generator enable. }
|
|
|
|
- MCKFREQ, { Master clock generator frequency. }
|
|
|
|
- RATIO, { MCK / LRCK ratio. }
|
|
|
|
- SWIDTH, { Sample width. }
|
|
|
|
- ALIGN, { Alignment of sample within a frame. }
|
|
|
|
- FORMAT, { Frame format. }
|
|
|
|
- CHANNELS: longword; { Enable channels. }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-I2S_RXD_Type = record
|
|
|
|
- PTR: longword; { Receive buffer RAM start address. }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-I2S_TXD_Type = record
|
|
|
|
- PTR: longword; { Transmit buffer RAM start address. }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-I2S_RXTXD_Type = record
|
|
|
|
- MAXCNT: longword; { Size of RXD and TXD buffers. }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-I2S_PSEL_Type = record
|
|
|
|
- MCK, { Pin select for MCK signal. }
|
|
|
|
- SCK, { Pin select for SCK signal. }
|
|
|
|
- LRCK, { Pin select for LRCK signal. }
|
|
|
|
- SDIN, { Pin select for SDIN signal. }
|
|
|
|
- SDOUT: longword; { Pin select for SDOUT signal. }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ FICR ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Factory Information Configuration Registers (FICR)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_FICR_Type = record { FICR Structure }
|
|
|
|
- RESERVED0: array [0..3] of longword;
|
|
|
|
- CODEPAGESIZE, { 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: FICR_INFO_Type; { Device info }
|
|
|
|
- RESERVED4: array [0..184] of longword;
|
|
|
|
- TEMP: FICR_TEMP_Type; { Registers storing factory TEMP module linearization coefficients }
|
|
|
|
- RESERVED5: array [0..1] of longword;
|
|
|
|
- NFC: FICR_NFC_Type; { Unspecified }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ UICR ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- User Information Configuration Registers (UICR)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_UICR_Type = record { UICR Structure }
|
|
|
|
- UNUSED0, { Unspecified }
|
|
|
|
- UNUSED1, { Unspecified }
|
|
|
|
- UNUSED2, { Unspecified }
|
|
|
|
- RESERVED0,
|
|
|
|
- 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
|
|
|
|
- POWER chapter for details) }
|
|
|
|
- APPROTECT, { Access Port protection }
|
|
|
|
- NFCPINS: longword; { Setting of pins dedicated to NFC functionality: NFC antenna
|
|
|
|
- or GPIO }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ BPROT ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Block Protect (BPROT)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_BPROT_Type = record { BPROT Structure }
|
|
|
|
- RESERVED0: array [0..383] of longword;
|
|
|
|
- CONFIG0, { Block protect configuration register 0 }
|
|
|
|
- CONFIG1, { Block protect configuration register 1 }
|
|
|
|
- DISABLEINDEBUG, { Disable protection mechanism in debug interface mode }
|
|
|
|
- UNUSED0, { Unspecified }
|
|
|
|
- CONFIG2, { Block protect configuration register 2 }
|
|
|
|
- CONFIG3: longword; { Block protect configuration register 3 }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ POWER ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Power control (POWER)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_POWER_Type = record { POWER Structure }
|
|
|
|
- RESERVED0: array [0..29] of longword;
|
|
|
|
- TASKS_CONSTLAT, { 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, { CPU entered WFI/WFE sleep }
|
|
|
|
- EVENTS_SLEEPEXIT: longword; { CPU exited WFI/WFE sleep }
|
|
|
|
- RESERVED3: array [0..121] of longword;
|
|
|
|
- INTENSET, { 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, { General purpose retention register }
|
|
|
|
- GPREGRET2, { General purpose retention register }
|
|
|
|
- RAMON: longword; { Deprecated register - RAM on/off register (this register is
|
|
|
|
- retained) }
|
|
|
|
- RESERVED9: array [0..10] of longword;
|
|
|
|
- RAMONB: longword; { Deprecated register - RAM on/off register (this register is
|
|
|
|
- retained) }
|
|
|
|
- RESERVED10: array [0..7] of longword;
|
|
|
|
- DCDCEN: longword; { DC/DC enable register }
|
|
|
|
- RESERVED11: array [0..224] of longword;
|
|
|
|
- RAM: array [0..7] of POWER_RAM_Type; { Unspecified }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ CLOCK ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Clock control (CLOCK)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_CLOCK_Type = record { CLOCK Structure }
|
|
|
|
- TASKS_HFCLKSTART, { Start HFCLK crystal oscillator }
|
|
|
|
- TASKS_HFCLKSTOP, { Stop HFCLK crystal oscillator }
|
|
|
|
- TASKS_LFCLKSTART, { Start LFCLK source }
|
|
|
|
- TASKS_LFCLKSTOP, { Stop LFCLK source }
|
|
|
|
- TASKS_CAL, { Start calibration of LFRC oscillator }
|
|
|
|
- TASKS_CTSTART, { Start calibration timer }
|
|
|
|
- TASKS_CTSTOP: longword; { Stop calibration timer }
|
|
|
|
- RESERVED0: array [0..56] of longword;
|
|
|
|
- EVENTS_HFCLKSTARTED, { HFCLK oscillator started }
|
|
|
|
- EVENTS_LFCLKSTARTED, { LFCLK started }
|
|
|
|
- RESERVED1,
|
|
|
|
- EVENTS_DONE, { Calibration of LFCLK RC oscillator complete event }
|
|
|
|
- EVENTS_CTTO: longword; { Calibration timer timeout }
|
|
|
|
- RESERVED2: array [0..123] of longword;
|
|
|
|
- INTENSET, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED3: array [0..62] of longword;
|
|
|
|
- HFCLKRUN, { Status indicating that HFCLKSTART task has been triggered }
|
|
|
|
- HFCLKSTAT, { HFCLK status }
|
|
|
|
- RESERVED4,
|
|
|
|
- LFCLKRUN, { Status indicating that LFCLKSTART task has been triggered }
|
|
|
|
- LFCLKSTAT, { 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 (retained register, same reset behaviour
|
|
|
|
- as RESETREAS) }
|
|
|
|
- RESERVED7: array [0..7] of longword;
|
|
|
|
- TRACECONFIG: longword; { Clocking options for the Trace Port debug interface }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ AMLI ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- AHB Multi-Layer Interface (AMLI)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_AMLI_Type = record { AMLI Structure }
|
|
|
|
- RESERVED0: array [0..895] of longword;
|
|
|
|
- RAMPRI: AMLI_RAMPRI_Type; { RAM configurable priority configuration structure }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ RADIO ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- 2.4 GHz Radio (RADIO)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_RADIO_Type = record { RADIO Structure }
|
|
|
|
- TASKS_TXEN, { Enable RADIO in TX mode }
|
|
|
|
- TASKS_RXEN, { Enable RADIO in RX mode }
|
|
|
|
- TASKS_START, { Start RADIO }
|
|
|
|
- TASKS_STOP, { Stop RADIO }
|
|
|
|
- TASKS_DISABLE, { Disable RADIO }
|
|
|
|
- TASKS_RSSISTART, { Start the RSSI and take one single sample of the receive signal
|
|
|
|
- strength. }
|
|
|
|
- TASKS_RSSISTOP, { Stop the RSSI measurement }
|
|
|
|
- TASKS_BCSTART, { Start the bit counter }
|
|
|
|
- TASKS_BCSTOP: longword; { Stop the bit counter }
|
|
|
|
- RESERVED0: array [0..54] of longword;
|
|
|
|
- EVENTS_READY, { RADIO has ramped up and is ready to be started }
|
|
|
|
- EVENTS_ADDRESS, { Address sent or received }
|
|
|
|
- EVENTS_PAYLOAD, { Packet payload sent or received }
|
|
|
|
- EVENTS_END, { Packet sent or received }
|
|
|
|
- EVENTS_DISABLED, { RADIO has been disabled }
|
|
|
|
- EVENTS_DEVMATCH, { A device address match occurred on the last received packet }
|
|
|
|
- EVENTS_DEVMISS, { 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, { Bit counter reached bit count value. }
|
|
|
|
- RESERVED2,
|
|
|
|
- EVENTS_CRCOK, { 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, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED5: array [0..60] of longword;
|
|
|
|
- CRCSTATUS, { CRC status }
|
|
|
|
- RESERVED6,
|
|
|
|
- RXMATCH, { Received address }
|
|
|
|
- RXCRC, { CRC field of previously received packet }
|
|
|
|
- DAI: longword; { Device address match index }
|
|
|
|
- RESERVED7: array [0..59] of longword;
|
|
|
|
- PACKETPTR, { Packet pointer }
|
|
|
|
- FREQUENCY, { Frequency }
|
|
|
|
- TXPOWER, { Output power }
|
|
|
|
- MODE, { Data rate and modulation }
|
|
|
|
- PCNF0, { Packet configuration register 0 }
|
|
|
|
- PCNF1, { Packet configuration register 1 }
|
|
|
|
- BASE0, { Base address 0 }
|
|
|
|
- BASE1, { Base address 1 }
|
|
|
|
- PREFIX0, { Prefixes bytes for logical addresses 0-3 }
|
|
|
|
- PREFIX1, { Prefixes bytes for logical addresses 4-7 }
|
|
|
|
- TXADDRESS, { Transmit address select }
|
|
|
|
- RXADDRESSES, { Receive address select }
|
|
|
|
- CRCCNF, { CRC configuration }
|
|
|
|
- CRCPOLY, { CRC polynomial }
|
|
|
|
- CRCINIT, { CRC initial value }
|
|
|
|
- UNUSED0, { Unspecified }
|
|
|
|
- TIFS, { Inter Frame Spacing in us }
|
|
|
|
- RSSISAMPLE, { RSSI sample }
|
|
|
|
- RESERVED8,
|
|
|
|
- STATE, { 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;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ UARTE ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- UART with EasyDMA (UARTE)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_UARTE_Type = record { UARTE Structure }
|
|
|
|
- TASKS_STARTRX, { Start UART receiver }
|
|
|
|
- TASKS_STOPRX, { Stop UART receiver }
|
|
|
|
- TASKS_STARTTX, { 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, { CTS is activated (set low). Clear To Send. }
|
|
|
|
- EVENTS_NCTS: longword; { CTS is deactivated (set high). Not Clear To Send. }
|
|
|
|
- RESERVED2: array [0..1] of longword;
|
|
|
|
- EVENTS_ENDRX: longword; { Receive buffer is filled up }
|
|
|
|
- RESERVED3: array [0..2] of longword;
|
|
|
|
- EVENTS_ENDTX, { Last TX byte transmitted }
|
|
|
|
- EVENTS_ERROR: longword; { Error detected }
|
|
|
|
- RESERVED4: array [0..6] of longword;
|
|
|
|
- EVENTS_RXTO, { Receiver timeout }
|
|
|
|
- RESERVED5,
|
|
|
|
- EVENTS_RXSTARTED, { UART receiver has started }
|
|
|
|
- EVENTS_TXSTARTED, { UART transmitter has started }
|
|
|
|
- RESERVED6,
|
|
|
|
- EVENTS_TXSTOPPED: longword; { Transmitter stopped }
|
|
|
|
- RESERVED7: array [0..40] of longword;
|
|
|
|
- SHORTS: longword; { Shortcut register }
|
|
|
|
- RESERVED8: array [0..62] of longword;
|
|
|
|
- INTEN, { Enable or disable interrupt }
|
|
|
|
- INTENSET, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED9: array [0..92] of longword;
|
|
|
|
- ERRORSRC: longword; { Error source }
|
|
|
|
- RESERVED10: array [0..30] of longword;
|
|
|
|
- ENABLE, { Enable UART }
|
|
|
|
- RESERVED11,
|
|
|
|
- PSEL: UARTE_PSEL_Type; { Unspecified }
|
|
|
|
- RESERVED12: array [0..2] of longword;
|
|
|
|
- BAUDRATE: longword; { Baud rate }
|
|
|
|
- RESERVED13: array [0..2] of longword;
|
|
|
|
- RXD: UARTE_RXD_Type; { RXD EasyDMA channel }
|
|
|
|
- RESERVED14,
|
|
|
|
- TXD: UARTE_TXD_Type; { TXD EasyDMA channel }
|
|
|
|
- RESERVED15: array [0..6] of longword;
|
|
|
|
- CONFIG: longword; { Configuration of parity and hardware flow control }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ UART ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Universal Asynchronous Receiver/Transmitter (UART)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_UART_Type = record { UART Structure }
|
|
|
|
- TASKS_STARTRX, { Start UART receiver }
|
|
|
|
- TASKS_STOPRX, { Stop UART receiver }
|
|
|
|
- TASKS_STARTTX, { 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, { CTS is activated (set low). Clear To Send. }
|
|
|
|
- EVENTS_NCTS, { CTS is deactivated (set high). Not Clear To Send. }
|
|
|
|
- EVENTS_RXDRDY: longword; { Data received in RXD }
|
|
|
|
- RESERVED2: array [0..3] of longword;
|
|
|
|
- EVENTS_TXDRDY, { Data sent from TXD }
|
|
|
|
- RESERVED3,
|
|
|
|
- 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, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED7: array [0..92] of longword;
|
|
|
|
- ERRORSRC: longword; { Error source }
|
|
|
|
- RESERVED8: array [0..30] of longword;
|
|
|
|
- ENABLE, { Enable UART }
|
|
|
|
- RESERVED9,
|
|
|
|
- PSELRTS, { Pin select for RTS }
|
|
|
|
- PSELTXD, { Pin select for TXD }
|
|
|
|
- PSELCTS, { Pin select for CTS }
|
|
|
|
- PSELRXD, { Pin select for RXD }
|
|
|
|
- RXD, { RXD register }
|
|
|
|
- TXD, { TXD register }
|
|
|
|
- RESERVED10,
|
|
|
|
- BAUDRATE: longword; { Baud rate }
|
|
|
|
- RESERVED11: array [0..16] of longword;
|
|
|
|
- CONFIG: longword; { Configuration of parity and hardware flow control }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ SPIM ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Serial Peripheral Interface Master with EasyDMA 0 (SPIM)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_SPIM_Type = record { SPIM Structure }
|
|
|
|
- RESERVED0: array [0..3] of longword;
|
|
|
|
- TASKS_START, { Start SPI transaction }
|
|
|
|
- TASKS_STOP, { Stop SPI transaction }
|
|
|
|
- RESERVED1,
|
|
|
|
- TASKS_SUSPEND, { 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, { End of RXD buffer reached }
|
|
|
|
- RESERVED4,
|
|
|
|
- EVENTS_END, { End of RXD buffer and TXD buffer reached }
|
|
|
|
- RESERVED5,
|
|
|
|
- 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, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED9: array [0..124] of longword;
|
|
|
|
- ENABLE, { Enable SPIM }
|
|
|
|
- RESERVED10,
|
|
|
|
- PSEL: SPIM_PSEL_Type; { Unspecified }
|
|
|
|
- RESERVED11: array [0..3] of longword;
|
|
|
|
- FREQUENCY: longword; { SPI frequency }
|
|
|
|
- RESERVED12: array [0..2] of longword;
|
|
|
|
- RXD: SPIM_RXD_Type; { RXD EasyDMA channel }
|
|
|
|
- TXD: SPIM_TXD_Type; { 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
|
|
|
|
- of the TXD buffer. }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ SPIS ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- SPI Slave 0 (SPIS)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_SPIS_Type = record { SPIS Structure }
|
|
|
|
- RESERVED0: array [0..8] of longword;
|
|
|
|
- TASKS_ACQUIRE, { 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, { 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, { Enable SPI slave }
|
|
|
|
- RESERVED9: longword;
|
|
|
|
- PSEL: SPIS_PSEL_Type; { Unspecified }
|
|
|
|
- RESERVED10: array [0..6] of longword;
|
|
|
|
- RXD: SPIS_RXD_Type; { Unspecified }
|
|
|
|
- RESERVED11,
|
|
|
|
- TXD: SPIS_TXD_Type; { Unspecified }
|
|
|
|
- RESERVED12,
|
|
|
|
- CONFIG, { Configuration register }
|
|
|
|
- RESERVED13,
|
|
|
|
- DEF: longword; { Default character. Character clocked out in case of an ignored
|
|
|
|
- transaction. }
|
|
|
|
- RESERVED14: array [0..23] of longword;
|
|
|
|
- ORC: longword; { Over-read character }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ TWIM ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- I2C compatible Two-Wire Master Interface with EasyDMA 0 (TWIM)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_TWIM_Type = record { TWIM Structure }
|
|
|
|
- TASKS_STARTRX, { Start TWI receive sequence }
|
|
|
|
- RESERVED0,
|
|
|
|
- TASKS_STARTTX: longword; { Start TWI transmit sequence }
|
|
|
|
- RESERVED1: array [0..1] of longword;
|
|
|
|
- TASKS_STOP, { Stop TWI transaction. Must be issued while the TWI master is
|
|
|
|
- not suspended. }
|
|
|
|
- RESERVED2,
|
|
|
|
- TASKS_SUSPEND, { 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, { Last byte has been sent out after the SUSPEND task has been
|
|
|
|
- issued, TWI traffic is now suspended. }
|
|
|
|
- EVENTS_RXSTARTED, { Receive sequence started }
|
|
|
|
- EVENTS_TXSTARTED: longword; { Transmit sequence started }
|
|
|
|
- RESERVED6: array [0..1] of longword;
|
|
|
|
- EVENTS_LASTRX, { 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, { Enable or disable interrupt }
|
|
|
|
- INTENSET, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED9: array [0..109] of longword;
|
|
|
|
- ERRORSRC: longword; { Error source }
|
|
|
|
- RESERVED10: array [0..13] of longword;
|
|
|
|
- ENABLE, { Enable TWIM }
|
|
|
|
- RESERVED11: longword;
|
|
|
|
- PSEL: TWIM_PSEL_Type; { Unspecified }
|
|
|
|
- RESERVED12: array [0..4] of longword;
|
|
|
|
- FREQUENCY: longword; { TWI frequency }
|
|
|
|
- RESERVED13: array [0..2] of longword;
|
|
|
|
- RXD: TWIM_RXD_Type; { RXD EasyDMA channel }
|
|
|
|
- TXD: TWIM_TXD_Type; { TXD EasyDMA channel }
|
|
|
|
- RESERVED14: array [0..12] of longword;
|
|
|
|
- ADDRESS: longword; { Address used in the TWI transfer }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ TWIS ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- I2C compatible Two-Wire Slave Interface with EasyDMA 0 (TWIS)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_TWIS_Type = record { TWIS Structure }
|
|
|
|
- RESERVED0: array [0..4] of longword;
|
|
|
|
- TASKS_STOP, { Stop TWI transaction }
|
|
|
|
- RESERVED1,
|
|
|
|
- TASKS_SUSPEND, { Suspend TWI transaction }
|
|
|
|
- TASKS_RESUME: longword; { Resume TWI transaction }
|
|
|
|
- RESERVED2: array [0..2] of longword;
|
|
|
|
- TASKS_PREPARERX, { 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, { Receive sequence started }
|
|
|
|
- EVENTS_TXSTARTED: longword; { Transmit sequence started }
|
|
|
|
- RESERVED6: array [0..3] of longword;
|
|
|
|
- EVENTS_WRITE, { 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, { Enable or disable interrupt }
|
|
|
|
- INTENSET, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED9: array [0..112] of longword;
|
|
|
|
- ERRORSRC, { Error source }
|
|
|
|
- MATCH: longword; { Status register indicating which address had a match }
|
|
|
|
- RESERVED10: array [0..9] of longword;
|
|
|
|
- ENABLE, { Enable TWIS }
|
|
|
|
- RESERVED11: longword;
|
|
|
|
- PSEL: TWIS_PSEL_Type; { Unspecified }
|
|
|
|
- RESERVED12: array [0..8] of longword;
|
|
|
|
- RXD: TWIS_RXD_Type; { RXD EasyDMA channel }
|
|
|
|
- RESERVED13,
|
|
|
|
- TXD: TWIS_TXD_Type; { TXD EasyDMA channel }
|
|
|
|
- RESERVED14: array [0..13] of longword;
|
|
|
|
- ADDRESS: array [0..1] of longword; { Description collection[0]: TWI slave address 0 }
|
|
|
|
- RESERVED15,
|
|
|
|
- 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
|
|
|
|
- of the transmit buffer. }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ SPI ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Serial Peripheral Interface 0 (SPI)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_SPI_Type = 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, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED2: array [0..124] of longword;
|
|
|
|
- ENABLE, { Enable SPI }
|
|
|
|
- RESERVED3: longword;
|
|
|
|
- PSEL: SPI_PSEL_Type; { Unspecified }
|
|
|
|
- RESERVED4,
|
|
|
|
- RXD, { RXD register }
|
|
|
|
- TXD, { TXD register }
|
|
|
|
- RESERVED5,
|
|
|
|
- FREQUENCY: longword; { SPI frequency }
|
|
|
|
- RESERVED6: array [0..10] of longword;
|
|
|
|
- CONFIG: longword; { Configuration register }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ TWI ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- I2C compatible Two-Wire Interface 0 (TWI)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_TWI_Type = record { TWI Structure }
|
|
|
|
- TASKS_STARTRX, { Start TWI receive sequence }
|
|
|
|
- RESERVED0,
|
|
|
|
- TASKS_STARTTX: longword; { Start TWI transmit sequence }
|
|
|
|
- RESERVED1: array [0..1] of longword;
|
|
|
|
- TASKS_STOP, { Stop TWI transaction }
|
|
|
|
- RESERVED2,
|
|
|
|
- TASKS_SUSPEND, { Suspend TWI transaction }
|
|
|
|
- TASKS_RESUME: longword; { Resume TWI transaction }
|
|
|
|
- RESERVED3: array [0..55] of longword;
|
|
|
|
- EVENTS_STOPPED, { TWI stopped }
|
|
|
|
- EVENTS_RXDREADY: longword; { TWI RXD byte received }
|
|
|
|
- RESERVED4: array [0..3] of longword;
|
|
|
|
- EVENTS_TXDSENT, { TWI TXD byte sent }
|
|
|
|
- RESERVED5,
|
|
|
|
- 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
|
|
|
|
- received }
|
|
|
|
- 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, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED10: array [0..109] of longword;
|
|
|
|
- ERRORSRC: longword; { Error source }
|
|
|
|
- RESERVED11: array [0..13] of longword;
|
|
|
|
- ENABLE, { Enable TWI }
|
|
|
|
- RESERVED12,
|
|
|
|
- PSELSCL, { Pin select for SCL }
|
|
|
|
- PSELSDA: longword; { Pin select for SDA }
|
|
|
|
- RESERVED13: array [0..1] of longword;
|
|
|
|
- RXD, { RXD register }
|
|
|
|
- TXD, { TXD register }
|
|
|
|
- RESERVED14,
|
|
|
|
- FREQUENCY: longword; { TWI frequency }
|
|
|
|
- RESERVED15: array [0..23] of longword;
|
|
|
|
- ADDRESS: longword; { Address used in the TWI transfer }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ NFCT ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- NFC-A compatible radio (NFCT)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_NFCT_Type = record { NFCT Structure }
|
|
|
|
- TASKS_ACTIVATE, { Activate NFC peripheral for incoming and outgoing frames, change
|
|
|
|
- state to activated }
|
|
|
|
- TASKS_DISABLE, { Disable NFC peripheral }
|
|
|
|
- TASKS_SENSE, { 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, { Initializes the EasyDMA for receive. }
|
|
|
|
- RESERVED1,
|
|
|
|
- TASKS_GOIDLE, { Force state machine to IDLE state }
|
|
|
|
- TASKS_GOSLEEP: longword; { Force state machine to SLEEP_A state }
|
|
|
|
- RESERVED2: array [0..52] of longword;
|
|
|
|
- EVENTS_READY, { The NFC peripheral is ready to receive and send frames }
|
|
|
|
- EVENTS_FIELDDETECTED, { Remote NFC field detected }
|
|
|
|
- EVENTS_FIELDLOST, { Remote NFC field lost }
|
|
|
|
- EVENTS_TXFRAMESTART, { Marks the start of the first symbol of a transmitted frame }
|
|
|
|
- EVENTS_TXFRAMEEND, { Marks the end of the last transmitted on-air symbol of a frame }
|
|
|
|
- EVENTS_RXFRAMESTART, { Marks the end of the first symbol of a received frame }
|
|
|
|
- EVENTS_RXFRAMEEND, { Received data have been checked (CRC, parity) and transferred
|
|
|
|
- to RAM, and EasyDMA has ended accessing the RX buffer }
|
|
|
|
- EVENTS_ERROR: longword; { NFC error reported. The ERRORSTATUS register contains details
|
|
|
|
- on the source of the error. }
|
|
|
|
- RESERVED3: array [0..1] of longword;
|
|
|
|
- EVENTS_RXERROR, { NFC RX frame error reported. The FRAMESTATUS.RX register contains
|
|
|
|
- details on the source of the error. }
|
|
|
|
- EVENTS_ENDRX, { RX buffer (as defined by PACKETPTR and MAXLEN) in Data RAM full. }
|
|
|
|
- EVENTS_ENDTX, { Transmission of data in RAM has ended, and EasyDMA has ended
|
|
|
|
- accessing the TX buffer }
|
|
|
|
- RESERVED4,
|
|
|
|
- EVENTS_AUTOCOLRESSTARTED: longword; { Auto collision resolution process has started }
|
|
|
|
- RESERVED5: array [0..2] of longword;
|
|
|
|
- EVENTS_COLLISION, { NFC Auto collision resolution error reported. }
|
|
|
|
- EVENTS_SELECTED, { 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, { Enable or disable interrupt }
|
|
|
|
- INTENSET, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED8: array [0..61] of longword;
|
|
|
|
- ERRORSTATUS, { NFC Error Status register }
|
|
|
|
- RESERVED9: longword;
|
|
|
|
- FRAMESTATUS: NFCT_FRAMESTATUS_Type; { 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, { Minimum frame delay }
|
|
|
|
- FRAMEDELAYMAX, { Maximum frame delay }
|
|
|
|
- FRAMEDELAYMODE, { Configuration register for the Frame Delay Timer }
|
|
|
|
- PACKETPTR, { 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
|
|
|
|
- RAM }
|
|
|
|
- TXD: NFCT_TXD_Type; { Unspecified }
|
|
|
|
- RXD: NFCT_RXD_Type; { Unspecified }
|
|
|
|
- RESERVED13: array [0..25] of longword;
|
|
|
|
- NFCID1_LAST, { Last NFCID1 part (4, 7 or 10 bytes ID) }
|
|
|
|
- NFCID1_2ND_LAST, { Second last NFCID1 part (7 or 10 bytes ID) }
|
|
|
|
- NFCID1_3RD_LAST, { Third last NFCID1 part (10 bytes ID) }
|
|
|
|
- RESERVED14,
|
|
|
|
- SENSRES, { NFC-A SENS_RES auto-response settings }
|
|
|
|
- SELRES: longword; { NFC-A SEL_RES auto-response settings }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ GPIOTE ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- GPIO Tasks and Events (GPIOTE)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_GPIOTE_Type = record { GPIOTE Structure }
|
|
|
|
- TASKS_OUT: array [0..7] of longword; { Description collection[0]: Task for writing to pin specified
|
|
|
|
- in CONFIG[0].PSEL. Action on pin is configured in CONFIG[0].POLARITY. }
|
|
|
|
- RESERVED0: array [0..3] of longword;
|
|
|
|
- TASKS_SET: array [0..7] of longword; { Description collection[0]: Task for writing to pin specified
|
|
|
|
- in CONFIG[0].PSEL. Action on pin is to set it high. }
|
|
|
|
- RESERVED1: array [0..3] of longword;
|
|
|
|
- TASKS_CLR: array [0..7] of longword; { Description collection[0]: Task for writing to pin specified
|
|
|
|
- in CONFIG[0].PSEL. Action on pin is to set it low. }
|
|
|
|
- RESERVED2: array [0..31] of longword;
|
|
|
|
- EVENTS_IN: array [0..7] of longword; { Description collection[0]: Event generated from pin specified
|
|
|
|
- in CONFIG[0].PSEL }
|
|
|
|
- RESERVED3: array [0..22] of longword;
|
|
|
|
- EVENTS_PORT: longword; { Event generated from multiple input GPIO pins with SENSE mechanism
|
|
|
|
- enabled }
|
|
|
|
- RESERVED4: array [0..96] of longword;
|
|
|
|
- INTENSET, { 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]
|
|
|
|
- and CLR[n] tasks and IN[n] event }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ SAADC ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Analog to Digital Converter (SAADC)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_SAADC_Type = record { SAADC Structure }
|
|
|
|
- TASKS_START, { Start the ADC and prepare the result buffer in RAM }
|
|
|
|
- TASKS_SAMPLE, { Take one ADC sample, if scan is enabled all channels are sampled }
|
|
|
|
- TASKS_STOP, { Stop the ADC and terminate any on-going conversion }
|
|
|
|
- TASKS_CALIBRATEOFFSET: longword; { Starts offset auto-calibration }
|
|
|
|
- RESERVED0: array [0..59] of longword;
|
|
|
|
- EVENTS_STARTED, { The ADC has started }
|
|
|
|
- EVENTS_END, { The ADC has filled up the Result buffer }
|
|
|
|
- EVENTS_DONE, { A conversion task has been completed. Depending on the mode,
|
|
|
|
- multiple conversions might be needed for a result to be transferred
|
|
|
|
- to RAM. }
|
|
|
|
- EVENTS_RESULTDONE, { A result is ready to get transferred to RAM. }
|
|
|
|
- EVENTS_CALIBRATEDONE, { Calibration is complete }
|
|
|
|
- EVENTS_STOPPED: longword; { The ADC has stopped }
|
|
|
|
- EVENTS_CH: array [0..7] of SAADC_EVENTS_CH_Type; { Unspecified }
|
|
|
|
- RESERVED1: array [0..105] of longword;
|
|
|
|
- INTEN, { Enable or disable interrupt }
|
|
|
|
- INTENSET, { 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 SAADC_CH_Type; { Unspecified }
|
|
|
|
- RESERVED5: array [0..23] of longword;
|
|
|
|
- RESOLUTION, { Resolution configuration }
|
|
|
|
- OVERSAMPLE, { Oversampling configuration. OVERSAMPLE should not be combined
|
|
|
|
- with SCAN. The RESOLUTION is applied before averaging, thus
|
|
|
|
- for high OVERSAMPLE a higher RESOLUTION should be used. }
|
|
|
|
- SAMPLERATE: longword; { Controls normal or continuous sample rate }
|
|
|
|
- RESERVED6: array [0..11] of longword;
|
|
|
|
- RESULT: SAADC_RESULT_Type; { RESULT EasyDMA channel }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ TIMER ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Timer/Counter 0 (TIMER)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_TIMER_Type = record { TIMER Structure }
|
|
|
|
- TASKS_START, { Start Timer }
|
|
|
|
- TASKS_STOP, { Stop Timer }
|
|
|
|
- TASKS_COUNT, { Increment Timer (Counter mode only) }
|
|
|
|
- TASKS_CLEAR, { 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, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED4: array [0..125] of longword;
|
|
|
|
- MODE, { Timer mode selection }
|
|
|
|
- BITMODE, { Configure the number of bits used by the TIMER }
|
|
|
|
- RESERVED5,
|
|
|
|
- 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;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ RTC ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Real time counter 0 (RTC)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_RTC_Type = record { RTC Structure }
|
|
|
|
- TASKS_START, { Start RTC COUNTER }
|
|
|
|
- TASKS_STOP, { Stop RTC COUNTER }
|
|
|
|
- TASKS_CLEAR, { Clear RTC COUNTER }
|
|
|
|
- TASKS_TRIGOVRFLW: longword; { Set COUNTER to 0xFFFFF0 }
|
|
|
|
- RESERVED0: array [0..59] of longword;
|
|
|
|
- EVENTS_TICK, { 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, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED3: array [0..12] of longword;
|
|
|
|
- EVTEN, { Enable or disable event routing }
|
|
|
|
- EVTENSET, { Enable event routing }
|
|
|
|
- EVTENCLR: longword; { Disable event routing }
|
|
|
|
- RESERVED4: array [0..109] of longword;
|
|
|
|
- COUNTER, { Current COUNTER value }
|
|
|
|
- PRESCALER: longword; { 12 bit prescaler for COUNTER frequency (32768/(PRESCALER+1)).Must
|
|
|
|
- be written when RTC is stopped }
|
|
|
|
- RESERVED5: array [0..12] of longword;
|
|
|
|
- CC: array [0..3] of longword; { Description collection[0]: Compare register 0 }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ TEMP ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Temperature Sensor (TEMP)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_TEMP_Type = record { TEMP Structure }
|
|
|
|
- TASKS_START, { 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, { 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, { Slope of 1st piece wise linear function }
|
|
|
|
- A1, { Slope of 2nd piece wise linear function }
|
|
|
|
- A2, { Slope of 3rd piece wise linear function }
|
|
|
|
- A3, { Slope of 4th piece wise linear function }
|
|
|
|
- A4, { Slope of 5th piece wise linear function }
|
|
|
|
- A5: longword; { Slope of 6th piece wise linear function }
|
|
|
|
- RESERVED4: array [0..1] of longword;
|
|
|
|
- B0, { y-intercept of 1st piece wise linear function }
|
|
|
|
- B1, { y-intercept of 2nd piece wise linear function }
|
|
|
|
- B2, { y-intercept of 3rd piece wise linear function }
|
|
|
|
- B3, { y-intercept of 4th piece wise linear function }
|
|
|
|
- B4, { 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, { End point of 1st piece wise linear function }
|
|
|
|
- T1, { End point of 2nd piece wise linear function }
|
|
|
|
- T2, { End point of 3rd piece wise linear function }
|
|
|
|
- T3, { End point of 4th piece wise linear function }
|
|
|
|
- T4: longword; { End point of 5th piece wise linear function }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ RNG ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Random Number Generator (RNG)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_RNG_Type = record { RNG Structure }
|
|
|
|
- TASKS_START, { 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
|
|
|
|
- the VALUE register }
|
|
|
|
- RESERVED1: array [0..62] of longword;
|
|
|
|
- SHORTS: longword; { Shortcut register }
|
|
|
|
- RESERVED2: array [0..63] of longword;
|
|
|
|
- INTENSET, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED3: array [0..125] of longword;
|
|
|
|
- CONFIG, { Configuration register }
|
|
|
|
- VALUE: longword; { Output random number }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ ECB ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- AES ECB Mode Encryption (ECB)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_ECB_Type = record { ECB Structure }
|
|
|
|
- TASKS_STARTECB, { Start ECB block encrypt }
|
|
|
|
- TASKS_STOPECB: longword; { Abort a possible executing ECB operation }
|
|
|
|
- RESERVED0: array [0..61] of longword;
|
|
|
|
- EVENTS_ENDECB, { ECB block encrypt complete }
|
|
|
|
- EVENTS_ERRORECB: longword; { ECB block encrypt aborted because of a STOPECB task or due to
|
|
|
|
- an error }
|
|
|
|
- RESERVED1: array [0..126] of longword;
|
|
|
|
- INTENSET, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED2: array [0..125] of longword;
|
|
|
|
- ECBDATAPTR: longword; { ECB block encrypt memory pointers }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ CCM ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- AES CCM Mode Encryption (CCM)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_CCM_Type = record { CCM Structure }
|
|
|
|
- TASKS_KSGEN, { Start generation of key-stream. This operation will stop by
|
|
|
|
- itself when completed. }
|
|
|
|
- TASKS_CRYPT, { Start encryption/decryption. This operation will stop by itself
|
|
|
|
- when completed. }
|
|
|
|
- TASKS_STOP: longword; { Stop encryption/decryption }
|
|
|
|
- RESERVED0: array [0..60] of longword;
|
|
|
|
- EVENTS_ENDKSGEN, { Key-stream generation complete }
|
|
|
|
- EVENTS_ENDCRYPT, { 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, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED3: array [0..60] of longword;
|
|
|
|
- MICSTATUS: longword; { MIC check result }
|
|
|
|
- RESERVED4: array [0..62] of longword;
|
|
|
|
- ENABLE, { Enable }
|
|
|
|
- MODE, { Operation mode }
|
|
|
|
- CNFPTR, { Pointer to data structure holding AES key and NONCE vector }
|
|
|
|
- INPTR, { Input pointer }
|
|
|
|
- OUTPTR, { Output pointer }
|
|
|
|
- SCRATCHPTR: longword; { Pointer to data area used for temporary storage }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ AAR ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Accelerated Address Resolver (AAR)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_AAR_Type = record { AAR Structure }
|
|
|
|
- TASKS_START, { Start resolving addresses based on IRKs specified in the IRK
|
|
|
|
- data structure }
|
|
|
|
- RESERVED0,
|
|
|
|
- TASKS_STOP: longword; { Stop resolving addresses }
|
|
|
|
- RESERVED1: array [0..60] of longword;
|
|
|
|
- EVENTS_END, { Address resolution procedure complete }
|
|
|
|
- EVENTS_RESOLVED, { Address resolved }
|
|
|
|
- EVENTS_NOTRESOLVED: longword; { Address not resolved }
|
|
|
|
- RESERVED2: array [0..125] of longword;
|
|
|
|
- INTENSET, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED3: array [0..60] of longword;
|
|
|
|
- STATUS: longword; { Resolution status }
|
|
|
|
- RESERVED4: array [0..62] of longword;
|
|
|
|
- ENABLE, { Enable AAR }
|
|
|
|
- NIRK, { Number of IRKs }
|
|
|
|
- IRKPTR, { Pointer to IRK data structure }
|
|
|
|
- RESERVED5,
|
|
|
|
- ADDRPTR, { Pointer to the resolvable address }
|
|
|
|
- SCRATCHPTR: longword; { Pointer to data area used for temporary storage }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ WDT ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Watchdog Timer (WDT)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_WDT_Type = 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, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED2: array [0..60] of longword;
|
|
|
|
- RUNSTATUS, { Run status }
|
|
|
|
- REQSTATUS: longword; { Request status }
|
|
|
|
- RESERVED3: array [0..62] of longword;
|
|
|
|
- CRV, { Counter reload value }
|
|
|
|
- RREN, { 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;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ QDEC ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Quadrature Decoder (QDEC)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_QDEC_Type = record { QDEC Structure }
|
|
|
|
- TASKS_START, { Task starting the quadrature decoder }
|
|
|
|
- TASKS_STOP, { Task stopping the quadrature decoder }
|
|
|
|
- TASKS_READCLRACC, { Read and clear ACC and ACCDBL }
|
|
|
|
- TASKS_RDCLRACC, { Read and clear ACC }
|
|
|
|
- TASKS_RDCLRDBL: longword; { Read and clear ACCDBL }
|
|
|
|
- RESERVED0: array [0..58] of longword;
|
|
|
|
- EVENTS_SAMPLERDY, { Event being generated for every new sample value written to
|
|
|
|
- the SAMPLE register }
|
|
|
|
- EVENTS_REPORTRDY, { Non-null report ready }
|
|
|
|
- EVENTS_ACCOF, { ACC or ACCDBL register overflow }
|
|
|
|
- EVENTS_DBLRDY, { 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, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED3: array [0..124] of longword;
|
|
|
|
- ENABLE, { Enable the quadrature decoder }
|
|
|
|
- LEDPOL, { 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
|
|
|
|
- can be generated }
|
|
|
|
- ACC, { Register accumulating the valid transitions }
|
|
|
|
- ACCREAD: longint; { Snapshot of the ACC register, updated by the READCLRACC or RDCLRACC
|
|
|
|
- task }
|
|
|
|
- PSEL: QDEC_PSEL_Type; { Unspecified }
|
|
|
|
- DBFEN: longword; { Enable input debounce filters }
|
|
|
|
- RESERVED4: array [0..4] of longword;
|
|
|
|
- LEDPRE, { Time period the LED is switched ON prior to sampling }
|
|
|
|
- ACCDBL, { Register accumulating the number of detected double transitions }
|
|
|
|
- ACCDBLREAD: longword; { Snapshot of the ACCDBL, updated by the READCLRACC or RDCLRDBL
|
|
|
|
- task }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ COMP ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Comparator (COMP)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_COMP_Type = record { COMP Structure }
|
|
|
|
- TASKS_START, { Start comparator }
|
|
|
|
- TASKS_STOP, { Stop comparator }
|
|
|
|
- TASKS_SAMPLE: longword; { Sample comparator value }
|
|
|
|
- RESERVED0: array [0..60] of longword;
|
|
|
|
- EVENTS_READY, { COMP is ready and output is valid }
|
|
|
|
- EVENTS_DOWN, { Downward crossing }
|
|
|
|
- EVENTS_UP, { 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, { Enable or disable interrupt }
|
|
|
|
- INTENSET, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED3: array [0..60] of longword;
|
|
|
|
- RESULT: longword; { Compare result }
|
|
|
|
- RESERVED4: array [0..62] of longword;
|
|
|
|
- ENABLE, { COMP enable }
|
|
|
|
- PSEL, { Pin select }
|
|
|
|
- REFSEL, { Reference source select }
|
|
|
|
- EXTREFSEL: longword; { External reference select }
|
|
|
|
- RESERVED5: array [0..7] of longword;
|
|
|
|
- TH, { Threshold configuration for hysteresis unit }
|
|
|
|
- MODE, { Mode configuration }
|
|
|
|
- HYST, { Comparator hysteresis enable }
|
|
|
|
- ISOURCE: longword; { Current source select on analog input }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ LPCOMP ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Low Power Comparator (LPCOMP)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_LPCOMP_Type = record { LPCOMP Structure }
|
|
|
|
- TASKS_START, { Start comparator }
|
|
|
|
- TASKS_STOP, { Stop comparator }
|
|
|
|
- TASKS_SAMPLE: longword; { Sample comparator value }
|
|
|
|
- RESERVED0: array [0..60] of longword;
|
|
|
|
- EVENTS_READY, { LPCOMP is ready and output is valid }
|
|
|
|
- EVENTS_DOWN, { Downward crossing }
|
|
|
|
- EVENTS_UP, { 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, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED3: array [0..60] of longword;
|
|
|
|
- RESULT: longword; { Compare result }
|
|
|
|
- RESERVED4: array [0..62] of longword;
|
|
|
|
- ENABLE, { Enable LPCOMP }
|
|
|
|
- PSEL, { Input pin select }
|
|
|
|
- REFSEL, { 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;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ SWI ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Software interrupt 0 (SWI)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_SWI_Type = record { SWI Structure }
|
|
|
|
- UNUSED: longword; { Unused. }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ EGU ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Event Generator Unit 0 (EGU)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_EGU_Type = record { EGU Structure }
|
|
|
|
- TASKS_TRIGGER: array [0..15] of longword; { Description collection[0]: Trigger 0 for triggering the corresponding
|
|
|
|
- TRIGGERED[0] event }
|
|
|
|
- RESERVED0: array [0..47] of longword;
|
|
|
|
- EVENTS_TRIGGERED: array [0..15] of longword; { Description collection[0]: Event number 0 generated by triggering
|
|
|
|
- the corresponding TRIGGER[0] task }
|
|
|
|
- RESERVED1: array [0..111] of longword;
|
|
|
|
- INTEN, { Enable or disable interrupt }
|
|
|
|
- INTENSET, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ PWM ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Pulse Width Modulation Unit 0 (PWM)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_PWM_Type = record { PWM Structure }
|
|
|
|
- RESERVED0,
|
|
|
|
- TASKS_STOP: longword; { Stops PWM pulse generation on all channels at the end of current
|
|
|
|
- PWM period, and stops sequence playback }
|
|
|
|
- TASKS_SEQSTART: array [0..1] of longword; { Description collection[0]: Loads the first PWM value on all
|
|
|
|
- enabled channels from sequence 0, and starts playing that sequence
|
|
|
|
- at the rate defined in SEQ[0]REFRESH and/or DECODER.MODE. Causes
|
|
|
|
- PWM generation to start it was not running. }
|
|
|
|
- TASKS_NEXTSTEP: longword; { Steps by one value in the current sequence on all enabled channels
|
|
|
|
- if DECODER.MODE=NextStep. Does not cause PWM generation to start
|
|
|
|
- it was not running. }
|
|
|
|
- RESERVED1: array [0..59] of longword;
|
|
|
|
- EVENTS_STOPPED: longword; { Response to STOP task, emitted when PWM pulses are no longer
|
|
|
|
- generated }
|
|
|
|
- EVENTS_SEQSTARTED: array [0..1] of longword; { Description collection[0]: First PWM period started on sequence
|
|
|
|
- 0 }
|
|
|
|
- EVENTS_SEQEND: array [0..1] of longword; { Description collection[0]: Emitted at end of every sequence
|
|
|
|
- 0, when last value from RAM has been applied to wave counter }
|
|
|
|
- EVENTS_PWMPERIODEND, { Emitted at the end of each PWM period }
|
|
|
|
- EVENTS_LOOPSDONE: longword; { Concatenated sequences have been played the amount of times
|
|
|
|
- defined in LOOP.CNT }
|
|
|
|
- RESERVED2: array [0..55] of longword;
|
|
|
|
- SHORTS: longword; { Shortcut register }
|
|
|
|
- RESERVED3: array [0..62] of longword;
|
|
|
|
- INTEN, { Enable or disable interrupt }
|
|
|
|
- INTENSET, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED4: array [0..124] of longword;
|
|
|
|
- ENABLE, { PWM module enable register }
|
|
|
|
- MODE, { Selects operating mode of the wave counter }
|
|
|
|
- COUNTERTOP, { Value up to which the pulse generator counter counts }
|
|
|
|
- PRESCALER, { Configuration for PWM_CLK }
|
|
|
|
- DECODER, { Configuration of the decoder }
|
|
|
|
- LOOP: longword; { Amount of playback of a loop }
|
|
|
|
- RESERVED5: array [0..1] of longword;
|
|
|
|
- SEQ: array [0..1] of PWM_SEQ_Type; { Unspecified }
|
|
|
|
- PSEL: PWM_PSEL_Type; { Unspecified }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ PDM ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Pulse Density Modulation (Digital Microphone) Interface (PDM)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_PDM_Type = record { PDM Structure }
|
|
|
|
- TASKS_START, { Starts continuous PDM transfer }
|
|
|
|
- TASKS_STOP: longword; { Stops PDM transfer }
|
|
|
|
- RESERVED0: array [0..61] of longword;
|
|
|
|
- EVENTS_STARTED, { PDM transfer has started }
|
|
|
|
- EVENTS_STOPPED, { PDM transfer has finished }
|
|
|
|
- EVENTS_END: longword; { The PDM has written the last sample specified by SAMPLE.MAXCNT
|
|
|
|
- (or the last sample after a STOP task has been received) to
|
|
|
|
- Data RAM }
|
|
|
|
- RESERVED1: array [0..124] of longword;
|
|
|
|
- INTEN, { Enable or disable interrupt }
|
|
|
|
- INTENSET, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED2: array [0..124] of longword;
|
|
|
|
- ENABLE, { PDM module enable register }
|
|
|
|
- PDMCLKCTRL, { PDM clock generator control }
|
|
|
|
- MODE: longword; { Defines the routing of the connected PDM microphones' signals }
|
|
|
|
- RESERVED3: array [0..2] of longword;
|
|
|
|
- GAINL, { Left output gain adjustment }
|
|
|
|
- GAINR: longword; { Right output gain adjustment }
|
|
|
|
- RESERVED4: array [0..7] of longword;
|
|
|
|
- PSEL: PDM_PSEL_Type; { Unspecified }
|
|
|
|
- RESERVED5: array [0..5] of longword;
|
|
|
|
- SAMPLE: PDM_SAMPLE_Type; { Unspecified }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ NVMC ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Non Volatile Memory Controller (NVMC)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_NVMC_Type = 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, { Register for erasing all non-volatile user memory }
|
|
|
|
- ERASEPCR0, { Deprecated register - Register for erasing a page in Code area.
|
|
|
|
- Equivalent to ERASEPAGE. }
|
|
|
|
- ERASEUICR: longword; { Register for erasing User Information Configuration Registers }
|
|
|
|
- RESERVED2: array [0..9] of longword;
|
|
|
|
- ICACHECNF, { I-Code cache configuration register. }
|
|
|
|
- RESERVED3,
|
|
|
|
- IHIT, { I-Code cache hit counter. }
|
|
|
|
- IMISS: longword; { I-Code cache miss counter. }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ PPI ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Programmable Peripheral Interconnect (PPI)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_PPI_Type = record { PPI Structure }
|
|
|
|
- TASKS_CHG: array [0..5] of PPI_TASKS_CHG_Type; { Channel group tasks }
|
|
|
|
- RESERVED0: array [0..307] of longword;
|
|
|
|
- CHEN, { Channel enable register }
|
|
|
|
- CHENSET, { Channel enable set register }
|
|
|
|
- CHENCLR, { Channel enable clear register }
|
|
|
|
- RESERVED1: longint;
|
|
|
|
- CH: array [0..19] of PPI_CH_Type; { 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 PPI_FORK_Type; { Fork }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ MWU ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Memory Watch Unit (MWU)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_MWU_Type = record { MWU Structure }
|
|
|
|
- RESERVED0: array [0..63] of longword;
|
|
|
|
- EVENTS_REGION: array [0..3] of MWU_EVENTS_REGION_Type; { Unspecified }
|
|
|
|
- RESERVED1: array [0..15] of longword;
|
|
|
|
- EVENTS_PREGION: array [0..1] of MWU_EVENTS_PREGION_Type; { Unspecified }
|
|
|
|
- RESERVED2: array [0..99] of longword;
|
|
|
|
- INTEN, { Enable or disable interrupt }
|
|
|
|
- INTENSET, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED3: array [0..4] of longword;
|
|
|
|
- NMIEN, { Enable or disable non-maskable interrupt }
|
|
|
|
- NMIENSET, { Enable non-maskable interrupt }
|
|
|
|
- NMIENCLR: longword; { Disable non-maskable interrupt }
|
|
|
|
- RESERVED4: array [0..52] of longword;
|
|
|
|
- PERREGION: array [0..1] of MWU_PERREGION_Type; { Unspecified }
|
|
|
|
- RESERVED5: array [0..63] of longword;
|
|
|
|
- REGIONEN, { Enable/disable regions watch }
|
|
|
|
- REGIONENSET, { Enable regions watch }
|
|
|
|
- REGIONENCLR: longword; { Disable regions watch }
|
|
|
|
- RESERVED6: array [0..56] of longword;
|
|
|
|
- REGION: array [0..3] of MWU_REGION_Type; { Unspecified }
|
|
|
|
- RESERVED7: array [0..31] of longword;
|
|
|
|
- PREGION: array [0..1] of MWU_PREGION_Type; { Unspecified }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ I2S ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- Inter-IC Sound (I2S)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_I2S_Type = record { I2S Structure }
|
|
|
|
- TASKS_START, { Starts continuous I<sup>2</sup>S transfer. Also starts MCK generator
|
|
|
|
- when this is enabled. }
|
|
|
|
- TASKS_STOP: longword; { Stops I<sup>2</sup>S transfer. Also stops MCK generator. Triggering
|
|
|
|
- this task will cause the STOPPED event to be generated. }
|
|
|
|
- RESERVED0: array [0..62] of longword;
|
|
|
|
- EVENTS_RXPTRUPD, { The RXD.PTR register has been copied to internal double-buffers.
|
|
|
|
- When the I2S module is started and RX is enabled, this event
|
|
|
|
- will be generated for every RXTXD.MAXCNT words that are received
|
|
|
|
- on the SDIN pin. }
|
|
|
|
- EVENTS_STOPPED: longword; { I<sup>2</sup>S transfer stopped. }
|
|
|
|
- RESERVED1: array [0..1] of longword;
|
|
|
|
- EVENTS_TXPTRUPD: longword; { The TDX.PTR register has been copied to internal double-buffers.
|
|
|
|
- When the I2S module is started and TX is enabled, this event
|
|
|
|
- will be generated for every RXTXD.MAXCNT words that are sent
|
|
|
|
- on the SDOUT pin. }
|
|
|
|
- RESERVED2: array [0..121] of longword;
|
|
|
|
- INTEN, { Enable or disable interrupt }
|
|
|
|
- INTENSET, { Enable interrupt }
|
|
|
|
- INTENCLR: longword; { Disable interrupt }
|
|
|
|
- RESERVED3: array [0..124] of longword;
|
|
|
|
- ENABLE: longword; { Enable I<sup>2</sup>S module. }
|
|
|
|
- CONFIG: I2S_CONFIG_Type; { Unspecified }
|
|
|
|
- RESERVED4: array [0..2] of longword;
|
|
|
|
- RXD: I2S_RXD_Type; { Unspecified }
|
|
|
|
- RESERVED5,
|
|
|
|
- TXD: I2S_TXD_Type; { Unspecified }
|
|
|
|
- RESERVED6: array [0..2] of longword;
|
|
|
|
- RXTXD: I2S_RXTXD_Type; { Unspecified }
|
|
|
|
- RESERVED7: array [0..2] of longword;
|
|
|
|
- PSEL: I2S_PSEL_Type; { Unspecified }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ FPU ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- FPU (FPU)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_FPU_Type = record { FPU Structure }
|
|
|
|
- UNUSED: longword; { Unused. }
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ GPIO ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-{
|
|
|
|
- GPIO Port 1 (GPIO)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NRF_GPIO_Type = record { GPIO Structure }
|
|
|
|
- RESERVED0: array [0..320] of longword;
|
|
|
|
- OUT, { Write GPIO port }
|
|
|
|
- OUTSET, { Set individual bits in GPIO port }
|
|
|
|
- OUTCLR, { Clear individual bits in GPIO port }
|
|
|
|
- IN_, { Read GPIO port }
|
|
|
|
- DIR, { Direction of GPIO pins }
|
|
|
|
- DIRSET, { DIR set register }
|
|
|
|
- DIRCLR, { DIR clear register }
|
|
|
|
- LATCH, { Latch register indicating what GPIO pins that have met the criteria
|
|
|
|
- set in the PIN_CNF[n].SENSE registers }
|
|
|
|
- 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;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ Peripheral memory map ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-const
|
|
|
|
- NRF_FICR_BASE = $10000000;
|
|
|
|
- NRF_UICR_BASE = $10001000;
|
|
|
|
- NRF_BPROT_BASE = $40000000;
|
|
|
|
- NRF_POWER_BASE = $40000000;
|
|
|
|
- NRF_CLOCK_BASE = $40000000;
|
|
|
|
- NRF_AMLI_BASE = $40000000;
|
|
|
|
- NRF_RADIO_BASE = $40001000;
|
|
|
|
- NRF_UARTE0_BASE = $40002000;
|
|
|
|
- NRF_UART0_BASE = $40002000;
|
|
|
|
- NRF_SPIM0_BASE = $40003000;
|
|
|
|
- NRF_SPIS0_BASE = $40003000;
|
|
|
|
- NRF_TWIM0_BASE = $40003000;
|
|
|
|
- NRF_TWIS0_BASE = $40003000;
|
|
|
|
- NRF_SPI0_BASE = $40003000;
|
|
|
|
- NRF_TWI0_BASE = $40003000;
|
|
|
|
- NRF_SPIM1_BASE = $40004000;
|
|
|
|
- NRF_SPIS1_BASE = $40004000;
|
|
|
|
- NRF_TWIM1_BASE = $40004000;
|
|
|
|
- NRF_TWIS1_BASE = $40004000;
|
|
|
|
- NRF_SPI1_BASE = $40004000;
|
|
|
|
- NRF_TWI1_BASE = $40004000;
|
|
|
|
- NRF_NFCT_BASE = $40005000;
|
|
|
|
- NRF_GPIOTE_BASE = $40006000;
|
|
|
|
- NRF_SAADC_BASE = $40007000;
|
|
|
|
- NRF_TIMER0_BASE = $40008000;
|
|
|
|
- NRF_TIMER1_BASE = $40009000;
|
|
|
|
- NRF_TIMER2_BASE = $4000A000;
|
|
|
|
- NRF_RTC0_BASE = $4000B000;
|
|
|
|
- NRF_TEMP_BASE = $4000C000;
|
|
|
|
- NRF_RNG_BASE = $4000D000;
|
|
|
|
- NRF_ECB_BASE = $4000E000;
|
|
|
|
- NRF_CCM_BASE = $4000F000;
|
|
|
|
- NRF_AAR_BASE = $4000F000;
|
|
|
|
- NRF_WDT_BASE = $40010000;
|
|
|
|
- NRF_RTC1_BASE = $40011000;
|
|
|
|
- NRF_QDEC_BASE = $40012000;
|
|
|
|
- NRF_COMP_BASE = $40013000;
|
|
|
|
- NRF_LPCOMP_BASE = $40013000;
|
|
|
|
- NRF_SWI0_BASE = $40014000;
|
|
|
|
- NRF_EGU0_BASE = $40014000;
|
|
|
|
- NRF_SWI1_BASE = $40015000;
|
|
|
|
- NRF_EGU1_BASE = $40015000;
|
|
|
|
- NRF_SWI2_BASE = $40016000;
|
|
|
|
- NRF_EGU2_BASE = $40016000;
|
|
|
|
- NRF_SWI3_BASE = $40017000;
|
|
|
|
- NRF_EGU3_BASE = $40017000;
|
|
|
|
- NRF_SWI4_BASE = $40018000;
|
|
|
|
- NRF_EGU4_BASE = $40018000;
|
|
|
|
- NRF_SWI5_BASE = $40019000;
|
|
|
|
- NRF_EGU5_BASE = $40019000;
|
|
|
|
- NRF_TIMER3_BASE = $4001A000;
|
|
|
|
- NRF_TIMER4_BASE = $4001B000;
|
|
|
|
- NRF_PWM0_BASE = $4001C000;
|
|
|
|
- NRF_PDM_BASE = $4001D000;
|
|
|
|
- NRF_NVMC_BASE = $4001E000;
|
|
|
|
- NRF_PPI_BASE = $4001F000;
|
|
|
|
- NRF_MWU_BASE = $40020000;
|
|
|
|
- NRF_PWM1_BASE = $40021000;
|
|
|
|
- NRF_PWM2_BASE = $40022000;
|
|
|
|
- NRF_SPIM2_BASE = $40023000;
|
|
|
|
- NRF_SPIS2_BASE = $40023000;
|
|
|
|
- NRF_SPI2_BASE = $40023000;
|
|
|
|
- NRF_RTC2_BASE = $40024000;
|
|
|
|
- NRF_I2S_BASE = $40025000;
|
|
|
|
- NRF_FPU_BASE = $40026000;
|
|
|
|
- NRF_P0_BASE = $50000000;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-{ ================ Peripheral declaration ================ }
|
|
|
|
-{ ================================================================================ }
|
|
|
|
-
|
|
|
|
-var
|
|
|
|
- NRF_FICR : NRF_FICR_Type absolute NRF_FICR_BASE;
|
|
|
|
- NRF_UICR : NRF_UICR_Type absolute NRF_UICR_BASE;
|
|
|
|
- NRF_BPROT : NRF_BPROT_Type absolute NRF_BPROT_BASE;
|
|
|
|
- NRF_POWER : NRF_POWER_Type absolute NRF_POWER_BASE;
|
|
|
|
- NRF_CLOCK : NRF_CLOCK_Type absolute NRF_CLOCK_BASE;
|
|
|
|
- NRF_AMLI : NRF_AMLI_Type absolute NRF_AMLI_BASE;
|
|
|
|
- NRF_RADIO : NRF_RADIO_Type absolute NRF_RADIO_BASE;
|
|
|
|
- NRF_UARTE0: NRF_UARTE_Type absolute NRF_UARTE0_BASE;
|
|
|
|
- NRF_UART0 : NRF_UART_Type absolute NRF_UART0_BASE;
|
|
|
|
- NRF_SPIM0 : NRF_SPIM_Type absolute NRF_SPIM0_BASE;
|
|
|
|
- NRF_SPIS0 : NRF_SPIS_Type absolute NRF_SPIS0_BASE;
|
|
|
|
- NRF_TWIM0 : NRF_TWIM_Type absolute NRF_TWIM0_BASE;
|
|
|
|
- NRF_TWIS0 : NRF_TWIS_Type absolute NRF_TWIS0_BASE;
|
|
|
|
- NRF_SPI0 : NRF_SPI_Type absolute NRF_SPI0_BASE;
|
|
|
|
- NRF_TWI0 : NRF_TWI_Type absolute NRF_TWI0_BASE;
|
|
|
|
- NRF_SPIM1 : NRF_SPIM_Type absolute NRF_SPIM1_BASE;
|
|
|
|
- NRF_SPIS1 : NRF_SPIS_Type absolute NRF_SPIS1_BASE;
|
|
|
|
- NRF_TWIM1 : NRF_TWIM_Type absolute NRF_TWIM1_BASE;
|
|
|
|
- NRF_TWIS1 : NRF_TWIS_Type absolute NRF_TWIS1_BASE;
|
|
|
|
- NRF_SPI1 : NRF_SPI_Type absolute NRF_SPI1_BASE;
|
|
|
|
- NRF_TWI1 : NRF_TWI_Type absolute NRF_TWI1_BASE;
|
|
|
|
- NRF_NFCT : NRF_NFCT_Type absolute NRF_NFCT_BASE;
|
|
|
|
- NRF_GPIOTE: NRF_GPIOTE_Type absolute NRF_GPIOTE_BASE;
|
|
|
|
- NRF_SAADC : NRF_SAADC_Type absolute NRF_SAADC_BASE;
|
|
|
|
- NRF_TIMER0: NRF_TIMER_Type absolute NRF_TIMER0_BASE;
|
|
|
|
- NRF_TIMER1: NRF_TIMER_Type absolute NRF_TIMER1_BASE;
|
|
|
|
- NRF_TIMER2: NRF_TIMER_Type absolute NRF_TIMER2_BASE;
|
|
|
|
- NRF_RTC0 : NRF_RTC_Type absolute NRF_RTC0_BASE;
|
|
|
|
- NRF_TEMP : NRF_TEMP_Type absolute NRF_TEMP_BASE;
|
|
|
|
- NRF_RNG : NRF_RNG_Type absolute NRF_RNG_BASE;
|
|
|
|
- NRF_ECB : NRF_ECB_Type absolute NRF_ECB_BASE;
|
|
|
|
- NRF_CCM : NRF_CCM_Type absolute NRF_CCM_BASE;
|
|
|
|
- NRF_AAR : NRF_AAR_Type absolute NRF_AAR_BASE;
|
|
|
|
- NRF_WDT : NRF_WDT_Type absolute NRF_WDT_BASE;
|
|
|
|
- NRF_RTC1 : NRF_RTC_Type absolute NRF_RTC1_BASE;
|
|
|
|
- NRF_QDEC : NRF_QDEC_Type absolute NRF_QDEC_BASE;
|
|
|
|
- NRF_COMP : NRF_COMP_Type absolute NRF_COMP_BASE;
|
|
|
|
- NRF_LPCOMP: NRF_LPCOMP_Type absolute NRF_LPCOMP_BASE;
|
|
|
|
- NRF_SWI0 : NRF_SWI_Type absolute NRF_SWI0_BASE;
|
|
|
|
- NRF_EGU0 : NRF_EGU_Type absolute NRF_EGU0_BASE;
|
|
|
|
- NRF_SWI1 : NRF_SWI_Type absolute NRF_SWI1_BASE;
|
|
|
|
- NRF_EGU1 : NRF_EGU_Type absolute NRF_EGU1_BASE;
|
|
|
|
- NRF_SWI2 : NRF_SWI_Type absolute NRF_SWI2_BASE;
|
|
|
|
- NRF_EGU2 : NRF_EGU_Type absolute NRF_EGU2_BASE;
|
|
|
|
- NRF_SWI3 : NRF_SWI_Type absolute NRF_SWI3_BASE;
|
|
|
|
- NRF_EGU3 : NRF_EGU_Type absolute NRF_EGU3_BASE;
|
|
|
|
- NRF_SWI4 : NRF_SWI_Type absolute NRF_SWI4_BASE;
|
|
|
|
- NRF_EGU4 : NRF_EGU_Type absolute NRF_EGU4_BASE;
|
|
|
|
- NRF_SWI5 : NRF_SWI_Type absolute NRF_SWI5_BASE;
|
|
|
|
- NRF_EGU5 : NRF_EGU_Type absolute NRF_EGU5_BASE;
|
|
|
|
- NRF_TIMER3: NRF_TIMER_Type absolute NRF_TIMER3_BASE;
|
|
|
|
- NRF_TIMER4: NRF_TIMER_Type absolute NRF_TIMER4_BASE;
|
|
|
|
- NRF_PWM0 : NRF_PWM_Type absolute NRF_PWM0_BASE;
|
|
|
|
- NRF_PDM : NRF_PDM_Type absolute NRF_PDM_BASE;
|
|
|
|
- NRF_NVMC : NRF_NVMC_Type absolute NRF_NVMC_BASE;
|
|
|
|
- NRF_PPI : NRF_PPI_Type absolute NRF_PPI_BASE;
|
|
|
|
- NRF_MWU : NRF_MWU_Type absolute NRF_MWU_BASE;
|
|
|
|
- NRF_PWM1 : NRF_PWM_Type absolute NRF_PWM1_BASE;
|
|
|
|
- NRF_PWM2 : NRF_PWM_Type absolute NRF_PWM2_BASE;
|
|
|
|
- NRF_SPIM2 : NRF_SPIM_Type absolute NRF_SPIM2_BASE;
|
|
|
|
- NRF_SPIS2 : NRF_SPIS_Type absolute NRF_SPIS2_BASE;
|
|
|
|
- NRF_SPI2 : NRF_SPI_Type absolute NRF_SPI2_BASE;
|
|
|
|
- NRF_RTC2 : NRF_RTC_Type absolute NRF_RTC2_BASE;
|
|
|
|
- NRF_I2S : NRF_I2S_Type absolute NRF_I2S_BASE;
|
|
|
|
- NRF_FPU : NRF_FPU_Type absolute NRF_FPU_BASE;
|
|
|
|
- NRF_P0 : NRF_GPIO_Type absolute NRF_P0_BASE;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-implementation
|
|
|
|
-
|
|
|
|
-procedure NMI_Handler; external name 'NMI_Handler';
|
|
|
|
-procedure HardFault_Handler; external name 'HardFault_Handler';
|
|
|
|
-procedure MemoryManagement_Handler; external name 'MemoryManagement_Handler';
|
|
|
|
-procedure BusFault_Handler; external name 'BusFault_Handler';
|
|
|
|
-procedure UsageFault_Handler; external name 'UsageFault_Handler';
|
|
|
|
-procedure SVC_Handler; external name 'SVC_Handler';
|
|
|
|
-procedure DebugMonitor_Handler; external name 'DebugMonitor_Handler';
|
|
|
|
-procedure PendSV_Handler; external name 'PendSV_Handler';
|
|
|
|
-procedure SysTick_Handler; external name 'SysTick_Handler';
|
|
|
|
-
|
|
|
|
-procedure POWER_CLOCK_IRQHandler; external name 'POWER_CLOCK_IRQHandler';
|
|
|
|
-procedure RADIO_IRQHandler; external name 'RADIO_IRQHandler';
|
|
|
|
-procedure UARTE0_UART0_IRQHandler; external name 'UARTE0_UART0_IRQHandler';
|
|
|
|
-procedure SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler; external name 'SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler';
|
|
|
|
-procedure SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQHandler; external name 'SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQHandler';
|
|
|
|
-procedure NFCT_IRQHandler; external name 'NFCT_IRQHandler';
|
|
|
|
-procedure GPIOTE_IRQHandler; external name 'GPIOTE_IRQHandler';
|
|
|
|
-procedure SAADC_IRQHandler; external name 'SAADC_IRQHandler';
|
|
|
|
-procedure TIMER0_IRQHandler; external name 'TIMER0_IRQHandler';
|
|
|
|
-procedure TIMER1_IRQHandler; external name 'TIMER1_IRQHandler';
|
|
|
|
-procedure TIMER2_IRQHandler; external name 'TIMER2_IRQHandler';
|
|
|
|
-procedure RTC0_IRQHandler; external name 'RTC0_IRQHandler';
|
|
|
|
-procedure TEMP_IRQHandler; external name 'TEMP_IRQHandler';
|
|
|
|
-procedure RNG_IRQHandler; external name 'RNG_IRQHandler';
|
|
|
|
-procedure ECB_IRQHandler; external name 'ECB_IRQHandler';
|
|
|
|
-procedure CCM_AAR_IRQHandler; external name 'CCM_AAR_IRQHandler';
|
|
|
|
-procedure WDT_IRQHandler; external name 'WDT_IRQHandler';
|
|
|
|
-procedure RTC1_IRQHandler; external name 'RTC1_IRQHandler';
|
|
|
|
-procedure QDEC_IRQHandler; external name 'QDEC_IRQHandler';
|
|
|
|
-procedure COMP_LPCOMP_IRQHandler; external name 'COMP_LPCOMP_IRQHandler';
|
|
|
|
-procedure SWI0_EGU0_IRQHandler; external name 'SWI0_EGU0_IRQHandler';
|
|
|
|
-procedure SWI1_EGU1_IRQHandler; external name 'SWI1_EGU1_IRQHandler';
|
|
|
|
-procedure SWI2_EGU2_IRQHandler; external name 'SWI2_EGU2_IRQHandler';
|
|
|
|
-procedure SWI3_EGU3_IRQHandler; external name 'SWI3_EGU3_IRQHandler';
|
|
|
|
-procedure SWI4_EGU4_IRQHandler; external name 'SWI4_EGU4_IRQHandler';
|
|
|
|
-procedure SWI5_EGU5_IRQHandler; external name 'SWI5_EGU5_IRQHandler';
|
|
|
|
-procedure TIMER3_IRQHandler; external name 'TIMER3_IRQHandler';
|
|
|
|
-procedure TIMER4_IRQHandler; external name 'TIMER4_IRQHandler';
|
|
|
|
-procedure PWM0_IRQHandler; external name 'PWM0_IRQHandler';
|
|
|
|
-procedure PDM_IRQHandler; external name 'PDM_IRQHandler';
|
|
|
|
-procedure MWU_IRQHandler; external name 'MWU_IRQHandler';
|
|
|
|
-procedure PWM1_IRQHandler; external name 'PWM1_IRQHandler';
|
|
|
|
-procedure PWM2_IRQHandler; external name 'PWM2_IRQHandler';
|
|
|
|
-procedure SPIM2_SPIS2_SPI2_IRQHandler; external name 'SPIM2_SPIS2_SPI2_IRQHandler';
|
|
|
|
-procedure RTC2_IRQHandler; external name 'RTC2_IRQHandler';
|
|
|
|
-procedure I2S_IRQHandler; external name 'I2S_IRQHandler';
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-{$i cortexm4f_start.inc}
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-procedure Vectors; assembler; nostackframe;
|
|
|
|
-label interrupt_vectors;
|
|
|
|
-asm
|
|
|
|
- .section ".init.interrupt_vectors"
|
|
|
|
- interrupt_vectors:
|
|
|
|
- .long _stack_top
|
|
|
|
- .long Startup
|
|
|
|
- .long NMI_Handler
|
|
|
|
- .long HardFault_Handler
|
|
|
|
- .long MemoryManagement_Handler
|
|
|
|
- .long BusFault_Handler
|
|
|
|
- .long UsageFault_Handler
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long SVC_Handler
|
|
|
|
- .long DebugMonitor_Handler
|
|
|
|
- .long 0
|
|
|
|
- .long PendSV_Handler
|
|
|
|
- .long SysTick_Handler
|
|
|
|
-
|
|
|
|
- .long POWER_CLOCK_IRQHandler
|
|
|
|
- .long RADIO_IRQHandler
|
|
|
|
- .long UARTE0_UART0_IRQHandler
|
|
|
|
- .long SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler
|
|
|
|
- .long SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQHandler
|
|
|
|
- .long NFCT_IRQHandler
|
|
|
|
- .long GPIOTE_IRQHandler
|
|
|
|
- .long SAADC_IRQHandler
|
|
|
|
- .long TIMER0_IRQHandler
|
|
|
|
- .long TIMER1_IRQHandler
|
|
|
|
- .long TIMER2_IRQHandler
|
|
|
|
- .long RTC0_IRQHandler
|
|
|
|
- .long TEMP_IRQHandler
|
|
|
|
- .long RNG_IRQHandler
|
|
|
|
- .long ECB_IRQHandler
|
|
|
|
- .long CCM_AAR_IRQHandler
|
|
|
|
- .long WDT_IRQHandler
|
|
|
|
- .long RTC1_IRQHandler
|
|
|
|
- .long QDEC_IRQHandler
|
|
|
|
- .long COMP_LPCOMP_IRQHandler
|
|
|
|
- .long SWI0_EGU0_IRQHandler
|
|
|
|
- .long SWI1_EGU1_IRQHandler
|
|
|
|
- .long SWI2_EGU2_IRQHandler
|
|
|
|
- .long SWI3_EGU3_IRQHandler
|
|
|
|
- .long SWI4_EGU4_IRQHandler
|
|
|
|
- .long SWI5_EGU5_IRQHandler
|
|
|
|
- .long TIMER3_IRQHandler
|
|
|
|
- .long TIMER4_IRQHandler
|
|
|
|
- .long PWM0_IRQHandler
|
|
|
|
- .long PDM_IRQHandler
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long MWU_IRQHandler
|
|
|
|
- .long PWM1_IRQHandler
|
|
|
|
- .long PWM2_IRQHandler
|
|
|
|
- .long SPIM2_SPIS2_SPI2_IRQHandler
|
|
|
|
- .long RTC2_IRQHandler
|
|
|
|
- .long I2S_IRQHandler
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
- .long 0
|
|
|
|
-
|
|
|
|
- .weak NMI_Handler
|
|
|
|
- .weak HardFault_Handler
|
|
|
|
- .weak MemoryManagement_Handler
|
|
|
|
- .weak BusFault_Handler
|
|
|
|
- .weak UsageFault_Handler
|
|
|
|
- .weak SVC_Handler
|
|
|
|
- .weak DebugMonitor_Handler
|
|
|
|
- .weak PendSV_Handler
|
|
|
|
- .weak SysTick_Handler
|
|
|
|
-
|
|
|
|
- .weak POWER_CLOCK_IRQHandler
|
|
|
|
- .weak RADIO_IRQHandler
|
|
|
|
- .weak UARTE0_UART0_IRQHandler
|
|
|
|
- .weak SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler
|
|
|
|
- .weak SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQHandler
|
|
|
|
- .weak NFCT_IRQHandler
|
|
|
|
- .weak GPIOTE_IRQHandler
|
|
|
|
- .weak SAADC_IRQHandler
|
|
|
|
- .weak TIMER0_IRQHandler
|
|
|
|
- .weak TIMER1_IRQHandler
|
|
|
|
- .weak TIMER2_IRQHandler
|
|
|
|
- .weak RTC0_IRQHandler
|
|
|
|
- .weak TEMP_IRQHandler
|
|
|
|
- .weak RNG_IRQHandler
|
|
|
|
- .weak ECB_IRQHandler
|
|
|
|
- .weak CCM_AAR_IRQHandler
|
|
|
|
- .weak WDT_IRQHandler
|
|
|
|
- .weak RTC1_IRQHandler
|
|
|
|
- .weak QDEC_IRQHandler
|
|
|
|
- .weak COMP_LPCOMP_IRQHandler
|
|
|
|
- .weak SWI0_EGU0_IRQHandler
|
|
|
|
- .weak SWI1_EGU1_IRQHandler
|
|
|
|
- .weak SWI2_EGU2_IRQHandler
|
|
|
|
- .weak SWI3_EGU3_IRQHandler
|
|
|
|
- .weak SWI4_EGU4_IRQHandler
|
|
|
|
- .weak SWI5_EGU5_IRQHandler
|
|
|
|
- .weak TIMER3_IRQHandler
|
|
|
|
- .weak TIMER4_IRQHandler
|
|
|
|
- .weak PWM0_IRQHandler
|
|
|
|
- .weak PDM_IRQHandler
|
|
|
|
- .weak MWU_IRQHandler
|
|
|
|
- .weak PWM1_IRQHandler
|
|
|
|
- .weak PWM2_IRQHandler
|
|
|
|
- .weak SPIM2_SPIS2_SPI2_IRQHandler
|
|
|
|
- .weak RTC2_IRQHandler
|
|
|
|
- .weak I2S_IRQHandler
|
|
|
|
-
|
|
|
|
- .set NMI_Handler, HaltProc
|
|
|
|
- .set HardFault_Handler, HaltProc
|
|
|
|
- .set MemoryManagement_Handler, HaltProc
|
|
|
|
- .set BusFault_Handler, HaltProc
|
|
|
|
- .set UsageFault_Handler, HaltProc
|
|
|
|
- .set SVC_Handler, HaltProc
|
|
|
|
- .set DebugMonitor_Handler, HaltProc
|
|
|
|
- .set PendSV_Handler, HaltProc
|
|
|
|
- .set SysTick_Handler, HaltProc
|
|
|
|
-
|
|
|
|
- .set POWER_CLOCK_IRQHandler, HaltProc
|
|
|
|
- .set RADIO_IRQHandler, HaltProc
|
|
|
|
- .set UARTE0_UART0_IRQHandler, HaltProc
|
|
|
|
- .set SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler, HaltProc
|
|
|
|
- .set SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQHandler, HaltProc
|
|
|
|
- .set NFCT_IRQHandler, HaltProc
|
|
|
|
- .set GPIOTE_IRQHandler, HaltProc
|
|
|
|
- .set SAADC_IRQHandler, HaltProc
|
|
|
|
- .set TIMER0_IRQHandler, HaltProc
|
|
|
|
- .set TIMER1_IRQHandler, HaltProc
|
|
|
|
- .set TIMER2_IRQHandler, HaltProc
|
|
|
|
- .set RTC0_IRQHandler, HaltProc
|
|
|
|
- .set TEMP_IRQHandler, HaltProc
|
|
|
|
- .set RNG_IRQHandler, HaltProc
|
|
|
|
- .set ECB_IRQHandler, HaltProc
|
|
|
|
- .set CCM_AAR_IRQHandler, HaltProc
|
|
|
|
- .set WDT_IRQHandler, HaltProc
|
|
|
|
- .set RTC1_IRQHandler, HaltProc
|
|
|
|
- .set QDEC_IRQHandler, HaltProc
|
|
|
|
- .set COMP_LPCOMP_IRQHandler, HaltProc
|
|
|
|
- .set SWI0_EGU0_IRQHandler, HaltProc
|
|
|
|
- .set SWI1_EGU1_IRQHandler, HaltProc
|
|
|
|
- .set SWI2_EGU2_IRQHandler, HaltProc
|
|
|
|
- .set SWI3_EGU3_IRQHandler, HaltProc
|
|
|
|
- .set SWI4_EGU4_IRQHandler, HaltProc
|
|
|
|
- .set SWI5_EGU5_IRQHandler, HaltProc
|
|
|
|
- .set TIMER3_IRQHandler, HaltProc
|
|
|
|
- .set TIMER4_IRQHandler, HaltProc
|
|
|
|
- .set PWM0_IRQHandler, HaltProc
|
|
|
|
- .set PDM_IRQHandler, HaltProc
|
|
|
|
- .set MWU_IRQHandler, HaltProc
|
|
|
|
- .set PWM1_IRQHandler, HaltProc
|
|
|
|
- .set PWM2_IRQHandler, HaltProc
|
|
|
|
- .set SPIM2_SPIS2_SPI2_IRQHandler, HaltProc
|
|
|
|
- .set RTC2_IRQHandler, HaltProc
|
|
|
|
- .set I2S_IRQHandler, HaltProc
|
|
|
|
- .text
|
|
|
|
-end;
|
|
|
|
-end.
|
|
|