summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-07-06 14:25:25 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-07-06 14:25:25 +0000
commitd5e183c31f3e6f95f41dd72ac530e1c3dc5adc11 (patch)
treefbcf6565512786b278df771d09ccf2ade11a0eb5 /src
parent56944ac1c83c0e420117ef9f0c6f2de53c8ed424 (diff)
downloadopenocd+libswd-d5e183c31f3e6f95f41dd72ac530e1c3dc5adc11.tar.gz
openocd+libswd-d5e183c31f3e6f95f41dd72ac530e1c3dc5adc11.tar.bz2
openocd+libswd-d5e183c31f3e6f95f41dd72ac530e1c3dc5adc11.tar.xz
openocd+libswd-d5e183c31f3e6f95f41dd72ac530e1c3dc5adc11.zip
Fix certain arm926ejs targets(e.g. i.MX27) which report an unknown MOE(method of entry) - interpret this as dbgrq. "reset run" + "halt" + "step" now works.
git-svn-id: svn://svn.berlios.de/openocd/trunk@2479 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src')
-rw-r--r--src/target/arm926ejs.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/target/arm926ejs.c b/src/target/arm926ejs.c
index d5c4cabe..4a711439 100644
--- a/src/target/arm926ejs.c
+++ b/src/target/arm926ejs.c
@@ -360,20 +360,21 @@ int arm926ejs_examine_debug_reason(target_t *target)
* openocd development mailing list if you have hardware
* to donate to look into this problem....
*/
- LOG_ERROR("mystery debug reason MOE = 0xc. Try issuing a resume + halt.");
+ LOG_WARNING("WARNING: mystery debug reason MOE = 0xc. Try issuing a resume + halt.");
target->debug_reason = DBG_REASON_DBGRQ;
- retval = ERROR_TARGET_FAILURE;
break;
default:
- LOG_ERROR("BUG: unknown debug reason: 0x%x", debug_reason);
+ LOG_WARNING("WARNING: unknown debug reason: 0x%x", debug_reason);
+ /* Oh agony! should we interpret this as a halt request or
+ * that the target stopped on it's own accord?
+ */
target->debug_reason = DBG_REASON_DBGRQ;
/* if we fail here, we won't talk to the target and it will
* be reported to be in the halted state */
- retval = ERROR_TARGET_FAILURE;
break;
}
- return retval;
+ return ERROR_OK;
}
uint32_t arm926ejs_get_ttb(target_t *target)