diff options
author | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-09-01 23:36:31 +0200 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-09-03 22:13:50 +0200 |
commit | 35af12d3e729e053b2e83cd0322f9347af652ef3 (patch) | |
tree | 4a7dda611d7d4b6254871c2b8394eed59ea6a2e1 /src | |
parent | ae80c3564a5693a5326ceac750ec6779efe3f523 (diff) | |
download | openocd_libswd-35af12d3e729e053b2e83cd0322f9347af652ef3.tar.gz openocd_libswd-35af12d3e729e053b2e83cd0322f9347af652ef3.tar.bz2 openocd_libswd-35af12d3e729e053b2e83cd0322f9347af652ef3.tar.xz openocd_libswd-35af12d3e729e053b2e83cd0322f9347af652ef3.zip |
jtag: fix regression with dummy driver and when starting OpenOCD with target powered down
Do not fail startup if communication with target is
not possible.
OpenOCD supports launching without a target connected
or the target powered down.
The user will typically power up the target and issue
a "reset init" + load his application after OpenOCD
is started then.
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/jtag/core.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/jtag/core.c b/src/jtag/core.c index 10686819..6f9d92a5 100644 --- a/src/jtag/core.c +++ b/src/jtag/core.c @@ -1445,17 +1445,19 @@ int jtag_init_inner(struct command_context *cmd_ctx) case ERROR_OK: /* complete success */ break; - case ERROR_JTAG_INIT_SOFT_FAIL: + default: /* For backward compatibility reasons, try coping with * configuration errors involving only ID mismatches. * We might be able to talk to the devices. + * + * Also the device might be powered down during startup. + * + * After OpenOCD starts, we can try to power on the device + * and run a reset. */ LOG_ERROR("Trying to use configured scan chain anyway..."); issue_setup = false; break; - default: - /* some hard error; already issued diagnostics */ - return retval; } /* Now look at IR values. Problems here will prevent real @@ -1466,7 +1468,13 @@ int jtag_init_inner(struct command_context *cmd_ctx) */ retval = jtag_validate_ircapture(); if (retval != ERROR_OK) - return retval; + { + /* The target might be powered down. The user + * can power it up and reset it after firing + * up OpenOCD. + */ + issue_setup = false; + } if (issue_setup) jtag_notify_event(JTAG_TAP_EVENT_SETUP); |