Skip to content
Snippets Groups Projects
Commit c449ab9f authored by DipSwitch's avatar DipSwitch
Browse files

Merge pull request #5336 from OTAkeys/print_ipsr

cortexm_common: print trapped interrupt from ipsr
parents fa44132c 63c0e9be
Branches
No related tags found
No related merge requests found
/* /*
* Copyright (C) 2015 INRIA * Copyright (C) 2015 INRIA
* Copyright (C) 2015 Eistec AB * Copyright (C) 2015 Eistec AB
* Copyright (C) 2016 OTA keys
* *
* This file is subject to the terms and conditions of the GNU Lesser General * This file is subject to the terms and conditions of the GNU Lesser General
* Public License v2.1. See the file LICENSE in the top level directory for more * Public License v2.1. See the file LICENSE in the top level directory for more
...@@ -16,14 +17,29 @@ ...@@ -16,14 +17,29 @@
* *
* @author Oliver Hahm <oliver.hahm@inria.fr> * @author Oliver Hahm <oliver.hahm@inria.fr>
* @author Joakim Nohlgård <joakim.nohlgard@eistec.se> * @author Joakim Nohlgård <joakim.nohlgard@eistec.se>
* @author Toon Stegen <toon.stegen@altran.com>
*/ */
#include "cpu.h" #include "cpu.h"
#include "lpm.h" #include "lpm.h"
#include "log.h"
#ifdef DEVELHELP
static void print_ipsr(void)
{
uint32_t ipsr = __get_IPSR() & IPSR_ISR_Msk;
if(ipsr) {
/* if you get here, you might have forgotten to implement the isr
* for the printed interrupt number */
LOG_ERROR("Inside isr %d\n", ((int)ipsr) - 16);
}
}
#endif
void panic_arch(void) void panic_arch(void)
{ {
#ifdef DEVELHELP #ifdef DEVELHELP
print_ipsr();
/* The bkpt instruction will signal to the debugger to break here. */ /* The bkpt instruction will signal to the debugger to break here. */
__asm__("bkpt #0"); __asm__("bkpt #0");
/* enter infinite loop, into deepest possible sleep mode */ /* enter infinite loop, into deepest possible sleep mode */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment