release/EM_CMSIS_P1_4.0.0/Device/SiliconLabs/EFM32HG/Source/IAR/startup_efm32hg.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 __weak void USART0_RX_IRQHandler(void)
00163 {
00164   while(1);
00165 }
00166 
00167 __weak void USART0_TX_IRQHandler(void)
00168 {
00169   while(1);
00170 }
00171 
00172 __weak void USB_IRQHandler(void)
00173 {
00174   while(1);
00175 }
00176 
00177 __weak void TIMER2_IRQHandler(void)
00178 {
00179   while(1);
00180 }
00181 
00182 
00183 /* With IAR, the CSTACK is defined via project options settings */
00184 #pragma data_alignment=256
00185 #pragma location = ".intvec"
00186 const void * const __vector_table[]=  {
00187     &CSTACK$$Limit,
00188     (void *) Reset_Handler,           /*  1 - Reset (start instruction) */
00189     (void *) NMI_Handler,             /*  2 - NMI */
00190     (void *) HardFault_Handler,       /*  3 - HardFault */
00191     (void *) 0,
00192     (void *) 0,
00193     (void *) 0,
00194     (void *) 0,
00195     (void *) 0,
00196     (void *) 0,
00197     (void *) 0,
00198     (void *) SVC_Handler,
00199     (void *) 0,
00200     (void *) 0,
00201     (void *) PendSV_Handler,
00202     (void *) SysTick_Handler,
00203     (void *) DMA_IRQHandler,  /* 0 - DMA */
00204     (void *) GPIO_EVEN_IRQHandler,  /* 1 - GPIO_EVEN */
00205     (void *) TIMER0_IRQHandler,  /* 2 - TIMER0 */
00206     (void *) ACMP0_IRQHandler,  /* 3 - ACMP0 */
00207     (void *) ADC0_IRQHandler,  /* 4 - ADC0 */
00208     (void *) I2C0_IRQHandler,  /* 5 - I2C0 */
00209     (void *) GPIO_ODD_IRQHandler,  /* 6 - GPIO_ODD */
00210     (void *) TIMER1_IRQHandler,  /* 7 - TIMER1 */
00211     (void *) USART1_RX_IRQHandler,  /* 8 - USART1_RX */
00212     (void *) USART1_TX_IRQHandler,  /* 9 - USART1_TX */
00213     (void *) LEUART0_IRQHandler,  /* 10 - LEUART0 */
00214     (void *) PCNT0_IRQHandler,  /* 11 - PCNT0 */
00215     (void *) RTC_IRQHandler,  /* 12 - RTC */
00216     (void *) CMU_IRQHandler,  /* 13 - CMU */
00217     (void *) VCMP_IRQHandler,  /* 14 - VCMP */
00218     (void *) MSC_IRQHandler,  /* 15 - MSC */
00219     (void *) AES_IRQHandler,  /* 16 - AES */
00220     (void *) USART0_RX_IRQHandler,  /* 17 - USART0_RX */
00221     (void *) USART0_TX_IRQHandler,  /* 18 - USART0_TX */
00222     (void *) USB_IRQHandler,  /* 19 - USB */
00223     (void *) TIMER2_IRQHandler,  /* 20 - TIMER2 */
00224 };