diff options
author | Robert Jordens <jordens@gmail.com> | 2015-06-30 17:16:08 -0600 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2015-08-06 13:13:52 +0100 |
commit | 7aade468437a8b50e231c29c9889b67fe53dbccc (patch) | |
tree | 7e2146dc373e2d19f45bb931bc0e00bd914a7046 | |
parent | a651f202b26187e36f67ca74d599545ee498a289 (diff) | |
download | riscv-openocd-7aade468437a8b50e231c29c9889b67fe53dbccc.zip riscv-openocd-7aade468437a8b50e231c29c9889b67fe53dbccc.tar.gz riscv-openocd-7aade468437a8b50e231c29c9889b67fe53dbccc.tar.bz2 |
target/testee: manage target->state
The testee target is usefull for certain non-cpu pass-through
situations, for example in the case of a spi flash mapped to the DR of
a JTAG tap, as is the case for most FPGAs with SPI flashs behind them.
We just manage the RUNNING/RESET/HALTED state in the testee driver to
support it being halted which is a requirement for flash banks.
Change-Id: I1b4d52c58a1f6bd753e126bfde74dcc5164d7b69
Signed-off-by: Robert Jordens <jordens@gmail.com>
Reviewed-on: http://openocd.zylin.com/2840
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
-rw-r--r-- | src/target/testee.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/target/testee.c b/src/target/testee.c index 60a49e6..b95cb82 100644 --- a/src/target/testee.c +++ b/src/target/testee.c @@ -44,18 +44,23 @@ static int testee_init(struct command_context *cmd_ctx, struct target *target) } static int testee_poll(struct target *target) { + if ((target->state == TARGET_RUNNING) || (target->state == TARGET_DEBUG_RUNNING)) + target->state = TARGET_HALTED; return ERROR_OK; } static int testee_halt(struct target *target) { + target->state = TARGET_HALTED; return ERROR_OK; } static int testee_reset_assert(struct target *target) { + target->state = TARGET_RESET; return ERROR_OK; } static int testee_reset_deassert(struct target *target) { + target->state = TARGET_RUNNING; return ERROR_OK; } struct target_type testee_target = { |