diff options
author | zwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-06-29 20:04:14 +0000 |
---|---|---|
committer | zwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-06-29 20:04:14 +0000 |
commit | d3315c4183c34cf48590e9c92ef2b96180271a0a (patch) | |
tree | b7299957d2647c82e6201d762a80790c3771eb10 /src | |
parent | 95da247b40d13600c37588d6be0ef8b3cc9abf2f (diff) | |
download | riscv-openocd-d3315c4183c34cf48590e9c92ef2b96180271a0a.zip riscv-openocd-d3315c4183c34cf48590e9c92ef2b96180271a0a.tar.gz riscv-openocd-d3315c4183c34cf48590e9c92ef2b96180271a0a.tar.bz2 |
David Brownell <david-b@pacbell.net>:
Remove some bogus warnings during server startup for ARM926ejs
targets that were already halted for debug ... e.g. started up
a freshly built instance.
git-svn-id: svn://svn.berlios.de/openocd/trunk@2417 b42882b7-edfa-0310-969c-e2dbd0fdcd60
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 ab9e973..79d91e7 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 589dfde..d9c677f 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 |