From: Øyvind Harboe Date: Wed, 1 Sep 2010 21:36:31 +0000 (+0200) Subject: jtag: fix regression with dummy driver and when starting OpenOCD with target powered... X-Git-Tag: v0.5.0-rc1~432 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=35af12d3e729e053b2e83cd0322f9347af652ef3;ds=sidebyside 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 --- diff --git a/src/jtag/core.c b/src/jtag/core.c index 1068681964..6f9d92a53d 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);