topic: add reset functions for SWD

Add swd_init_reset and swd_add_reset.
Add adapter_assert_reset and adapter_deassert_reset, and call them instead
of JTAG reset functions.

Change-Id: Ib2551c6fbb45513e0ae0dc331cfe3ee3f922298a
Signed-off-by: Simon Qian <simonqian.openocd@gmail.com>
Reviewed-on: http://openocd.zylin.com/526
Tested-by: jenkins
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
This commit is contained in:
Simon Qian
2012-03-17 15:21:59 +08:00
committed by Spencer Oliver
parent a2935397b4
commit 7743e0fb43
7 changed files with 110 additions and 12 deletions

View File

@@ -29,6 +29,7 @@
#include "config.h"
#endif
#include "jtag/interface.h"
#include "imp.h"
#include <target/algorithm.h>
#include <target/armv7m.h>
@@ -1330,7 +1331,7 @@ COMMAND_HANDLER(stellaris_handle_recover_command)
LOG_ERROR("Can't recover Stellaris flash without SRST");
return ERROR_FAIL;
}
jtag_add_reset(0, 1);
adapter_assert_reset();
for (int i = 0; i < 5; i++) {
retval = dap_to_swd(bank->target);
@@ -1343,7 +1344,7 @@ COMMAND_HANDLER(stellaris_handle_recover_command)
}
/* de-assert SRST */
jtag_add_reset(0, 0);
adapter_deassert_reset();
retval = jtag_execute_queue();
/* wait 400+ msec ... OK, "1+ second" is simpler */