diff options
author | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-07-06 14:25:25 +0000 |
---|---|---|
committer | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-07-06 14:25:25 +0000 |
commit | d5e183c31f3e6f95f41dd72ac530e1c3dc5adc11 (patch) | |
tree | fbcf6565512786b278df771d09ccf2ade11a0eb5 /src | |
parent | 56944ac1c83c0e420117ef9f0c6f2de53c8ed424 (diff) | |
download | openocd_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.c | 11 |
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) |