* \author Andrea Righi <arighi@develer.com>
*/
* \author Andrea Righi <arighi@develer.com>
*/
+#include <cfg/debug.h> /* ASSERT() */
+#include <cfg/log.h> /* LOG_ERR() */
#include <cpu/irq.h>
#include "io/lm3s.h"
#include "irq_lm3s.h"
#include <cpu/irq.h>
#include "io/lm3s.h"
#include "irq_lm3s.h"
static void (*irq_table[NUM_INTERRUPTS])(void)
__attribute__((section("vtable")));
static void (*irq_table[NUM_INTERRUPTS])(void)
__attribute__((section("vtable")));
-static void unhandled_isr(void)
+/* Unhandled IRQ */
+static NORETURN NAKED void unhandled_isr(void)
+ reg32_t reg;
+
+ asm volatile ("mrs %0, ipsr" : "=r"(reg));
+ LOG_ERR("unhandled IRQ %lu\n", reg);
+ PAUSE;
+ UNREACHABLE();