summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2009-12-03 14:44:03 -0800
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-12-03 14:44:03 -0800
commitadbf40a04537acba3cf5fea7b71dab6ac3249646 (patch)
tree62f51a7f89266fb9306747946b653644a25d4ff9 /src
parentde27ebfa837a13309a03bfa0674513deed0d59e9 (diff)
downloadopenocd+libswd-adbf40a04537acba3cf5fea7b71dab6ac3249646.tar.gz
openocd+libswd-adbf40a04537acba3cf5fea7b71dab6ac3249646.tar.bz2
openocd+libswd-adbf40a04537acba3cf5fea7b71dab6ac3249646.tar.xz
openocd+libswd-adbf40a04537acba3cf5fea7b71dab6ac3249646.zip
fix another init regression
This makes Beagle work again, instead of losing horribly because the JTAG event handlers are no longer able to e.g. "runtest". I get the previous quirky behavior ... comes up OK but "reset halt" somewhat mysteriously makes it all better. (Instead of nothing being able to work at all...) However, I'm still seeing: The 'init' command must be used before 'init'. That seems to come from invoking "jtag init", sometime after it gets mapped to "ocd_jtag init", according to debug message traces. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'src')
-rw-r--r--src/openocd.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/openocd.c b/src/openocd.c
index 03a57dcd..da159692 100644
--- a/src/openocd.c
+++ b/src/openocd.c
@@ -121,18 +121,21 @@ COMMAND_HANDLER(handle_init_command)
}
LOG_DEBUG("jtag interface init complete");
- /* Try to initialize & examine the JTAG chain at this point, but
- * continue startup regardless */
+ /* Try to initialize & examine the JTAG chain at this point,
+ * but continue startup regardless. Note that platforms
+ * need to be able to provide JTAG event handlers that use
+ * a variety of JTAG operations in order to do that...
+ */
+ command_context_mode(CMD_CTX, COMMAND_EXEC);
if (command_run_line(CMD_CTX, "jtag init") == ERROR_OK)
{
- command_context_mode(CMD_CTX, COMMAND_EXEC);
LOG_DEBUG("Examining targets...");
if (target_examine() != ERROR_OK)
LOG_DEBUG("target examination failed");
- command_context_mode(CMD_CTX, COMMAND_CONFIG);
}
else
LOG_WARNING("jtag initialization failed; try 'jtag init' again.");
+ command_context_mode(CMD_CTX, COMMAND_CONFIG);
if (command_run_line(CMD_CTX, "flash init") != ERROR_OK)
return ERROR_FAIL;