/************************************************** | |
* | |
* Part one of the system initialization code, contains low-level | |
* initialization, plain thumb variant. | |
* | |
* Copyright 2009 IAR Systems. All rights reserved. | |
* | |
* $Revision: 28532 $ | |
* | |
**************************************************/ | |
; | |
; The modules in this file are included in the libraries, and may be replaced | |
; by any user-defined modules that define the PUBLIC symbol _program_start or | |
; a user defined start symbol. | |
; To override the cstartup defined in the library, simply add your modified | |
; version to the workbench project. | |
; | |
; The vector table is normally located at address 0. | |
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |
; The name "__vector_table" has special meaning for C-SPY: | |
; it is where the SP start value is found, and the NVIC vector | |
; table register (VTOR) is initialized to this address if != 0. | |
; | |
; Cortex-M version | |
; | |
MODULE ?cstartup | |
;; Forward declaration of sections. | |
SECTION CSTACK:DATA:NOROOT(3) | |
SECTION .intvec:CODE:NOROOT(2) | |
EXTERN __iar_program_start | |
EXTERN xPortPendSVHandler | |
EXTERN xPortSysTickHandler | |
EXTERN vPortSVCHandler | |
EXTERN vEMAC_ISR | |
PUBLIC __vector_table | |
PUBLIC __vector_table_0x1c | |
DATA | |
__vector_table | |
DCD sfe(CSTACK) ; Top of Stack | |
DCD __iar_program_start ; 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_0x1c | |
DCD 0 ; Reserved | |
DCD 0 ; Reserved | |
DCD 0 ; Reserved | |
DCD 0 ; Reserved | |
DCD vPortSVCHandler ; SVCall Handler | |
DCD DebugMon_Handler ; Debug Monitor Handler | |
DCD 0 ; Reserved | |
DCD xPortPendSVHandler ; PendSV Handler | |
DCD xPortSysTickHandler ; SysTick Handler | |
DCD WDT_IRQHandler ; Watchdog Handler | |
DCD TMR0_IRQHandler ; TIMER0 Handler | |
DCD TMR1_IRQHandler ; TIMER1 Handler | |
DCD TMR2_IRQHandler ; TIMER2 Handler | |
DCD TMR3_IRQHandler ; TIMER3 Handler | |
DCD UART0_IRQHandler ; UART0 Handler | |
DCD UART1_IRQHandler ; UART1 Handler | |
DCD UART2_IRQHandler ; UART2 Handler | |
DCD UART3_IRQHandler ; UART3 Handler | |
DCD PWM1_IRQHandler ; PWM1 Handler | |
DCD I2C0_IRQHandler ; I2C0 Handler | |
DCD I2C1_IRQHandler ; I2C1 Handler | |
DCD I2C2_IRQHandler ; I2C2 Handler | |
DCD SPI_IRQHandler ; SPI Handler | |
DCD SSP0_IRQHandler ; SSP0 Handler | |
DCD SSP1_IRQHandler ; SSP1 Handler | |
DCD PLL0_IRQHandler ; PLL0 Handler | |
DCD RTC_IRQHandler ; RTC Handler | |
DCD EINT0_IRQHandler ; EXT Interupt 0 Handler | |
DCD EINT1_IRQHandler ; EXT Interupt 1 Handler | |
DCD EINT2_IRQHandler ; EXT Interupt 2 Handler | |
DCD EINT3_IRQHandler ; EXT Interupt 3 Handler | |
DCD ADC_IRQHandler ; ADC Handler | |
DCD BOD_IRQHandler ; BOD Handler | |
DCD USB_IRQHandler ; USB Handler | |
DCD CAN_IRQHandler ; CAN Handler | |
DCD GPDMA_IRQHandler ; General Purpose DMA Handler | |
DCD I2S_IRQHandler ; I2S Handler | |
DCD vEMAC_ISR ; Ethernet Handler | |
DCD RIT_IRQHandler ; Repetitive Interrupt Timer Handler | |
DCD MotorControlPWM_IRQHandler ; Motor Control PWM Handler | |
DCD QE_IRQHandler ; Quadrature Encoder Handler | |
DCD PLL1_IRQHandler ; PLL1 Handler | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; Default interrupt handlers. | |
;; | |
THUMB | |
PUBWEAK NMI_Handler | |
SECTION .text:CODE:REORDER(1) | |
NMI_Handler | |
B NMI_Handler | |
PUBWEAK HardFault_Handler | |
SECTION .text:CODE:REORDER(1) | |
HardFault_Handler | |
B HardFault_Handler | |
PUBWEAK MemManage_Handler | |
SECTION .text:CODE:REORDER(1) | |
MemManage_Handler | |
B MemManage_Handler | |
PUBWEAK BusFault_Handler | |
SECTION .text:CODE:REORDER(1) | |
BusFault_Handler | |
B BusFault_Handler | |
PUBWEAK UsageFault_Handler | |
SECTION .text:CODE:REORDER(1) | |
UsageFault_Handler | |
B UsageFault_Handler | |
PUBWEAK SVC_Handler | |
SECTION .text:CODE:REORDER(1) | |
SVC_Handler | |
B SVC_Handler | |
PUBWEAK DebugMon_Handler | |
SECTION .text:CODE:REORDER(1) | |
DebugMon_Handler | |
B DebugMon_Handler | |
PUBWEAK PendSV_Handler | |
SECTION .text:CODE:REORDER(1) | |
PendSV_Handler | |
B PendSV_Handler | |
PUBWEAK SysTick_Handler | |
SECTION .text:CODE:REORDER(1) | |
SysTick_Handler | |
B SysTick_Handler | |
PUBWEAK WDT_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
WDT_IRQHandler | |
B WDT_IRQHandler | |
PUBWEAK TMR0_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
TMR0_IRQHandler | |
B TMR0_IRQHandler | |
PUBWEAK TMR1_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
TMR1_IRQHandler | |
B TMR1_IRQHandler | |
PUBWEAK TMR2_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
TMR2_IRQHandler | |
B TMR2_IRQHandler | |
PUBWEAK TMR3_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
TMR3_IRQHandler | |
B TMR3_IRQHandler | |
PUBWEAK UART0_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
UART0_IRQHandler | |
B UART0_IRQHandler | |
PUBWEAK UART1_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
UART1_IRQHandler | |
B UART1_IRQHandler | |
PUBWEAK UART2_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
UART2_IRQHandler | |
B UART2_IRQHandler | |
PUBWEAK UART3_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
UART3_IRQHandler | |
B UART3_IRQHandler | |
PUBWEAK PWM1_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
PWM1_IRQHandler | |
B PWM1_IRQHandler | |
PUBWEAK I2C0_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
I2C0_IRQHandler | |
B I2C0_IRQHandler | |
PUBWEAK I2C1_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
I2C1_IRQHandler | |
B I2C1_IRQHandler | |
PUBWEAK I2C2_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
I2C2_IRQHandler | |
B I2C2_IRQHandler | |
PUBWEAK SPI_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
SPI_IRQHandler | |
B SPI_IRQHandler | |
PUBWEAK SSP0_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
SSP0_IRQHandler | |
B SSP0_IRQHandler | |
PUBWEAK SSP1_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
SSP1_IRQHandler | |
B SSP1_IRQHandler | |
PUBWEAK PLL0_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
PLL0_IRQHandler | |
B PLL0_IRQHandler | |
PUBWEAK RTC_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
RTC_IRQHandler | |
B RTC_IRQHandler | |
PUBWEAK EINT0_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
EINT0_IRQHandler | |
B EINT0_IRQHandler | |
PUBWEAK EINT1_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
EINT1_IRQHandler | |
B EINT1_IRQHandler | |
PUBWEAK EINT2_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
EINT2_IRQHandler | |
B EINT2_IRQHandler | |
PUBWEAK EINT3_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
EINT3_IRQHandler | |
B EINT3_IRQHandler | |
PUBWEAK ADC_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
ADC_IRQHandler | |
B ADC_IRQHandler | |
PUBWEAK BOD_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
BOD_IRQHandler | |
B BOD_IRQHandler | |
PUBWEAK USB_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
USB_IRQHandler | |
B USB_IRQHandler | |
PUBWEAK CAN_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
CAN_IRQHandler | |
B CAN_IRQHandler | |
PUBWEAK GPDMA_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
GPDMA_IRQHandler | |
B GPDMA_IRQHandler | |
PUBWEAK I2S_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
I2S_IRQHandler | |
B I2S_IRQHandler | |
PUBWEAK Ethernet_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
Ethernet_IRQHandler | |
B Ethernet_IRQHandler | |
PUBWEAK RIT_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
RIT_IRQHandler | |
B RIT_IRQHandler | |
PUBWEAK MotorControlPWM_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
MotorControlPWM_IRQHandler | |
B MotorControlPWM_IRQHandler | |
PUBWEAK QE_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
QE_IRQHandler | |
B QE_IRQHandler | |
PUBWEAK PLL1_IRQHandler | |
SECTION .text:CODE:REORDER(1) | |
PLL1_IRQHandler | |
B PLL1_IRQHandler | |
END |