123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536 |
- /***********************************************************************************
- * SEGGER Microcontroller GmbH *
- * The Embedded Experts *
- ***********************************************************************************
- * *
- * (c) 2014 - 2018 SEGGER Microcontroller GmbH *
- * *
- * www.segger.com Support: support@segger.com *
- * *
- ***********************************************************************************
- * *
- * 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. *
- * *
- * - Neither the name of SEGGER Microcontroller GmbH *
- * 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 SEGGER Microcontroller GmbH 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. *
- * *
- ***********************************************************************************/
- /************************************************************************************
- * Preprocessor Definitions *
- * ------------------------ *
- * VECTORS_IN_RAM *
- * *
- * If defined, an area of RAM will large enough to store the vector table *
- * will be reserved. *
- * *
- ************************************************************************************/
- .syntax unified
- .code 16
- .section .init, "ax"
- .align 0
-
- /************************************************************************************
- * Default Exception Handlers *
- ************************************************************************************/
- .thumb_func
- .weak NMI_Handler
- NMI_Handler:
- b .
- .thumb_func
- .weak HardFault_Handler
- HardFault_Handler:
- b .
- .thumb_func
- .weak MemoryManagement_Handler
- MemoryManagement_Handler:
- b .
- .thumb_func
- .weak BusFault_Handler
- BusFault_Handler:
- b .
- .thumb_func
- .weak UsageFault_Handler
- UsageFault_Handler:
- b .
- .thumb_func
- .weak SecureFault_Handler
- SecureFault_Handler:
- b .
- .thumb_func
- .weak SVC_Handler
- SVC_Handler:
- b .
- .thumb_func
- .weak DebugMon_Handler
- DebugMon_Handler:
- b .
- .thumb_func
- .weak PendSV_Handler
- PendSV_Handler:
- b .
- .thumb_func
- .weak SysTick_Handler
- SysTick_Handler:
- b .
- .thumb_func
- .weak Dummy_Handler
- Dummy_Handler:
- b .
- /************************************************************************************
- * Default Interrupt Handlers *
- ************************************************************************************/
-
- .weak FPU_IRQHandler
- .thumb_set FPU_IRQHandler, Dummy_Handler
- .weak CACHE_IRQHandler
- .thumb_set CACHE_IRQHandler, Dummy_Handler
- .weak SPU_IRQHandler
- .thumb_set SPU_IRQHandler, Dummy_Handler
- .weak CLOCK_POWER_IRQHandler
- .thumb_set CLOCK_POWER_IRQHandler, Dummy_Handler
- .weak SPIM0_SPIS0_TWIM0_TWIS0_UARTE0_IRQHandler
- .thumb_set SPIM0_SPIS0_TWIM0_TWIS0_UARTE0_IRQHandler, Dummy_Handler
- .weak SPIM1_SPIS1_TWIM1_TWIS1_UARTE1_IRQHandler
- .thumb_set SPIM1_SPIS1_TWIM1_TWIS1_UARTE1_IRQHandler, Dummy_Handler
- .weak SPIM4_IRQHandler
- .thumb_set SPIM4_IRQHandler, Dummy_Handler
- .weak SPIM2_SPIS2_TWIM2_TWIS2_UARTE2_IRQHandler
- .thumb_set SPIM2_SPIS2_TWIM2_TWIS2_UARTE2_IRQHandler, Dummy_Handler
- .weak SPIM3_SPIS3_TWIM3_TWIS3_UARTE3_IRQHandler
- .thumb_set SPIM3_SPIS3_TWIM3_TWIS3_UARTE3_IRQHandler, Dummy_Handler
- .weak GPIOTE0_IRQHandler
- .thumb_set GPIOTE0_IRQHandler, Dummy_Handler
- .weak SAADC_IRQHandler
- .thumb_set SAADC_IRQHandler, Dummy_Handler
- .weak TIMER0_IRQHandler
- .thumb_set TIMER0_IRQHandler, Dummy_Handler
- .weak TIMER1_IRQHandler
- .thumb_set TIMER1_IRQHandler, Dummy_Handler
- .weak TIMER2_IRQHandler
- .thumb_set TIMER2_IRQHandler, Dummy_Handler
- .weak RTC0_IRQHandler
- .thumb_set RTC0_IRQHandler, Dummy_Handler
- .weak RTC1_IRQHandler
- .thumb_set RTC1_IRQHandler, Dummy_Handler
- .weak WDT0_IRQHandler
- .thumb_set WDT0_IRQHandler, Dummy_Handler
- .weak WDT1_IRQHandler
- .thumb_set WDT1_IRQHandler, Dummy_Handler
- .weak COMP_LPCOMP_IRQHandler
- .thumb_set COMP_LPCOMP_IRQHandler, Dummy_Handler
- .weak EGU0_IRQHandler
- .thumb_set EGU0_IRQHandler, Dummy_Handler
- .weak EGU1_IRQHandler
- .thumb_set EGU1_IRQHandler, Dummy_Handler
- .weak EGU2_IRQHandler
- .thumb_set EGU2_IRQHandler, Dummy_Handler
- .weak EGU3_IRQHandler
- .thumb_set EGU3_IRQHandler, Dummy_Handler
- .weak EGU4_IRQHandler
- .thumb_set EGU4_IRQHandler, Dummy_Handler
- .weak EGU5_IRQHandler
- .thumb_set EGU5_IRQHandler, Dummy_Handler
- .weak PWM0_IRQHandler
- .thumb_set PWM0_IRQHandler, Dummy_Handler
- .weak PWM1_IRQHandler
- .thumb_set PWM1_IRQHandler, Dummy_Handler
- .weak PWM2_IRQHandler
- .thumb_set PWM2_IRQHandler, Dummy_Handler
- .weak PWM3_IRQHandler
- .thumb_set PWM3_IRQHandler, Dummy_Handler
- .weak PDM0_IRQHandler
- .thumb_set PDM0_IRQHandler, Dummy_Handler
- .weak I2S0_IRQHandler
- .thumb_set I2S0_IRQHandler, Dummy_Handler
- .weak IPC_IRQHandler
- .thumb_set IPC_IRQHandler, Dummy_Handler
- .weak QSPI_IRQHandler
- .thumb_set QSPI_IRQHandler, Dummy_Handler
- .weak NFCT_IRQHandler
- .thumb_set NFCT_IRQHandler, Dummy_Handler
- .weak GPIOTE1_IRQHandler
- .thumb_set GPIOTE1_IRQHandler, Dummy_Handler
- .weak QDEC0_IRQHandler
- .thumb_set QDEC0_IRQHandler, Dummy_Handler
- .weak QDEC1_IRQHandler
- .thumb_set QDEC1_IRQHandler, Dummy_Handler
- .weak USBD_IRQHandler
- .thumb_set USBD_IRQHandler, Dummy_Handler
- .weak USBREGULATOR_IRQHandler
- .thumb_set USBREGULATOR_IRQHandler, Dummy_Handler
- .weak KMU_IRQHandler
- .thumb_set KMU_IRQHandler, Dummy_Handler
- .weak CRYPTOCELL_IRQHandler
- .thumb_set CRYPTOCELL_IRQHandler, Dummy_Handler
- /************************************************************************************
- * Reset Handler Extensions *
- ************************************************************************************/
- .extern Reset_Handler
- .global nRFInitialize
- .extern afterInitialize
- .thumb_func
- nRFInitialize:
- b afterInitialize
-
-
- /************************************************************************************
- * Vector Table *
- ************************************************************************************/
- .section .vectors, "ax"
- .align 0
- .global _vectors
- .extern __stack_end__
- _vectors:
- .word __stack_end__
- .word Reset_Handler
- .word NMI_Handler
- .word HardFault_Handler
- .word MemoryManagement_Handler
- .word BusFault_Handler
- .word UsageFault_Handler
- .word SecureFault_Handler
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word SVC_Handler
- .word DebugMon_Handler
- .word 0 /*Reserved */
- .word PendSV_Handler
- .word SysTick_Handler
- /* External Interrupts */
- .word FPU_IRQHandler
- .word CACHE_IRQHandler
- .word 0 /*Reserved */
- .word SPU_IRQHandler
- .word 0 /*Reserved */
- .word CLOCK_POWER_IRQHandler
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word SPIM0_SPIS0_TWIM0_TWIS0_UARTE0_IRQHandler
- .word SPIM1_SPIS1_TWIM1_TWIS1_UARTE1_IRQHandler
- .word SPIM4_IRQHandler
- .word SPIM2_SPIS2_TWIM2_TWIS2_UARTE2_IRQHandler
- .word SPIM3_SPIS3_TWIM3_TWIS3_UARTE3_IRQHandler
- .word GPIOTE0_IRQHandler
- .word SAADC_IRQHandler
- .word TIMER0_IRQHandler
- .word TIMER1_IRQHandler
- .word TIMER2_IRQHandler
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word RTC0_IRQHandler
- .word RTC1_IRQHandler
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word WDT0_IRQHandler
- .word WDT1_IRQHandler
- .word COMP_LPCOMP_IRQHandler
- .word EGU0_IRQHandler
- .word EGU1_IRQHandler
- .word EGU2_IRQHandler
- .word EGU3_IRQHandler
- .word EGU4_IRQHandler
- .word EGU5_IRQHandler
- .word PWM0_IRQHandler
- .word PWM1_IRQHandler
- .word PWM2_IRQHandler
- .word PWM3_IRQHandler
- .word 0 /*Reserved */
- .word PDM0_IRQHandler
- .word 0 /*Reserved */
- .word I2S0_IRQHandler
- .word 0 /*Reserved */
- .word IPC_IRQHandler
- .word QSPI_IRQHandler
- .word 0 /*Reserved */
- .word NFCT_IRQHandler
- .word 0 /*Reserved */
- .word GPIOTE1_IRQHandler
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word QDEC0_IRQHandler
- .word QDEC1_IRQHandler
- .word 0 /*Reserved */
- .word USBD_IRQHandler
- .word USBREGULATOR_IRQHandler
- .word 0 /*Reserved */
- .word KMU_IRQHandler
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word CRYPTOCELL_IRQHandler
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- .word 0 /*Reserved */
- _vectors_end:
- #ifdef VECTORS_IN_RAM
- .section .vectors_ram, "ax"
- .align 0
- .global _vectors_ram
- _vectors_ram:
- .space _vectors_end - _vectors, 0
- #endif
|