- only if "reset halt" or "reset init" are issued will the reset vector be set up

- If communication fails during assert between assert/deassert and during
assert, warnings are printed. The warning suggests using srst_only if the
clock locks up as that would allow the reset vector to be set up before
asserting reset.

git-svn-id: svn://svn.berlios.de/openocd/trunk@544 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
oharboe
2008-04-07 10:48:44 +00:00
parent a2c45daf78
commit 2b7504c279
2 changed files with 39 additions and 22 deletions

View File

@@ -297,7 +297,11 @@ int target_process_reset(struct command_context_s *cmd_ctx)
target->type->assert_reset(target);
target = target->next;
}
jtag_execute_queue();
if ((retval = jtag_execute_queue()) != ERROR_OK)
{
LOG_WARNING("JTAG communication failed asserting reset.");
retval = ERROR_OK;
}
/* request target halt if necessary, and schedule further action */
target = targets;
@@ -330,13 +334,24 @@ int target_process_reset(struct command_context_s *cmd_ctx)
target = target->next;
}
if ((retval = jtag_execute_queue()) != ERROR_OK)
{
LOG_WARNING("JTAG communication failed while reset was asserted. Consider using srst_only for reset_config.");
retval = ERROR_OK;
}
target = targets;
while (target)
{
target->type->deassert_reset(target);
target = target->next;
}
jtag_execute_queue();
if ((retval = jtag_execute_queue()) != ERROR_OK)
{
LOG_WARNING("JTAG communication failed while deasserting reset.");
retval = ERROR_OK;
}
LOG_DEBUG("Waiting for halted stated as approperiate");