summaryrefslogtreecommitdiff
path: root/AT91SAM7S256/armdebug
diff options
context:
space:
mode:
authorTat-Chee Wan (USM)2011-03-18 17:04:12 +0800
committerTat-Chee Wan (USM)2011-03-18 17:04:12 +0800
commit3dd66c5eb0c7ae266e79f484ef0f768d3bab88b3 (patch)
treefef81d779fb56b53d19ab76b52b3c18190127e15 /AT91SAM7S256/armdebug
parente608154b21db256bd44e24285899cee0df37003e (diff)
parent6cfc6ae6394d24a03be2ccb6654f0722ca3cea7c (diff)
Merge branch 'master' of ssh://svc.cs.usm.my/~/gitrepo-bare/armdebug
Diffstat (limited to 'AT91SAM7S256/armdebug')
-rw-r--r--AT91SAM7S256/armdebug/Debugger/debug_stub.S5
1 files changed, 4 insertions, 1 deletions
diff --git a/AT91SAM7S256/armdebug/Debugger/debug_stub.S b/AT91SAM7S256/armdebug/Debugger/debug_stub.S
index eb03b1c..ec6b149 100644
--- a/AT91SAM7S256/armdebug/Debugger/debug_stub.S
+++ b/AT91SAM7S256/armdebug/Debugger/debug_stub.S
@@ -404,13 +404,16 @@ cCommHandleDebug:
mov r1, #CPSR_MODE /* Thumb mode can't handle immediate Operands for AND */
and r0, r1 /* Check Current Mode */
cmp r0, #MODE_ABT /* Debug Mode Check (Flags set) */
- pop {r0-r3} /* restore all values */
/* If we're in ABT (Abort) mode, this means that we're already running the Debugger */
beq _in_debug
/* Else, we're in normal operation mode (SVC), or other mode (??!) and need to force a switch to Debug mode */
+ pop {r0-r3} /* restore all values */
dbg__bkpt_thumb
+ b _cont_cCommHandleDebug
_in_debug:
+ pop {r0-r3} /* restore all values */
+_cont_cCommHandleDebug:
mov r0, #0 /* FIXME: Return Status */
bx lr
#endif