From 3436a100397baf44de528b174ab7ac79d36e11ba Mon Sep 17 00:00:00 2001 From: Hauke Petersen <hauke.petersen@fu-berlin.de> Date: Fri, 13 Mar 2015 17:39:45 +0100 Subject: [PATCH] cpu/stm32f0: included core_panic module --- cpu/stm32f0/include/cpu-conf.h | 9 +++++++++ cpu/stm32f0/startup.c | 34 +++++----------------------------- 2 files changed, 14 insertions(+), 29 deletions(-) diff --git a/cpu/stm32f0/include/cpu-conf.h b/cpu/stm32f0/include/cpu-conf.h index a0d7a4cde1..57ee512fe2 100644 --- a/cpu/stm32f0/include/cpu-conf.h +++ b/cpu/stm32f0/include/cpu-conf.h @@ -63,6 +63,15 @@ extern "C" { */ #define CPUID_ID_LEN (12) +/** + * @brief Definition of different panic modes + */ +typedef enum { + HARD_FAULT, /**< hard fault */ + NMI_HANDLER, /**< non maskable interrupt */ + DUMMY_HANDLER /**< dummy interrupt handler */ +} panic_t; + #ifdef __cplusplus } #endif diff --git a/cpu/stm32f0/startup.c b/cpu/stm32f0/startup.c index d1fa47bf92..ebc44aa954 100644 --- a/cpu/stm32f0/startup.c +++ b/cpu/stm32f0/startup.c @@ -19,7 +19,8 @@ */ #include <stdint.h> -#include "board.h" + +#include "crash.h" /** * memory markers as defined in the linker script @@ -79,42 +80,17 @@ void reset_handler(void) */ void dummy_handler(void) { - while (1) {asm ("nop");} + core_panic(DUMMY_HANDLER, "DUMMY HANDLER"); } void isr_nmi(void) { - while (1) {asm ("nop");} -} - -void isr_mem_manage(void) -{ - while (1) {asm ("nop");} -} - -void isr_debug_mon(void) -{ - while (1) {asm ("nop");} + core_panic(NMI_HANDLER, "NMI HANDLER"); } void isr_hard_fault(void) { - while (1) { - for (int i = 0; i < 250000; i++) { - asm ("nop"); - } - LED_RED_TOGGLE; - } -} - -void isr_bus_fault(void) -{ - while (1) {asm ("nop");} -} - -void isr_usage_fault(void) -{ - while (1) {asm ("nop");} + core_panic(HARD_FAULT, "HARD FAULT"); } /* Cortex-M specific interrupt vectors */ -- GitLab