123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942 |
- unit nrf51;
- interface
- {$PACKRECORDS 2}
- {$GOTO ON}
- {$MODESWITCH ADVANCEDRECORDS}
- // *****************************************************************************************************
- // * @file nrf51.h
- // CMSIS Cortex-M0 Peripheral Access Layer Header File for
- // * nrf51 from Nordic Semiconductor.
- // *
- // * @version V522
- // * @date 18. November 2016
- // *
- // * @note Generated with SVDConv V2.81d
- // * from CMSIS SVD File 'nrf51.svd' Version 522,
- // *
- // * @par Copyright (c) 2016, Nordic Semiconductor ASA
- // * All rights reserved.
- // *
- // * Redistribution and use in source and binary forms, with or without
- // * modification, are permitted provided that the following conditions are met:
- // *
- // * * Redistributions of source code must retain the above copyright notice, this
- // * list of conditions and the following disclaimer.
- // *
- // * * Redistributions in binary form must reproduce the above copyright notice,
- // * this list of conditions and the following disclaimer in the documentation
- // * and/or other materials provided with the distribution.
- // *
- // * * Neither the name of Nordic Semiconductor ASA nor the names of its
- // * contributors may be used to endorse or promote products derived from
- // * this software without specific prior written permission.
- // *
- // * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- // * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- // * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- // * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- // * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- // * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- // * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- // * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- // * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- // * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- // *
- // *
- // ******************************************************************************************************
- // ------------------------- Interrupt Number Definition ------------------------
- type
- TIRQn_Enum = (
- Reset_IRQn = -15, // 1 Reset Vector, invoked on Power up and warm reset
- NonMaskableInt_IRQn = -14, // 2 Non maskable Interrupt, cannot be stopped or preempted
- HardFault_IRQn = -13, // 3 Hard Fault, all classes of Fault
- SVCall_IRQn = -5, // 11 System Service Call via SVC instruction
- DebugMonitor_IRQn = -4, // 12 Debug Monitor
- PendSV_IRQn = -2, // 14 Pendable request for system service
- SysTick_IRQn = -1, // 15 System Tick Timer
- POWER_CLOCK_IRQn = 0, // 0 POWER_CLOCK
- RADIO_IRQn = 1, // 1 RADIO
- UART0_IRQn = 2, // 2 UART0
- SPI0_TWI0_IRQn = 3, // 3 SPI0_TWI0
- SPI1_TWI1_IRQn = 4, // 4 SPI1_TWI1
- GPIOTE_IRQn = 6, // 6 GPIOTE
- ADC_IRQn = 7, // 7 ADC
- 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
- LPCOMP_IRQn = 19, // 19 LPCOMP
- SWI0_IRQn = 20, // 20 SWI0
- SWI1_IRQn = 21, // 21 SWI1
- SWI2_IRQn = 22, // 22 SWI2
- SWI3_IRQn = 23, // 23 SWI3
- SWI4_IRQn = 24, // 24 SWI4
- SWI5_IRQn = 25 // 25 SWI5
- );
- TPPI_TASKS_CHG_Registers = record
- EN : longword; // Enable channel group.
- DIS : longword; // Disable channel group.
- end;
- TPPI_CH_Registers = record
- EEP : longword; // Channel event end-point.
- TEP : longword; // Channel task end-point.
- end;
- TPOWER_Registers = record // POWER Structure
- RESERVED0 : array[0..29] of longword;
- TASKS_CONSTLAT : longword; // Enable constant latency mode.
- TASKS_LOWPWR : longword; // Enable low power mode (variable latency).
- RESERVED1 : array[0..33] of longword;
- EVENTS_POFWARN : longword; // Power failure warning.
- RESERVED2 : array[0..125] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED3 : array[0..60] of longword;
- RESETREAS : longword; // Reset reason.
- RESERVED4 : array[0..8] of longword;
- RAMSTATUS : longword; // Ram status register.
- RESERVED5 : array[0..52] of longword;
- SYSTEMOFF : longword; // System off register.
- RESERVED6 : array[0..2] of longword;
- POFCON : longword; // Power failure configuration.
- RESERVED7 : array[0..1] of longword;
- GPREGRET : longword; // General purpose retention register. This register is a retained
- RESERVED8 : longword;
- RAMON : longword; // Ram on/off.
- RESERVED9 : array[0..6] of longword;
- RESET : longword; // Pin reset functionality configuration register. This register
- RESERVED10 : array[0..2] of longword;
- RAMONB : longword; // Ram on/off.
- RESERVED11 : array[0..7] of longword;
- DCDCEN : longword; // DCDC converter enable configuration register.
- RESERVED12 : array[0..290] of longword;
- DCDCFORCE : longword; // DCDC power-up force register.
- end;
- TCLOCK_Registers = record // CLOCK Structure
- TASKS_HFCLKSTART : longword; // Start HFCLK clock source.
- TASKS_HFCLKSTOP : longword; // Stop HFCLK clock source.
- TASKS_LFCLKSTART : longword; // Start LFCLK clock source.
- TASKS_LFCLKSTOP : longword; // Stop LFCLK clock source.
- TASKS_CAL : longword; // Start calibration of LFCLK RC oscillator.
- TASKS_CTSTART : longword; // Start calibration timer.
- TASKS_CTSTOP : longword; // Stop calibration timer.
- RESERVED0 : array[0..56] of longword;
- EVENTS_HFCLKSTARTED : longword; // HFCLK oscillator started.
- EVENTS_LFCLKSTARTED : longword; // LFCLK oscillator started.
- RESERVED1 : longword;
- EVENTS_DONE : longword; // Calibration of LFCLK RC oscillator completed.
- EVENTS_CTTO : longword; // Calibration timer timeout.
- RESERVED2 : array[0..123] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED3 : array[0..62] of longword;
- HFCLKRUN : longword; // Task HFCLKSTART trigger status.
- HFCLKSTAT : longword; // High frequency clock status.
- RESERVED4 : longword;
- LFCLKRUN : longword; // Task LFCLKSTART triggered status.
- LFCLKSTAT : longword; // Low frequency clock status.
- LFCLKSRCCOPY : longword; // Clock source for the LFCLK clock, set when task LKCLKSTART is
- RESERVED5 : array[0..61] of longword;
- LFCLKSRC : longword; // Clock source for the LFCLK clock.
- RESERVED6 : array[0..6] of longword;
- CTIV : longword; // Calibration timer interval.
- RESERVED7 : array[0..4] of longword;
- XTALFREQ : longword; // Crystal frequency.
- end;
- TMPU_Registers = record // MPU Structure
- RESERVED0 : array[0..329] of longword;
- PERR0 : longword; // Configuration of peripherals in mpu regions.
- RLENR0 : longword; // Length of RAM region 0.
- RESERVED1 : array[0..51] of longword;
- PROTENSET0 : longword; // Erase and write protection bit enable set register.
- PROTENSET1 : longword; // Erase and write protection bit enable set register.
- DISABLEINDEBUG : longword; // Disable erase and write protection mechanism in debug mode.
- PROTBLOCKSIZE : longword; // Erase and write protection block size.
- end;
- TRADIO_Registers = record // RADIO Structure
- TASKS_TXEN : longword; // Enable radio in TX mode.
- TASKS_RXEN : longword; // Enable radio in RX mode.
- TASKS_START : longword; // Start radio.
- TASKS_STOP : longword; // Stop radio.
- TASKS_DISABLE : longword; // Disable radio.
- TASKS_RSSISTART : longword; // Start the RSSI and take one sample of the receive signal strength.
- TASKS_RSSISTOP : longword; // Stop the RSSI measurement.
- TASKS_BCSTART : longword; // Start the bit counter.
- TASKS_BCSTOP : longword; // Stop the bit counter.
- RESERVED0 : array[0..54] of longword;
- EVENTS_READY : longword; // Ready event.
- EVENTS_ADDRESS : longword; // Address event.
- EVENTS_PAYLOAD : longword; // Payload event.
- EVENTS_END : longword; // End event.
- EVENTS_DISABLED : longword; // Disable event.
- EVENTS_DEVMATCH : longword; // A device address match occurred on the last received packet.
- EVENTS_DEVMISS : longword; // No device address match occurred on the last received packet.
- EVENTS_RSSIEND : longword; // Sampling of the receive signal strength complete. A new RSSI
- RESERVED1 : array[0..1] of longword;
- EVENTS_BCMATCH : longword; // Bit counter reached bit count value specified in BCC register.
- RESERVED2 : array[0..52] of longword;
- SHORTS : longword; // Shortcuts for the radio.
- RESERVED3 : array[0..63] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED4 : array[0..60] of longword;
- CRCSTATUS : longword; // CRC status of received packet.
- RESERVED5 : longword;
- RXMATCH : longword; // Received address.
- RXCRC : longword; // Received CRC.
- DAI : longword; // Device address match index.
- RESERVED6 : array[0..59] of longword;
- PACKETPTR : longword; // Packet pointer. Decision point: START task.
- FREQUENCY : longword; // Frequency.
- TXPOWER : longword; // Output power.
- MODE : longword; // Data rate and modulation.
- PCNF0 : longword; // Packet configuration 0.
- PCNF1 : longword; // Packet configuration 1.
- BASE0 : longword; // Radio base address 0. Decision point: START task.
- BASE1 : longword; // Radio base address 1. Decision point: START task.
- PREFIX0 : longword; // Prefixes bytes for logical addresses 0 to 3.
- PREFIX1 : longword; // Prefixes bytes for logical addresses 4 to 7.
- TXADDRESS : longword; // Transmit address select.
- RXADDRESSES : longword; // Receive address select.
- CRCCNF : longword; // CRC configuration.
- CRCPOLY : longword; // CRC polynomial.
- CRCINIT : longword; // CRC initial value.
- TEST : longword; // Test features enable register.
- TIFS : longword; // Inter Frame Spacing in microseconds.
- RSSISAMPLE : longword; // RSSI sample.
- RESERVED7 : longword;
- STATE : longword; // Current radio state.
- DATAWHITEIV : longword; // Data whitening initial value.
- RESERVED8 : array[0..1] of longword;
- BCC : longword; // Bit counter compare.
- RESERVED9 : array[0..38] of longword;
- DAB : array[0..7] of longword; // Device address base segment.
- DAP : array[0..7] of longword; // Device address prefix.
- DACNF : longword; // Device address match configuration.
- RESERVED10 : array[0..55] of longword;
- OVERRIDE0 : longword; // Trim value override register 0.
- OVERRIDE1 : longword; // Trim value override register 1.
- OVERRIDE2 : longword; // Trim value override register 2.
- OVERRIDE3 : longword; // Trim value override register 3.
- OVERRIDE4 : longword; // Trim value override register 4.
- RESERVED11 : array[0..560] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TUART_Registers = record // UART Structure
- TASKS_STARTRX : longword; // Start UART receiver.
- TASKS_STOPRX : longword; // Stop UART receiver.
- TASKS_STARTTX : longword; // Start UART transmitter.
- TASKS_STOPTX : longword; // Stop UART transmitter.
- RESERVED0 : array[0..2] of longword;
- TASKS_SUSPEND : longword; // Suspend UART.
- RESERVED1 : array[0..55] of longword;
- EVENTS_CTS : longword; // CTS activated.
- EVENTS_NCTS : longword; // CTS deactivated.
- EVENTS_RXDRDY : longword; // Data received in RXD.
- RESERVED2 : array[0..3] of longword;
- EVENTS_TXDRDY : longword; // Data sent from TXD.
- RESERVED3 : longword;
- EVENTS_ERROR : longword; // Error detected.
- RESERVED4 : array[0..6] of longword;
- EVENTS_RXTO : longword; // Receiver timeout.
- RESERVED5 : array[0..45] of longword;
- SHORTS : longword; // Shortcuts for UART.
- RESERVED6 : array[0..63] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED7 : array[0..92] of longword;
- ERRORSRC : longword; // Error source. Write error field to 1 to clear error.
- RESERVED8 : array[0..30] of longword;
- ENABLE : longword; // Enable UART and acquire IOs.
- RESERVED9 : longword;
- PSELRTS : longword; // Pin select for RTS.
- PSELTXD : longword; // Pin select for TXD.
- PSELCTS : longword; // Pin select for CTS.
- PSELRXD : longword; // Pin select for RXD.
- RXD : longword; // RXD register. On read action the buffer pointer is displaced.
- TXD : longword; // TXD register.
- RESERVED10 : longword;
- BAUDRATE : longword; // UART Baudrate.
- RESERVED11 : array[0..16] of longword;
- CONFIG : longword; // Configuration of parity and hardware flow control register.
- RESERVED12 : array[0..674] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TSPI_Registers = record // SPI Structure
- RESERVED0 : array[0..65] of longword;
- EVENTS_READY : longword; // TXD byte sent and RXD byte received.
- RESERVED1 : array[0..125] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED2 : array[0..124] of longword;
- ENABLE : longword; // Enable SPI.
- RESERVED3 : longword;
- PSELSCK : longword; // Pin select for SCK.
- PSELMOSI : longword; // Pin select for MOSI.
- PSELMISO : longword; // Pin select for MISO.
- RESERVED4 : longword;
- RXD : longword; // RX data.
- TXD : longword; // TX data.
- RESERVED5 : longword;
- FREQUENCY : longword; // SPI frequency
- RESERVED6 : array[0..10] of longword;
- CONFIG : longword; // Configuration register.
- RESERVED7 : array[0..680] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TTWI_Registers = record // TWI Structure
- TASKS_STARTRX : longword; // Start 2-Wire master receive sequence.
- RESERVED0 : longword;
- TASKS_STARTTX : longword; // Start 2-Wire master transmit sequence.
- RESERVED1 : array[0..1] of longword;
- TASKS_STOP : longword; // Stop 2-Wire transaction.
- RESERVED2 : longword;
- TASKS_SUSPEND : longword; // Suspend 2-Wire transaction.
- TASKS_RESUME : longword; // Resume 2-Wire transaction.
- RESERVED3 : array[0..55] of longword;
- EVENTS_STOPPED : longword; // Two-wire stopped.
- EVENTS_RXDREADY : longword; // Two-wire ready to deliver new RXD byte received.
- RESERVED4 : array[0..3] of longword;
- EVENTS_TXDSENT : longword; // Two-wire finished sending last TXD byte.
- RESERVED5 : longword;
- EVENTS_ERROR : longword; // Two-wire error detected.
- RESERVED6 : array[0..3] of longword;
- EVENTS_BB : longword; // Two-wire byte boundary.
- RESERVED7 : array[0..2] of longword;
- EVENTS_SUSPENDED : longword; // Two-wire suspended.
- RESERVED8 : array[0..44] of longword;
- SHORTS : longword; // Shortcuts for TWI.
- RESERVED9 : array[0..63] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED10 : array[0..109] of longword;
- ERRORSRC : longword; // Two-wire error source. Write error field to 1 to clear error.
- RESERVED11 : array[0..13] of longword;
- ENABLE : longword; // Enable two-wire master.
- RESERVED12 : longword;
- PSELSCL : longword; // Pin select for SCL.
- PSELSDA : longword; // Pin select for SDA.
- RESERVED13 : array[0..1] of longword;
- RXD : longword; // RX data register.
- TXD : longword; // TX data register.
- RESERVED14 : longword;
- FREQUENCY : longword; // Two-wire frequency.
- RESERVED15 : array[0..23] of longword;
- ADDRESS : longword; // Address used in the two-wire transfer.
- RESERVED16 : array[0..667] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TSPIS_Registers = record // SPIS Structure
- RESERVED0 : array[0..8] of longword;
- TASKS_ACQUIRE : longword; // Acquire SPI semaphore.
- TASKS_RELEASE : longword; // Release SPI semaphore.
- 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; // Shortcuts for SPIS.
- RESERVED5 : array[0..63] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED6 : array[0..60] of longword;
- SEMSTAT : longword; // Semaphore status.
- RESERVED7 : array[0..14] of longword;
- STATUS : longword; // Status from last transaction.
- RESERVED8 : array[0..46] of longword;
- ENABLE : longword; // Enable SPIS.
- RESERVED9 : longword;
- PSELSCK : longword; // Pin select for SCK.
- PSELMISO : longword; // Pin select for MISO.
- PSELMOSI : longword; // Pin select for MOSI.
- PSELCSN : longword; // Pin select for CSN.
- RESERVED10 : array[0..6] of longword;
- RXDPTR : longword; // RX data pointer.
- MAXRX : longword; // Maximum number of bytes in the receive buffer.
- AMOUNTRX : longword; // Number of bytes received in last granted transaction.
- RESERVED11 : longword;
- TXDPTR : longword; // TX data pointer.
- MAXTX : longword; // Maximum number of bytes in the transmit buffer.
- AMOUNTTX : longword; // Number of bytes transmitted in last granted transaction.
- RESERVED12 : longword;
- CONFIG : longword; // Configuration register.
- RESERVED13 : longword;
- DEF : longword; // Default character.
- RESERVED14 : array[0..23] of longword;
- ORC : longword; // Over-read character.
- RESERVED15 : array[0..653] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TGPIOTE_Registers = record // GPIOTE Structure
- TASKS_OUT : array[0..3] of longword; // Tasks asssociated with GPIOTE channels.
- RESERVED0 : array[0..59] of longword;
- EVENTS_IN : array[0..3] of longword; // Tasks asssociated with GPIOTE channels.
- RESERVED1 : array[0..26] of longword;
- EVENTS_PORT : longword; // Event generated from multiple pins.
- RESERVED2 : array[0..96] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED3 : array[0..128] of longword;
- CONFIG : array[0..3] of longword; // Channel configuration registers.
- RESERVED4 : array[0..694] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TADC_Registers = record // ADC Structure
- TASKS_START : longword; // Start an ADC conversion.
- TASKS_STOP : longword; // Stop ADC.
- RESERVED0 : array[0..61] of longword;
- EVENTS_END : longword; // ADC conversion complete.
- RESERVED1 : array[0..127] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED2 : array[0..60] of longword;
- BUSY : longword; // ADC busy register.
- RESERVED3 : array[0..62] of longword;
- ENABLE : longword; // ADC enable.
- CONFIG : longword; // ADC configuration register.
- RESULT : longword; // Result of ADC conversion.
- RESERVED4 : array[0..699] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TTIMER_Registers = record // TIMER Structure
- TASKS_START : longword; // Start Timer.
- TASKS_STOP : longword; // Stop Timer.
- TASKS_COUNT : longword; // Increment Timer (In counter mode).
- TASKS_CLEAR : longword; // Clear timer.
- TASKS_SHUTDOWN : longword; // Shutdown timer.
- RESERVED0 : array[0..10] of longword;
- TASKS_CAPTURE : array[0..3] of longword; // Capture Timer value to CC[n] registers.
- RESERVED1 : array[0..59] of longword;
- EVENTS_COMPARE : array[0..3] of longword; // Compare event on CC[n] match.
- RESERVED2 : array[0..43] of longword;
- SHORTS : longword; // Shortcuts for Timer.
- RESERVED3 : array[0..63] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED4 : array[0..125] of longword;
- MODE : longword; // Timer Mode selection.
- BITMODE : longword; // Sets timer behaviour.
- RESERVED5 : longword;
- PRESCALER : longword; // 4-bit prescaler to source clock frequency (max value 9). Source
- RESERVED6 : array[0..10] of longword;
- CC : array[0..3] of longword; // Capture/compare registers.
- RESERVED7 : array[0..682] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TRTC_Registers = record // RTC Structure
- TASKS_START : longword; // Start RTC Counter.
- TASKS_STOP : longword; // Stop RTC Counter.
- TASKS_CLEAR : longword; // Clear RTC Counter.
- TASKS_TRIGOVRFLW : longword; // Set COUNTER to 0xFFFFFFF0.
- RESERVED0 : array[0..59] of longword;
- EVENTS_TICK : longword; // Event on COUNTER increment.
- EVENTS_OVRFLW : longword; // Event on COUNTER overflow.
- RESERVED1 : array[0..13] of longword;
- EVENTS_COMPARE : array[0..3] of longword; // Compare event on CC[n] match.
- RESERVED2 : array[0..108] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED3 : array[0..12] of longword;
- EVTEN : longword; // Configures event enable routing to PPI for each RTC event.
- EVTENSET : longword; // Enable events routing to PPI. The reading of this register gives
- EVTENCLR : longword; // Disable events routing to PPI. The reading of this register
- RESERVED4 : array[0..109] of longword;
- COUNTER : longword; // Current COUNTER value.
- PRESCALER : longword; // 12-bit prescaler for COUNTER frequency (32768/(PRESCALER+1)).
- RESERVED5 : array[0..12] of longword;
- CC : array[0..3] of longword; // Capture/compare registers.
- RESERVED6 : array[0..682] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TTEMP_Registers = record // TEMP Structure
- TASKS_START : longword; // Start temperature measurement.
- TASKS_STOP : longword; // Stop temperature measurement.
- RESERVED0 : array[0..61] of longword;
- EVENTS_DATARDY : longword; // Temperature measurement complete, data ready event.
- RESERVED1 : array[0..127] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED2 : array[0..126] of longword;
- TEMP : longint; // Die temperature in degC, 2's complement format, 0.25 degC pecision.
- RESERVED3 : array[0..699] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TRNG_Registers = record // RNG Structure
- TASKS_START : longword; // Start the random number generator.
- TASKS_STOP : longword; // Stop the random number generator.
- RESERVED0 : array[0..61] of longword;
- EVENTS_VALRDY : longword; // New random number generated and written to VALUE register.
- RESERVED1 : array[0..62] of longword;
- SHORTS : longword; // Shortcuts for the RNG.
- RESERVED2 : array[0..63] of longword;
- INTENSET : longword; // Interrupt enable set register
- INTENCLR : longword; // Interrupt enable clear register
- RESERVED3 : array[0..125] of longword;
- CONFIG : longword; // Configuration register.
- VALUE : longword; // RNG random number.
- RESERVED4 : array[0..699] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TECB_Registers = record // ECB Structure
- TASKS_STARTECB : longword; // Start ECB block encrypt. If a crypto operation is running, this
- TASKS_STOPECB : longword; // Stop current ECB encryption. If a crypto operation is running,
- RESERVED0 : array[0..61] of longword;
- EVENTS_ENDECB : longword; // ECB block encrypt complete.
- EVENTS_ERRORECB : longword; // ECB block encrypt aborted due to a STOPECB task or due to an
- RESERVED1 : array[0..126] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED2 : array[0..125] of longword;
- ECBDATAPTR : longword; // ECB block encrypt memory pointer.
- RESERVED3 : array[0..700] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TAAR_Registers = record // AAR Structure
- TASKS_START : longword; // Start resolving addresses based on IRKs specified in the IRK
- RESERVED0 : longword;
- TASKS_STOP : longword; // Stop resolving addresses.
- RESERVED1 : array[0..60] of longword;
- EVENTS_END : longword; // Address resolution procedure completed.
- EVENTS_RESOLVED : longword; // Address resolved.
- EVENTS_NOTRESOLVED : longword; // Address not resolved.
- RESERVED2 : array[0..125] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED3 : array[0..60] of longword;
- STATUS : longword; // Resolution status.
- RESERVED4 : array[0..62] of longword;
- ENABLE : longword; // Enable AAR.
- NIRK : longword; // Number of Identity root Keys in the IRK data structure.
- IRKPTR : longword; // Pointer to the IRK data structure.
- RESERVED5 : longword;
- ADDRPTR : longword; // Pointer to the resolvable address (6 bytes).
- SCRATCHPTR : longword; // Pointer to a scratch data area used for temporary storage during
- RESERVED6 : array[0..696] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TCCM_Registers = record // CCM Structure
- TASKS_KSGEN : longword; // Start generation of key-stream. This operation will stop by
- TASKS_CRYPT : longword; // Start encrypt/decrypt. This operation will stop by itself when
- TASKS_STOP : longword; // Stop encrypt/decrypt.
- RESERVED0 : array[0..60] of longword;
- EVENTS_ENDKSGEN : longword; // Keystream generation completed.
- EVENTS_ENDCRYPT : longword; // Encrypt/decrypt completed.
- EVENTS_ERROR : longword; // Error happened.
- RESERVED1 : array[0..60] of longword;
- SHORTS : longword; // Shortcuts for the CCM.
- RESERVED2 : array[0..63] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED3 : array[0..60] of longword;
- MICSTATUS : longword; // CCM RX MIC check result.
- RESERVED4 : array[0..62] of longword;
- ENABLE : longword; // CCM enable.
- MODE : longword; // Operation mode.
- CNFPTR : longword; // Pointer to a data structure holding AES key and NONCE vector.
- INPTR : longword; // Pointer to the input packet.
- OUTPTR : longword; // Pointer to the output packet.
- SCRATCHPTR : longword; // Pointer to a scratch data area used for temporary storage during
- RESERVED5 : array[0..696] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TWDT_Registers = record // WDT Structure
- TASKS_START : longword; // Start the watchdog.
- RESERVED0 : array[0..62] of longword;
- EVENTS_TIMEOUT : longword; // Watchdog timeout.
- RESERVED1 : array[0..127] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED2 : array[0..60] of longword;
- RUNSTATUS : longword; // Watchdog running status.
- REQSTATUS : longword; // Request status.
- RESERVED3 : array[0..62] of longword;
- CRV : longword; // Counter reload value in number of 32kiHz clock cycles.
- RREN : longword; // Reload request enable.
- CONFIG : longword; // Configuration register.
- RESERVED4 : array[0..59] of longword;
- RR : array[0..7] of longword; // Reload requests registers.
- RESERVED5 : array[0..630] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TQDEC_Registers = record // QDEC Structure
- TASKS_START : longword; // Start the quadrature decoder.
- TASKS_STOP : longword; // Stop the quadrature decoder.
- TASKS_READCLRACC : longword; // Transfers the content from ACC registers to ACCREAD registers,
- RESERVED0 : array[0..60] of longword;
- EVENTS_SAMPLERDY : longword; // A new sample is written to the sample register.
- EVENTS_REPORTRDY : longword; // REPORTPER number of samples accumulated in ACC register, and
- EVENTS_ACCOF : longword; // ACC or ACCDBL register overflow.
- RESERVED1 : array[0..60] of longword;
- SHORTS : longword; // Shortcuts for the QDEC.
- RESERVED2 : array[0..63] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED3 : array[0..124] of longword;
- ENABLE : longword; // Enable the QDEC.
- LEDPOL : longword; // LED output pin polarity.
- SAMPLEPER : longword; // Sample period.
- SAMPLE : longint; // Motion sample value.
- REPORTPER : longword; // Number of samples to generate an EVENT_REPORTRDY.
- ACC : longint; // Accumulated valid transitions register.
- ACCREAD : longint; // Snapshot of ACC register. Value generated by the TASKS_READCLEACC
- PSELLED : longword; // Pin select for LED output.
- PSELA : longword; // Pin select for phase A input.
- PSELB : longword; // Pin select for phase B input.
- DBFEN : longword; // Enable debouncer input filters.
- RESERVED4 : array[0..4] of longword;
- LEDPRE : longword; // Time LED is switched ON before the sample.
- ACCDBL : longword; // Accumulated double (error) transitions register.
- ACCDBLREAD : longword; // Snapshot of ACCDBL register. Value generated by the TASKS_READCLEACC
- RESERVED5 : array[0..683] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TLPCOMP_Registers = record // LPCOMP Structure
- TASKS_START : longword; // Start the comparator.
- TASKS_STOP : longword; // Stop the comparator.
- TASKS_SAMPLE : longword; // Sample comparator value.
- RESERVED0 : array[0..60] of longword;
- EVENTS_READY : longword; // LPCOMP is ready and output is valid.
- EVENTS_DOWN : longword; // Input voltage crossed the threshold going down.
- EVENTS_UP : longword; // Input voltage crossed the threshold going up.
- EVENTS_CROSS : longword; // Input voltage crossed the threshold in any direction.
- RESERVED1 : array[0..59] of longword;
- SHORTS : longword; // Shortcuts for the LPCOMP.
- RESERVED2 : array[0..63] of longword;
- INTENSET : longword; // Interrupt enable set register.
- INTENCLR : longword; // Interrupt enable clear register.
- RESERVED3 : array[0..60] of longword;
- RESULT : longword; // Result of last compare.
- RESERVED4 : array[0..62] of longword;
- ENABLE : longword; // Enable the LPCOMP.
- PSEL : longword; // Input pin select.
- REFSEL : longword; // Reference select.
- EXTREFSEL : longword; // External reference select.
- RESERVED5 : array[0..3] of longword;
- ANADETECT : longword; // Analog detect configuration.
- RESERVED6 : array[0..693] of longword;
- POWER : longword; // Peripheral power control.
- end;
- TSWI_Registers = record // SWI Structure
- UNUSED : longword; // Unused.
- end;
- TNVMC_Registers = record // NVMC Structure
- RESERVED0 : array[0..255] of longword;
- READY : longword; // Ready flag.
- RESERVED1 : array[0..63] of longword;
- CONFIG : longword; // Configuration register.
- ERASEPAGE : longword; // Register for erasing a non-protected non-volatile memory page.
- ERASEALL : longword; // Register for erasing all non-volatile user memory.
- ERASEPCR0 : longword; // Register for erasing a protected non-volatile memory page.
- ERASEUICR : longword; // Register for start erasing User Information Congfiguration Registers.
- end;
- TPPI_Registers = record // PPI Structure
- TASKS_CHG : array[0..3] of TPPI_TASKS_CHG_Registers; // Channel group tasks.
- RESERVED0 : array[0..311] of longword;
- CHEN : longword; // Channel enable.
- CHENSET : longword; // Channel enable set.
- CHENCLR : longword; // Channel enable clear.
- RESERVED1 : longword;
- CH : array[0..15] of TPPI_CH_Registers; // PPI Channel.
- RESERVED2 : array[0..155] of longword;
- CHG : array[0..3] of longword; // Channel group configuration.
- end;
- TFICR_Registers = record // FICR Structure
- RESERVED0 : array[0..3] of longword;
- CODEPAGESIZE : longword; // Code memory page size in bytes.
- CODESIZE : longword; // Code memory size in pages.
- RESERVED1 : array[0..3] of longword;
- CLENR0 : longword; // Length of code region 0 in bytes.
- PPFC : longword; // Pre-programmed factory code present.
- RESERVED2 : longword;
- NUMRAMBLOCK : longword; // Number of individualy controllable RAM blocks.
- SIZERAMBLOCK : array[0..3] of longword; // Deprecated array of size of RAM block in bytes. This name is
- RESERVED3 : array[0..4] of longword;
- CONFIGID : longword; // Configuration identifier.
- DEVICEID : array[0..1] of longword; // Device identifier.
- RESERVED4 : array[0..5] of longword;
- ER : array[0..3] of longword; // Encryption root.
- IR : array[0..3] of longword; // Identity root.
- DEVICEADDRTYPE : longword; // Device address type.
- DEVICEADDR : array[0..1] of longword; // Device address.
- OVERRIDEEN : longword; // Radio calibration override enable.
- NRF_1MBIT : array[0..4] of longword; // Override values for the OVERRIDEn registers in RADIO for NRF_1Mbit
- RESERVED5 : array[0..9] of longword;
- BLE_1MBIT : array[0..4] of longword; // Override values for the OVERRIDEn registers in RADIO for BLE_1Mbit
- end;
- TUICR_Registers = record // UICR Structure
- CLENR0 : longword; // Length of code region 0.
- RBPCONF : longword; // Readback protection configuration.
- XTALFREQ : longword; // Reset value for CLOCK XTALFREQ register.
- RESERVED0 : longword;
- FWID : longword; // Firmware ID.
- NRFFW : array[0..14] of longword; // Reserved for Nordic firmware design.
- NRFHW : array[0..11] of longword; // Reserved for Nordic hardware design.
- CUSTOMER : array[0..31] of longword; // Reserved for customer.
- end;
- TGPIO_Registers = record // GPIO Structure
- RESERVED0 : array[0..320] of longword;
- OUT : longword; // Write GPIO port.
- OUTSET : longword; // Set individual bits in GPIO port.
- OUTCLR : longword; // Clear individual bits in GPIO port.
- &IN : longword; // Read GPIO port.
- DIR : longword; // Direction of GPIO pins.
- DIRSET : longword; // DIR set register.
- DIRCLR : longword; // DIR clear register.
- RESERVED1 : array[0..119] of longword;
- PIN_CNF : array[0..31] of longword; // Configuration of GPIO pins.
- end;
- const
- POWER_BASE = $40000000;
- CLOCK_BASE = $40000000;
- MPU_BASE = $40000000;
- RADIO_BASE = $40001000;
- UART0_BASE = $40002000;
- SPI0_BASE = $40003000;
- TWI0_BASE = $40003000;
- SPI1_BASE = $40004000;
- TWI1_BASE = $40004000;
- SPIS1_BASE = $40004000;
- GPIOTE_BASE = $40006000;
- ADC_BASE = $40007000;
- TIMER0_BASE = $40008000;
- TIMER1_BASE = $40009000;
- TIMER2_BASE = $4000A000;
- RTC0_BASE = $4000B000;
- TEMP_BASE = $4000C000;
- RNG_BASE = $4000D000;
- ECB_BASE = $4000E000;
- AAR_BASE = $4000F000;
- CCM_BASE = $4000F000;
- WDT_BASE = $40010000;
- RTC1_BASE = $40011000;
- QDEC_BASE = $40012000;
- LPCOMP_BASE = $40013000;
- SWI_BASE = $40014000;
- NVMC_BASE = $4001E000;
- PPI_BASE = $4001F000;
- FICR_BASE = $10000000;
- UICR_BASE = $10001000;
- GPIO_BASE = $50000000;
- var
- POWER : TPOWER_Registers absolute POWER_BASE;
- CLOCK : TCLOCK_Registers absolute CLOCK_BASE;
- MPU : TMPU_Registers absolute MPU_BASE;
- RADIO : TRADIO_Registers absolute RADIO_BASE;
- UART0 : TUART_Registers absolute UART0_BASE;
- SPI0 : TSPI_Registers absolute SPI0_BASE;
- TWI0 : TTWI_Registers absolute TWI0_BASE;
- SPI1 : TSPI_Registers absolute SPI1_BASE;
- TWI1 : TTWI_Registers absolute TWI1_BASE;
- SPIS1 : TSPIS_Registers absolute SPIS1_BASE;
- GPIOTE : TGPIOTE_Registers absolute GPIOTE_BASE;
- ADC : TADC_Registers absolute ADC_BASE;
- TIMER0 : TTIMER_Registers absolute TIMER0_BASE;
- TIMER1 : TTIMER_Registers absolute TIMER1_BASE;
- TIMER2 : TTIMER_Registers absolute TIMER2_BASE;
- RTC0 : TRTC_Registers absolute RTC0_BASE;
- TEMP : TTEMP_Registers absolute TEMP_BASE;
- RNG : TRNG_Registers absolute RNG_BASE;
- ECB : TECB_Registers absolute ECB_BASE;
- AAR : TAAR_Registers absolute AAR_BASE;
- CCM : TCCM_Registers absolute CCM_BASE;
- WDT : TWDT_Registers absolute WDT_BASE;
- RTC1 : TRTC_Registers absolute RTC1_BASE;
- QDEC : TQDEC_Registers absolute QDEC_BASE;
- LPCOMP : TLPCOMP_Registers absolute LPCOMP_BASE;
- SWI : TSWI_Registers absolute SWI_BASE;
- NVMC : TNVMC_Registers absolute NVMC_BASE;
- PPI : TPPI_Registers absolute PPI_BASE;
- FICR : TFICR_Registers absolute FICR_BASE;
- UICR : TUICR_Registers absolute UICR_BASE;
- GPIO : TGPIO_Registers absolute GPIO_BASE;
- implementation
- procedure Reset_interrupt; external name 'Reset_interrupt';
- procedure NonMaskableInt_interrupt; external name 'NonMaskableInt_interrupt';
- procedure HardFault_interrupt; external name 'HardFault_interrupt';
- procedure SVCall_interrupt; external name 'SVCall_interrupt';
- procedure DebugMonitor_interrupt; external name 'DebugMonitor_interrupt';
- procedure PendSV_interrupt; external name 'PendSV_interrupt';
- procedure SysTick_interrupt; external name 'SysTick_interrupt';
- procedure POWER_CLOCK_interrupt; external name 'POWER_CLOCK_interrupt';
- procedure RADIO_interrupt; external name 'RADIO_interrupt';
- procedure UART0_interrupt; external name 'UART0_interrupt';
- procedure SPI0_TWI0_interrupt; external name 'SPI0_TWI0_interrupt';
- procedure SPI1_TWI1_interrupt; external name 'SPI1_TWI1_interrupt';
- procedure GPIOTE_interrupt; external name 'GPIOTE_interrupt';
- procedure ADC_interrupt; external name 'ADC_interrupt';
- procedure TIMER0_interrupt; external name 'TIMER0_interrupt';
- procedure TIMER1_interrupt; external name 'TIMER1_interrupt';
- procedure TIMER2_interrupt; external name 'TIMER2_interrupt';
- procedure RTC0_interrupt; external name 'RTC0_interrupt';
- procedure TEMP_interrupt; external name 'TEMP_interrupt';
- procedure RNG_interrupt; external name 'RNG_interrupt';
- procedure ECB_interrupt; external name 'ECB_interrupt';
- procedure CCM_AAR_interrupt; external name 'CCM_AAR_interrupt';
- procedure WDT_interrupt; external name 'WDT_interrupt';
- procedure RTC1_interrupt; external name 'RTC1_interrupt';
- procedure QDEC_interrupt; external name 'QDEC_interrupt';
- procedure LPCOMP_interrupt; external name 'LPCOMP_interrupt';
- procedure SWI0_interrupt; external name 'SWI0_interrupt';
- procedure SWI1_interrupt; external name 'SWI1_interrupt';
- procedure SWI2_interrupt; external name 'SWI2_interrupt';
- procedure SWI3_interrupt; external name 'SWI3_interrupt';
- procedure SWI4_interrupt; external name 'SWI4_interrupt';
- procedure SWI5_interrupt; external name 'SWI5_interrupt';
- {$i cortexm0_start.inc}
- procedure Vectors; assembler; nostackframe;
- label interrupt_vectors;
- asm
- .section ".init.interrupt_vectors"
- interrupt_vectors:
- .long _stack_top
- .long Startup
- .long Reset_interrupt
- .long NonMaskableInt_interrupt
- .long HardFault_interrupt
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
- .long SVCall_interrupt
- .long DebugMonitor_interrupt
- .long 0
- .long PendSV_interrupt
- .long SysTick_interrupt
- .long POWER_CLOCK_interrupt
- .long RADIO_interrupt
- .long UART0_interrupt
- .long SPI0_TWI0_interrupt
- .long SPI1_TWI1_interrupt
- .long 0
- .long GPIOTE_interrupt
- .long ADC_interrupt
- .long TIMER0_interrupt
- .long TIMER1_interrupt
- .long TIMER2_interrupt
- .long RTC0_interrupt
- .long TEMP_interrupt
- .long RNG_interrupt
- .long ECB_interrupt
- .long CCM_AAR_interrupt
- .long WDT_interrupt
- .long RTC1_interrupt
- .long QDEC_interrupt
- .long LPCOMP_interrupt
- .long SWI0_interrupt
- .long SWI1_interrupt
- .long SWI2_interrupt
- .long SWI3_interrupt
- .long SWI4_interrupt
- .long SWI5_interrupt
- .weak Reset_interrupt
- .weak NonMaskableInt_interrupt
- .weak HardFault_interrupt
- .weak SVCall_interrupt
- .weak DebugMonitor_interrupt
- .weak PendSV_interrupt
- .weak SysTick_interrupt
- .weak POWER_CLOCK_interrupt
- .weak RADIO_interrupt
- .weak UART0_interrupt
- .weak SPI0_TWI0_interrupt
- .weak SPI1_TWI1_interrupt
- .weak GPIOTE_interrupt
- .weak ADC_interrupt
- .weak TIMER0_interrupt
- .weak TIMER1_interrupt
- .weak TIMER2_interrupt
- .weak RTC0_interrupt
- .weak TEMP_interrupt
- .weak RNG_interrupt
- .weak ECB_interrupt
- .weak CCM_AAR_interrupt
- .weak WDT_interrupt
- .weak RTC1_interrupt
- .weak QDEC_interrupt
- .weak LPCOMP_interrupt
- .weak SWI0_interrupt
- .weak SWI1_interrupt
- .weak SWI2_interrupt
- .weak SWI3_interrupt
- .weak SWI4_interrupt
- .weak SWI5_interrupt
- .set Reset_interrupt, HaltProc
- .set NonMaskableInt_interrupt, HaltProc
- .set HardFault_interrupt, HaltProc
- .set SVCall_interrupt, HaltProc
- .set DebugMonitor_interrupt, HaltProc
- .set PendSV_interrupt, HaltProc
- .set SysTick_interrupt, HaltProc
- .set POWER_CLOCK_interrupt, HaltProc
- .set RADIO_interrupt, HaltProc
- .set UART0_interrupt, HaltProc
- .set SPI0_TWI0_interrupt, HaltProc
- .set SPI1_TWI1_interrupt, HaltProc
- .set GPIOTE_interrupt, HaltProc
- .set ADC_interrupt, HaltProc
- .set TIMER0_interrupt, HaltProc
- .set TIMER1_interrupt, HaltProc
- .set TIMER2_interrupt, HaltProc
- .set RTC0_interrupt, HaltProc
- .set TEMP_interrupt, HaltProc
- .set RNG_interrupt, HaltProc
- .set ECB_interrupt, HaltProc
- .set CCM_AAR_interrupt, HaltProc
- .set WDT_interrupt, HaltProc
- .set RTC1_interrupt, HaltProc
- .set QDEC_interrupt, HaltProc
- .set LPCOMP_interrupt, HaltProc
- .set SWI0_interrupt, HaltProc
- .set SWI1_interrupt, HaltProc
- .set SWI2_interrupt, HaltProc
- .set SWI3_interrupt, HaltProc
- .set SWI4_interrupt, HaltProc
- .set SWI5_interrupt, HaltProc
- .text
- end;
- end.
|