diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/target/arm7_9_common.c | 3 | ||||
-rw-r--r-- | src/target/arm926ejs.c | 18 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/target/arm7_9_common.c b/src/target/arm7_9_common.c index ab9e9737..79d91e7a 100644 --- a/src/target/arm7_9_common.c +++ b/src/target/arm7_9_common.c @@ -913,8 +913,9 @@ int arm7_9_poll(target_t *target) /* LOG_DEBUG("DBGACK set, dbg_state->value: 0x%x", buf_get_u32(dbg_stat->value, 0, 32));*/ if (target->state == TARGET_UNKNOWN) { + /* Starting OpenOCD with target in debug-halt */ target->state = TARGET_RUNNING; - LOG_WARNING("DBGACK set while target was in unknown state. Reset or initialize target."); + LOG_DEBUG("DBGACK already set during server startup."); } if ((target->state == TARGET_RUNNING) || (target->state == TARGET_RESET)) { diff --git a/src/target/arm926ejs.c b/src/target/arm926ejs.c index 589dfdea..d9c677ff 100644 --- a/src/target/arm926ejs.c +++ b/src/target/arm926ejs.c @@ -262,10 +262,12 @@ int arm926ejs_examine_debug_reason(target_t *target) if ((retval = jtag_execute_queue()) != ERROR_OK) return retval; + /* Method-Of-Entry (MOE) field */ debug_reason = buf_get_u32(dbg_stat->value, 6, 4); switch (debug_reason) { + /* case 0: no debug entry */ case 1: LOG_DEBUG("breakpoint from EICE unit 0"); target->debug_reason = DBG_REASON_BREAKPOINT; @@ -307,7 +309,21 @@ int arm926ejs_examine_debug_reason(target_t *target) target->debug_reason = DBG_REASON_DBGRQ; break; case 11: - LOG_ERROR("BUG: debug re-entry from system speed access shouldn't be handled here"); + LOG_DEBUG("debug re-entry from system speed access"); + /* This is normal when connecting to something that's + * already halted, or in some related code paths, but + * otherwise is surprising (and presumably wrong). + */ + switch (target->debug_reason) { + case DBG_REASON_DBGRQ: + break; + default: + LOG_ERROR("unexpected -- debug re-entry"); + /* FALLTHROUGH */ + case DBG_REASON_UNDEFINED: + target->debug_reason = DBG_REASON_DBGRQ; + break; + } break; case 12: /* FIX!!!! here be dragons!!! We need to fail here so |