Energy Micro IEC60355 Library Example Project 1.0 (internal use only!) GCC-Version
Example project demonstrating POST and BIST library functions

iar/startup_efm32.s

Go to the documentation of this file.
00001 ;/*************************************************************************/
00024 ;
00025 ; The modules in this file are included in the libraries, and may be replaced
00026 ; by any user-defined modules that define the PUBLIC symbol _program_start or
00027 ; a user defined start symbol.
00028 ; To override the cstartup defined in the library, simply add your modified
00029 ; version to the workbench project.
00030 ;
00031 ; The vector table is normally located at address 0.
00032 ; When debugging in RAM, it can be located in RAM wtih at least a 128 byte 
00033 ; alignment, 256 byte alignment is requied if all interrupt vectors are in use.
00034 ;
00035 ; The name "__vector_table" has special meaning for C-SPY:
00036 ; it is where the SP start value is found, and the NVIC vector
00037 ; table register (VTOR) is initialized to this address if != 0.
00038 ;
00039 ; Cortex-M version
00040 ;
00041         MODULE  ?cstartup
00042 
00043         ;; Forward declaration of sections.
00044         SECTION CSTACK:DATA:NOROOT(3)
00045 
00046         SECTION .intvec:CODE:NOROOT(2)
00047         
00048         EXTERN  IEC60335_ClassB_POST
00049         EXTERN  __iar_program_start
00050         EXTERN  SystemInit
00051         PUBLIC  __vector_table
00052         PUBLIC  __vector_table_0x1c
00053         PUBLIC  __Vectors
00054         PUBLIC  __Vectors_End
00055         PUBLIC  __Vectors_Size
00056 
00057         DATA
00058 
00059 __vector_table
00060         DCD     sfe(CSTACK)
00061         DCD     Reset_Handler
00062 
00063         DCD     NMI_Handler
00064         DCD     HardFault_Handler
00065         DCD     MemManage_Handler
00066         DCD     BusFault_Handler
00067         DCD     UsageFault_Handler
00068 __vector_table_0x1c
00069         DCD     0
00070         DCD     0
00071         DCD     0
00072         DCD     0
00073         DCD     SVC_Handler
00074         DCD     DebugMon_Handler
00075         DCD     0
00076         DCD     PendSV_Handler
00077         DCD     SysTick_Handler
00078 
00079         ; External Interrupts
00080         DCD DMA_IRQHandler  ; 0: DMA Interrupt 
00081         DCD GPIO_EVEN_IRQHandler  ; 1: GPIO_EVEN Interrupt 
00082         DCD TIMER0_IRQHandler  ; 2: TIMER0 Interrupt 
00083         DCD USART0_RX_IRQHandler  ; 3: USART0_RX Interrupt 
00084         DCD USART0_TX_IRQHandler  ; 4: USART0_TX Interrupt 
00085         DCD ACMP0_IRQHandler  ; 5: ACMP0 Interrupt 
00086         DCD ADC0_IRQHandler  ; 6: ADC0 Interrupt 
00087         DCD DAC0_IRQHandler  ; 7: DAC0 Interrupt 
00088         DCD I2C0_IRQHandler  ; 8: I2C0 Interrupt 
00089         DCD GPIO_ODD_IRQHandler  ; 9: GPIO_ODD Interrupt 
00090         DCD TIMER1_IRQHandler  ; 10: TIMER1 Interrupt 
00091         DCD TIMER2_IRQHandler  ; 11: TIMER2 Interrupt 
00092         DCD USART1_RX_IRQHandler  ; 12: USART1_RX Interrupt 
00093         DCD USART1_TX_IRQHandler  ; 13: USART1_TX Interrupt 
00094         DCD USART2_RX_IRQHandler  ; 14: USART2_RX Interrupt 
00095         DCD USART2_TX_IRQHandler  ; 15: USART2_TX Interrupt 
00096         DCD UART0_RX_IRQHandler  ; 16: UART0_RX Interrupt 
00097         DCD UART0_TX_IRQHandler  ; 17: UART0_TX Interrupt 
00098         DCD LEUART0_IRQHandler  ; 18: LEUART0 Interrupt 
00099         DCD LEUART1_IRQHandler  ; 19: LEUART1 Interrupt 
00100         DCD LETIMER0_IRQHandler  ; 20: LETIMER0 Interrupt 
00101         DCD PCNT0_IRQHandler  ; 21: PCNT0 Interrupt 
00102         DCD PCNT1_IRQHandler  ; 22: PCNT1 Interrupt 
00103         DCD PCNT2_IRQHandler  ; 23: PCNT2 Interrupt 
00104         DCD RTC_IRQHandler  ; 24: RTC Interrupt 
00105         DCD CMU_IRQHandler  ; 25: CMU Interrupt 
00106         DCD VCMP_IRQHandler  ; 26: VCMP Interrupt 
00107         DCD LCD_IRQHandler  ; 27: LCD Interrupt 
00108         DCD MSC_IRQHandler  ; 28: MSC Interrupt 
00109         DCD AES_IRQHandler  ; 29: AES Interrupt 
00110 
00111         DCD     0
00112         DCD     0
00113         DCD     0
00114         DCD     0
00115         DCD     0
00116         DCD     0
00117         DCD     0
00118         DCD     0
00119         DCD     0
00120         DCD     0
00121 __Vectors_End
00122 __Vectors       EQU   __vector_table
00123 __Vectors_Size  EQU     __Vectors_End - __Vectors
00124 
00125 
00126 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
00127 ;;
00128 ;; Default interrupt handlers.
00129 ;;
00130         THUMB
00131 
00132         PUBWEAK Reset_Handler
00133         SECTION .text:CODE:REORDER(2)
00134 Reset_Handler
00135         LDR     R0, =SystemInit
00136         BLX     R0
00137         LDR     R0, =IEC60335_ClassB_POST
00138         BLX     R0
00139         LDR     R0, =__iar_program_start
00140         BX      R0
00141 
00142         PUBWEAK NMI_Handler
00143         SECTION .text:CODE:REORDER(1)
00144 NMI_Handler
00145         B NMI_Handler
00146 
00147         PUBWEAK HardFault_Handler
00148         SECTION .text:CODE:REORDER(1)
00149 HardFault_Handler
00150         B HardFault_Handler
00151 
00152         PUBWEAK MemManage_Handler
00153         SECTION .text:CODE:REORDER(1)
00154 MemManage_Handler
00155         B MemManage_Handler
00156 
00157         PUBWEAK BusFault_Handler
00158         SECTION .text:CODE:REORDER(1)
00159 BusFault_Handler
00160         B BusFault_Handler
00161 
00162         PUBWEAK UsageFault_Handler
00163         SECTION .text:CODE:REORDER(1)
00164 UsageFault_Handler
00165         B UsageFault_Handler
00166 
00167         PUBWEAK SVC_Handler
00168         SECTION .text:CODE:REORDER(1)
00169 SVC_Handler
00170         B SVC_Handler
00171 
00172         PUBWEAK DebugMon_Handler
00173         SECTION .text:CODE:REORDER(1)
00174 DebugMon_Handler
00175         B DebugMon_Handler
00176 
00177         PUBWEAK PendSV_Handler
00178         SECTION .text:CODE:REORDER(1)
00179 PendSV_Handler
00180         B PendSV_Handler
00181 
00182         PUBWEAK SysTick_Handler
00183         SECTION .text:CODE:REORDER(1)
00184 SysTick_Handler
00185         B SysTick_Handler
00186         ; EFM32G specific interrupt handlers
00187 
00188         PUBWEAK DMA_IRQHandler
00189         SECTION .text:CODE:REORDER(1)
00190 DMA_IRQHandler
00191         B DMA_IRQHandler
00192  
00193         PUBWEAK GPIO_EVEN_IRQHandler
00194         SECTION .text:CODE:REORDER(1)
00195 GPIO_EVEN_IRQHandler
00196         B GPIO_EVEN_IRQHandler
00197  
00198         PUBWEAK TIMER0_IRQHandler
00199         SECTION .text:CODE:REORDER(1)
00200 TIMER0_IRQHandler
00201         B TIMER0_IRQHandler
00202  
00203         PUBWEAK USART0_RX_IRQHandler
00204         SECTION .text:CODE:REORDER(1)
00205 USART0_RX_IRQHandler
00206         B USART0_RX_IRQHandler
00207  
00208         PUBWEAK USART0_TX_IRQHandler
00209         SECTION .text:CODE:REORDER(1)
00210 USART0_TX_IRQHandler
00211         B USART0_TX_IRQHandler
00212  
00213         PUBWEAK ACMP0_IRQHandler
00214         SECTION .text:CODE:REORDER(1)
00215 ACMP0_IRQHandler
00216         B ACMP0_IRQHandler
00217  
00218         PUBWEAK ADC0_IRQHandler
00219         SECTION .text:CODE:REORDER(1)
00220 ADC0_IRQHandler
00221         B ADC0_IRQHandler
00222  
00223         PUBWEAK DAC0_IRQHandler
00224         SECTION .text:CODE:REORDER(1)
00225 DAC0_IRQHandler
00226         B DAC0_IRQHandler
00227  
00228         PUBWEAK I2C0_IRQHandler
00229         SECTION .text:CODE:REORDER(1)
00230 I2C0_IRQHandler
00231         B I2C0_IRQHandler
00232  
00233         PUBWEAK GPIO_ODD_IRQHandler
00234         SECTION .text:CODE:REORDER(1)
00235 GPIO_ODD_IRQHandler
00236         B GPIO_ODD_IRQHandler
00237  
00238         PUBWEAK TIMER1_IRQHandler
00239         SECTION .text:CODE:REORDER(1)
00240 TIMER1_IRQHandler
00241         B TIMER1_IRQHandler
00242  
00243         PUBWEAK TIMER2_IRQHandler
00244         SECTION .text:CODE:REORDER(1)
00245 TIMER2_IRQHandler
00246         B TIMER2_IRQHandler
00247  
00248         PUBWEAK USART1_RX_IRQHandler
00249         SECTION .text:CODE:REORDER(1)
00250 USART1_RX_IRQHandler
00251         B USART1_RX_IRQHandler
00252  
00253         PUBWEAK USART1_TX_IRQHandler
00254         SECTION .text:CODE:REORDER(1)
00255 USART1_TX_IRQHandler
00256         B USART1_TX_IRQHandler
00257  
00258         PUBWEAK USART2_RX_IRQHandler
00259         SECTION .text:CODE:REORDER(1)
00260 USART2_RX_IRQHandler
00261         B USART2_RX_IRQHandler
00262  
00263         PUBWEAK USART2_TX_IRQHandler
00264         SECTION .text:CODE:REORDER(1)
00265 USART2_TX_IRQHandler
00266         B USART2_TX_IRQHandler
00267  
00268         PUBWEAK UART0_RX_IRQHandler
00269         SECTION .text:CODE:REORDER(1)
00270 UART0_RX_IRQHandler
00271         B UART0_RX_IRQHandler
00272  
00273         PUBWEAK UART0_TX_IRQHandler
00274         SECTION .text:CODE:REORDER(1)
00275 UART0_TX_IRQHandler
00276         B UART0_TX_IRQHandler
00277  
00278         PUBWEAK LEUART0_IRQHandler
00279         SECTION .text:CODE:REORDER(1)
00280 LEUART0_IRQHandler
00281         B LEUART0_IRQHandler
00282  
00283         PUBWEAK LEUART1_IRQHandler
00284         SECTION .text:CODE:REORDER(1)
00285 LEUART1_IRQHandler
00286         B LEUART1_IRQHandler
00287  
00288         PUBWEAK LETIMER0_IRQHandler
00289         SECTION .text:CODE:REORDER(1)
00290 LETIMER0_IRQHandler
00291         B LETIMER0_IRQHandler
00292  
00293         PUBWEAK PCNT0_IRQHandler
00294         SECTION .text:CODE:REORDER(1)
00295 PCNT0_IRQHandler
00296         B PCNT0_IRQHandler
00297  
00298         PUBWEAK PCNT1_IRQHandler
00299         SECTION .text:CODE:REORDER(1)
00300 PCNT1_IRQHandler
00301         B PCNT1_IRQHandler
00302  
00303         PUBWEAK PCNT2_IRQHandler
00304         SECTION .text:CODE:REORDER(1)
00305 PCNT2_IRQHandler
00306         B PCNT2_IRQHandler
00307  
00308         PUBWEAK RTC_IRQHandler
00309         SECTION .text:CODE:REORDER(1)
00310 RTC_IRQHandler
00311         B RTC_IRQHandler
00312  
00313         PUBWEAK CMU_IRQHandler
00314         SECTION .text:CODE:REORDER(1)
00315 CMU_IRQHandler
00316         B CMU_IRQHandler
00317  
00318         PUBWEAK VCMP_IRQHandler
00319         SECTION .text:CODE:REORDER(1)
00320 VCMP_IRQHandler
00321         B VCMP_IRQHandler
00322  
00323         PUBWEAK LCD_IRQHandler
00324         SECTION .text:CODE:REORDER(1)
00325 LCD_IRQHandler
00326         B LCD_IRQHandler
00327  
00328         PUBWEAK MSC_IRQHandler
00329         SECTION .text:CODE:REORDER(1)
00330 MSC_IRQHandler
00331         B MSC_IRQHandler
00332  
00333         PUBWEAK AES_IRQHandler
00334         SECTION .text:CODE:REORDER(1)
00335 AES_IRQHandler
00336         B AES_IRQHandler
00337  
00338         END