/******************************************************************************* * Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * Except as contained in this notice, the name of Maxim Integrated * Products, Inc. shall not be used except as stated in the Maxim Integrated * Products, Inc. Branding Policy. * * The mere transfer of this software does not imply any licenses * of trade secrets, proprietary technology, copyrights, patents, * trademarks, maskwork rights, or any other form of intellectual * property whatsoever. Maxim Integrated Products, Inc. retains all * ownership rights. ******************************************************************************* */ MODULE ?cstartup ;; Forward declaration of sections. SECTION CSTACK:DATA:NOROOT(3) SECTION .intvec:CODE:NOROOT(2) EXTERN __iar_program_start EXTERN PreInit EXTERN SystemInit PUBLIC __vector_table PUBLIC __vector_table_modify PUBLIC __Vectors PUBLIC __Vectors_End PUBLIC __Vectors_Size DATA __vector_table DCD sfe(CSTACK) DCD Reset_Handler ; Reset Handler DCD NMI_Handler ; NMI Handler DCD HardFault_Handler ; Hard Fault Handler DCD MemManage_Handler ; MPU Fault Handler DCD BusFault_Handler ; Bus Fault Handler DCD UsageFault_Handler ; Usage Fault Handler __vector_table_modify DCD 0 ; Reserved DCD 0 ; Reserved DCD 0 ; Reserved DCD 0 ; Reserved DCD SVC_Handler ; SVCall Handler DCD DebugMon_Handler ; Debug Monitor Handler DCD 0 ; Reserved DCD PendSV_Handler ; PendSV Handler DCD SysTick_Handler ; SysTick Handler ; MAX32625 Specific Interrupts DCD CLKMAN_IRQHandler ; 16:01 CLKMAN */ DCD PWRMAN_IRQHandler ; 17:02 PWRMAN */ DCD FLC_IRQHandler ; 18:03 Flash Controller */ DCD RTC0_IRQHandler ; 19:04 RTC INT0 */ DCD RTC1_IRQHandler ; 20:05 RTC INT1 */ DCD RTC2_IRQHandler ; 21:06 RTC INT2 */ DCD RTC3_IRQHandler ; 22:07 RTC INT3 */ DCD PMU_IRQHandler ; 23:08 PMU */ DCD USB_IRQHandler ; 24:09 USB */ DCD AES_IRQHandler ; 25:10 AES */ DCD MAA_IRQHandler ; 26:11 MAA */ DCD WDT0_IRQHandler ; 27:12 WATCHDOG0 */ DCD WDT0_P_IRQHandler ; 28:13 WATCHDOG0 PRE-WINDOW */ DCD WDT1_IRQHandler ; 29:14 WATCHDOG1 */ DCD WDT1_P_IRQHandler ; 30:15 WATCHDOG1 PRE-WINDOW */ DCD GPIO_P0_IRQHandler ; 31:16 GPIO Port 0 */ DCD GPIO_P1_IRQHandler ; 32:17 GPIO Port 1 */ DCD GPIO_P2_IRQHandler ; 33:18 GPIO Port 2 */ DCD GPIO_P3_IRQHandler ; 34:19 GPIO Port 3 */ DCD GPIO_P4_IRQHandler ; 35:20 GPIO Port 4 */ DCD GPIO_P5_IRQHandler ; 36:21 GPIO Port 5 */ DCD GPIO_P6_IRQHandler ; 37:22 GPIO Port 6 */ DCD TMR0_IRQHandler ; 38:23 Timer32-0 */ DCD TMR16_0_IRQHandler ; 39:24 Timer16-s0 */ DCD TMR1_IRQHandler ; 40:25 Timer32-1 */ DCD TMR16_1_IRQHandler ; 41:26 Timer16-s1 */ DCD TMR2_IRQHandler ; 42:27 Timer32-2 */ DCD TMR16_2_IRQHandler ; 43:28 Timer16-s2 */ DCD TMR3_IRQHandler ; 44:29 Timer32-3 */ DCD TMR16_3_IRQHandler ; 45:30 Timer16-s3 */ DCD TMR4_IRQHandler ; 46:31 Timer32-4 */ DCD TMR16_4_IRQHandler ; 47:32 Timer16-s4 */ DCD TMR5_IRQHandler ; 48:33 Timer32-5 */ DCD TMR16_5_IRQHandler ; 49:34 Timer16-s5 */ DCD UART0_IRQHandler ; 50:35 UART0 */ DCD UART1_IRQHandler ; 51:36 UART1 */ DCD UART2_IRQHandler ; 52:37 UART2 */ DCD UART3_IRQHandler ; 53:38 UART3 */ DCD PT_IRQHandler ; 54:39 PT */ DCD I2CM0_IRQHandler ; 55:40 I2C Master 0 */ DCD I2CM1_IRQHandler ; 56:41 I2C Master 1 */ DCD I2CM2_IRQHandler ; 57:42 I2C Master 2 */ DCD I2CS_IRQHandler ; 58:43 I2C Slave */ DCD SPIM0_IRQHandler ; 59:44 SPI Master 0 */ DCD SPIM1_IRQHandler ; 60:45 SPI Master 1 */ DCD SPIM2_IRQHandler ; 61:46 SPI Master 2 */ DCD SPIB_IRQHandler ; 62:47 SPI Bridge */ DCD OWM_IRQHandler ; 63:48 One-wire Master */ DCD AFE_IRQHandler ; 64:49 AFE */ DCD SPIS_IRQHandler ; 65:50 SPI Slave DCD GPIO_P7_IRQHandler ; 66:51 GPIO Port 7 DCD GPIO_P8_IRQHandler ; 67:52 GPIO Port 8 __Vectors_End __Vectors EQU __vector_table __Vectors_Size EQU __Vectors_End - __Vectors ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; Default interrupt handlers. ;; THUMB PUBWEAK Reset_Handler SECTION .text:CODE:REORDER:NOROOT(2) Reset_Handler LDR R0, =PreInit BLX R0 LDR R0, =SystemInit BLX R0 LDR R0, =__iar_program_start BX R0 PUBWEAK NMI_Handler SECTION .text:CODE:REORDER:NOROOT(1) NMI_Handler B NMI_Handler PUBWEAK HardFault_Handler SECTION .text:CODE:REORDER:NOROOT(1) HardFault_Handler B HardFault_Handler PUBWEAK MemManage_Handler SECTION .text:CODE:REORDER:NOROOT(1) MemManage_Handler B MemManage_Handler PUBWEAK BusFault_Handler SECTION .text:CODE:REORDER:NOROOT(1) BusFault_Handler B BusFault_Handler PUBWEAK UsageFault_Handler SECTION .text:CODE:REORDER:NOROOT(1) UsageFault_Handler B UsageFault_Handler PUBWEAK SVC_Handler SECTION .text:CODE:REORDER:NOROOT(1) SVC_Handler B SVC_Handler PUBWEAK DebugMon_Handler SECTION .text:CODE:REORDER:NOROOT(1) DebugMon_Handler B DebugMon_Handler PUBWEAK PendSV_Handler SECTION .text:CODE:REORDER:NOROOT(1) PendSV_Handler B PendSV_Handler PUBWEAK SysTick_Handler SECTION .text:CODE:REORDER:NOROOT(1) SysTick_Handler B SysTick_Handler PUBWEAK CLKMAN_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) CLKMAN_IRQHandler B CLKMAN_IRQHandler PUBWEAK PWRMAN_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) PWRMAN_IRQHandler B PWRMAN_IRQHandler PUBWEAK FLC_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) FLC_IRQHandler B FLC_IRQHandler PUBWEAK RTC0_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) RTC0_IRQHandler B RTC0_IRQHandler PUBWEAK RTC1_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) RTC1_IRQHandler B RTC1_IRQHandler PUBWEAK RTC2_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) RTC2_IRQHandler B RTC2_IRQHandler PUBWEAK RTC3_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) RTC3_IRQHandler B RTC3_IRQHandler PUBWEAK PMU_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) PMU_IRQHandler B PMU_IRQHandler PUBWEAK USB_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) USB_IRQHandler B USB_IRQHandler PUBWEAK AES_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) AES_IRQHandler B AES_IRQHandler PUBWEAK MAA_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) MAA_IRQHandler B MAA_IRQHandler PUBWEAK WDT0_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) WDT0_IRQHandler B WDT0_IRQHandler PUBWEAK WDT0_P_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) WDT0_P_IRQHandler B WDT0_P_IRQHandler PUBWEAK WDT1_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) WDT1_IRQHandler B WDT1_IRQHandler PUBWEAK WDT1_P_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) WDT1_P_IRQHandler B WDT1_P_IRQHandler PUBWEAK GPIO_P0_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) GPIO_P0_IRQHandler B GPIO_P0_IRQHandler PUBWEAK GPIO_P1_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) GPIO_P1_IRQHandler B GPIO_P1_IRQHandler PUBWEAK GPIO_P2_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) GPIO_P2_IRQHandler B GPIO_P2_IRQHandler PUBWEAK GPIO_P3_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) GPIO_P3_IRQHandler B GPIO_P3_IRQHandler PUBWEAK GPIO_P4_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) GPIO_P4_IRQHandler B GPIO_P4_IRQHandler PUBWEAK GPIO_P5_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) GPIO_P5_IRQHandler B GPIO_P5_IRQHandler PUBWEAK GPIO_P6_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) GPIO_P6_IRQHandler B GPIO_P6_IRQHandler PUBWEAK TMR0_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) TMR0_IRQHandler B TMR0_IRQHandler PUBWEAK TMR16_0_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) TMR16_0_IRQHandler B TMR16_0_IRQHandler PUBWEAK TMR1_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) TMR1_IRQHandler B TMR1_IRQHandler PUBWEAK TMR16_1_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) TMR16_1_IRQHandler B TMR16_1_IRQHandler PUBWEAK TMR2_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) TMR2_IRQHandler B TMR2_IRQHandler PUBWEAK TMR16_2_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) TMR16_2_IRQHandler B TMR16_2_IRQHandler PUBWEAK TMR3_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) TMR3_IRQHandler B TMR3_IRQHandler PUBWEAK TMR16_3_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) TMR16_3_IRQHandler B TMR16_3_IRQHandler PUBWEAK TMR4_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) TMR4_IRQHandler B TMR4_IRQHandler PUBWEAK TMR16_4_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) TMR16_4_IRQHandler B TMR16_4_IRQHandler PUBWEAK TMR5_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) TMR5_IRQHandler B TMR5_IRQHandler PUBWEAK TMR16_5_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) TMR16_5_IRQHandler B TMR16_5_IRQHandler PUBWEAK UART0_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) UART0_IRQHandler B UART0_IRQHandler PUBWEAK UART1_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) UART1_IRQHandler B UART1_IRQHandler PUBWEAK UART2_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) UART2_IRQHandler B UART2_IRQHandler PUBWEAK UART3_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) UART3_IRQHandler B UART3_IRQHandler PUBWEAK PT_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) PT_IRQHandler B PT_IRQHandler PUBWEAK I2CM0_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) I2CM0_IRQHandler B I2CM0_IRQHandler PUBWEAK I2CM1_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) I2CM1_IRQHandler B I2CM1_IRQHandler PUBWEAK I2CM2_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) I2CM2_IRQHandler B I2CM2_IRQHandler PUBWEAK I2CS_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) I2CS_IRQHandler B I2CS_IRQHandler PUBWEAK SPIM0_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) SPIM0_IRQHandler B SPIM0_IRQHandler PUBWEAK SPIM1_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) SPIM1_IRQHandler B SPIM1_IRQHandler PUBWEAK SPIM2_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) SPIM2_IRQHandler B SPIM2_IRQHandler PUBWEAK SPIB_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) SPIB_IRQHandler B SPIB_IRQHandler PUBWEAK OWM_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) OWM_IRQHandler B OWM_IRQHandler PUBWEAK AFE_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) AFE_IRQHandler B AFE_IRQHandler PUBWEAK SPIS_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) SPIS_IRQHandler B SPIS_IRQHandler PUBWEAK GPIO_P7_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) GPIO_P7_IRQHandler B GPIO_P7_IRQHandler PUBWEAK GPIO_P8_IRQHandler SECTION .text:CODE:REORDER:NOROOT(1) GPIO_P8_IRQHandler B GPIO_P8_IRQHandler END