diff --git a/cpu/cc2538/startup-gcc.c b/cpu/cc2538/startup-gcc.c index c9febb4f6..99a624a7d 100644 --- a/cpu/cc2538/startup-gcc.c +++ b/cpu/cc2538/startup-gcc.c @@ -40,12 +40,13 @@ #include "reg.h" #include "flash-cca.h" #include "sys-ctrl.h" -#include "uart.h" #include /*---------------------------------------------------------------------------*/ extern int main(void); /*---------------------------------------------------------------------------*/ +#define WEAK_ALIAS(x) __attribute__ ((weak, alias(#x))) +/*---------------------------------------------------------------------------*/ /* System handlers provided here */ void reset_handler(void); void nmi_handler(void); @@ -62,6 +63,9 @@ void cc2538_rf_rx_tx_isr(void); void cc2538_rf_err_isr(void); void udma_isr(void); void udma_err_isr(void); +void usb_isr(void) WEAK_ALIAS(default_handler); +void uart0_isr(void) WEAK_ALIAS(default_handler); +void uart1_isr(void) WEAK_ALIAS(default_handler); /* Boot Loader Backdoor selection */ #if FLASH_CCA_CONF_BOOTLDR_BACKDOOR @@ -83,22 +87,6 @@ void udma_err_isr(void); #else #define FLASH_CCA_BOOTLDR_CFG FLASH_CCA_BOOTLDR_CFG_DISABLE #endif - -/* Link in the USB ISR only if USB is enabled */ -#if USB_SERIAL_CONF_ENABLE -void usb_isr(void); -#else -#define usb_isr default_handler -#endif - -/* Likewise for the UART[01] ISRs */ -#if UART_CONF_ENABLE -void uart0_isr(void); -void uart1_isr(void); -#else /* UART_CONF_ENABLE */ -#define uart0_isr default_handler -#define uart1_isr default_handler -#endif /* UART_CONF_ENABLE */ /*---------------------------------------------------------------------------*/ /* Allocate stack space */ static unsigned long stack[512];