cortex_m: set the debug reason to DBGRQ when NVIC_DFSR indicates EXTERNAL
By definition the EXTERNAL bit in Debug Fault Status Register indicates that an external debug request (EDBGRQ) signal was asserted. Usage example: this could be done by CTI in multicore devices in order to halt all the cores together. Change-Id: I7830455ce5da6702b7d08c8fa7bfe80e4d8a5055 Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com> Reviewed-on: http://openocd.zylin.com/5157 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>bscan_optimization
parent
f912649968
commit
5b768b0d39
|
@ -392,7 +392,9 @@ static int cortex_m_examine_debug_reason(struct target *target)
|
||||||
target->debug_reason = DBG_REASON_WATCHPOINT;
|
target->debug_reason = DBG_REASON_WATCHPOINT;
|
||||||
else if (cortex_m->nvic_dfsr & DFSR_VCATCH)
|
else if (cortex_m->nvic_dfsr & DFSR_VCATCH)
|
||||||
target->debug_reason = DBG_REASON_BREAKPOINT;
|
target->debug_reason = DBG_REASON_BREAKPOINT;
|
||||||
else /* EXTERNAL, HALTED */
|
else if (cortex_m->nvic_dfsr & DFSR_EXTERNAL)
|
||||||
|
target->debug_reason = DBG_REASON_DBGRQ;
|
||||||
|
else /* HALTED */
|
||||||
target->debug_reason = DBG_REASON_UNDEFINED;
|
target->debug_reason = DBG_REASON_UNDEFINED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -127,6 +127,7 @@
|
||||||
#define DFSR_BKPT 2
|
#define DFSR_BKPT 2
|
||||||
#define DFSR_DWTTRAP 4
|
#define DFSR_DWTTRAP 4
|
||||||
#define DFSR_VCATCH 8
|
#define DFSR_VCATCH 8
|
||||||
|
#define DFSR_EXTERNAL 16
|
||||||
|
|
||||||
#define FPCR_CODE 0
|
#define FPCR_CODE 0
|
||||||
#define FPCR_LITERAL 1
|
#define FPCR_LITERAL 1
|
||||||
|
|
Loading…
Reference in New Issue