aboutsummaryrefslogtreecommitdiff
path: root/src/target/testee.c
diff options
context:
space:
mode:
authorRobert Jordens <jordens@gmail.com>2015-06-30 17:16:08 -0600
committerSpencer Oliver <spen@spen-soft.co.uk>2015-08-06 13:13:52 +0100
commit7aade468437a8b50e231c29c9889b67fe53dbccc (patch)
tree7e2146dc373e2d19f45bb931bc0e00bd914a7046 /src/target/testee.c
parenta651f202b26187e36f67ca74d599545ee498a289 (diff)
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>
Diffstat (limited to 'src/target/testee.c')
-rw-r--r--src/target/testee.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/target/testee.c b/src/target/testee.c
index 60a49e61..b95cb82b 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 = {