![]() |
Energy Micro IEC60355 Library Example Project 1.0 (internal use only!) GCC-Version
Example project demonstrating POST and BIST library functions
|
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