CM3: startup refactoring.
[bertos.git] / bertos / cpu / cortex-m3 / drv / irq_lm3s.c
index c1df50193b9fd34e958b65a957204ec4f2df4e96..2ff83575fd699c2f8fb31e81e34149e8c297cb7a 100644 (file)
@@ -35,7 +35,8 @@
  * \author Andrea Righi <arighi@develer.com>
  */
 
-#include <cfg/debug.h>
+#include <cfg/debug.h> /* ASSERT() */
+#include <cfg/log.h> /* LOG_ERR() */
 #include <cpu/irq.h>
 #include "io/lm3s.h"
 #include "irq_lm3s.h"
 static void (*irq_table[NUM_INTERRUPTS])(void)
                        __attribute__((section("vtable")));
 
-static void unhandled_isr(void)
+/* Unhandled IRQ */
+static NORETURN NAKED void unhandled_isr(void)
 {
-       /* Unhandled IRQ */
+       reg32_t reg;
+
+       asm volatile ("mrs %0, ipsr" : "=r"(reg));
+       LOG_ERR("unhandled IRQ %lu\n", reg);
+       PAUSE;
+       UNREACHABLE();
        ASSERT(0);
 }