release/EM_CMSIS_P1_4.0.0/Device/SiliconLabs/EFM32ZG/Source/IAR/startup_efm32zg.c

00001 /**************************************************************************/
00033 #include "em_device.h"        /* The correct device header file. */
00034 
00035 #pragma language=extended
00036 #pragma segment="CSTACK"
00037 
00038 /* IAR start function */
00039 extern void __iar_program_start(void);
00040 /* CMSIS init function */
00041 extern void SystemInit(void);
00042 
00043 /* Auto defined by linker */
00044 extern unsigned char CSTACK$$Limit;
00045 
00046 __weak void Reset_Handler(void)
00047 {
00048   SystemInit();
00049   __iar_program_start();
00050 }
00051 
00052 __weak void NMI_Handler(void)
00053 {
00054   while(1);
00055 }
00056 
00057 __weak void HardFault_Handler(void)
00058 {
00059   while(1);
00060 }
00061 
00062 __weak void SVC_Handler(void)
00063 {
00064   while(1);
00065 }
00066 
00067 __weak void PendSV_Handler(void)
00068 {
00069   while(1);
00070 }
00071 
00072 __weak void SysTick_Handler(void)
00073 {
00074   while(1);
00075 }
00076 
00077 __weak void DMA_IRQHandler(void)
00078 {
00079   while(1);
00080 }
00081 
00082 __weak void GPIO_EVEN_IRQHandler(void)
00083 {
00084   while(1);
00085 }
00086 
00087 __weak void TIMER0_IRQHandler(void)
00088 {
00089   while(1);
00090 }
00091 
00092 __weak void ACMP0_IRQHandler(void)
00093 {
00094   while(1);
00095 }
00096 
00097 __weak void ADC0_IRQHandler(void)
00098 {
00099   while(1);
00100 }
00101 
00102 __weak void I2C0_IRQHandler(void)
00103 {
00104   while(1);
00105 }
00106 
00107 __weak void GPIO_ODD_IRQHandler(void)
00108 {
00109   while(1);
00110 }
00111 
00112 __weak void TIMER1_IRQHandler(void)
00113 {
00114   while(1);
00115 }
00116 
00117 __weak void USART1_RX_IRQHandler(void)
00118 {
00119   while(1);
00120 }
00121 
00122 __weak void USART1_TX_IRQHandler(void)
00123 {
00124   while(1);
00125 }
00126 
00127 __weak void LEUART0_IRQHandler(void)
00128 {
00129   while(1);
00130 }
00131 
00132 __weak void PCNT0_IRQHandler(void)
00133 {
00134   while(1);
00135 }
00136 
00137 __weak void RTC_IRQHandler(void)
00138 {
00139   while(1);
00140 }
00141 
00142 __weak void CMU_IRQHandler(void)
00143 {
00144   while(1);
00145 }
00146 
00147 __weak void VCMP_IRQHandler(void)
00148 {
00149   while(1);
00150 }
00151 
00152 __weak void MSC_IRQHandler(void)
00153 {
00154   while(1);
00155 }
00156 
00157 __weak void AES_IRQHandler(void)
00158 {
00159   while(1);
00160 }
00161 
00162 
00163 /* With IAR, the CSTACK is defined via project options settings */
00164 #pragma data_alignment=256
00165 #pragma location = ".intvec"
00166 const void * const __vector_table[]=  {
00167     &CSTACK$$Limit,
00168     (void *) Reset_Handler,           /*  1 - Reset (start instruction) */
00169     (void *) NMI_Handler,             /*  2 - NMI */
00170     (void *) HardFault_Handler,       /*  3 - HardFault */
00171     (void *) 0,
00172     (void *) 0,
00173     (void *) 0,
00174     (void *) 0,
00175     (void *) 0,
00176     (void *) 0,
00177     (void *) 0,
00178     (void *) SVC_Handler,
00179     (void *) 0,
00180     (void *) 0,
00181     (void *) PendSV_Handler,
00182     (void *) SysTick_Handler,
00183     (void *) DMA_IRQHandler,  /* 0 - DMA */
00184     (void *) GPIO_EVEN_IRQHandler,  /* 1 - GPIO_EVEN */
00185     (void *) TIMER0_IRQHandler,  /* 2 - TIMER0 */
00186     (void *) ACMP0_IRQHandler,  /* 3 - ACMP0 */
00187     (void *) ADC0_IRQHandler,  /* 4 - ADC0 */
00188     (void *) I2C0_IRQHandler,  /* 5 - I2C0 */
00189     (void *) GPIO_ODD_IRQHandler,  /* 6 - GPIO_ODD */
00190     (void *) TIMER1_IRQHandler,  /* 7 - TIMER1 */
00191     (void *) USART1_RX_IRQHandler,  /* 8 - USART1_RX */
00192     (void *) USART1_TX_IRQHandler,  /* 9 - USART1_TX */
00193     (void *) LEUART0_IRQHandler,  /* 10 - LEUART0 */
00194     (void *) PCNT0_IRQHandler,  /* 11 - PCNT0 */
00195     (void *) RTC_IRQHandler,  /* 12 - RTC */
00196     (void *) CMU_IRQHandler,  /* 13 - CMU */
00197     (void *) VCMP_IRQHandler,  /* 14 - VCMP */
00198     (void *) MSC_IRQHandler,  /* 15 - MSC */
00199     (void *) AES_IRQHandler,  /* 16 - AES */
00200 
00201 };