From: Robert Jordens Date: Tue, 30 Jun 2015 23:16:08 +0000 (-0600) Subject: target/testee: manage target->state X-Git-Tag: v0.10.0-rc1~465 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=7aade468437a8b50e231c29c9889b67fe53dbccc 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 Reviewed-on: http://openocd.zylin.com/2840 Tested-by: jenkins Reviewed-by: Spencer Oliver --- diff --git a/src/target/testee.c b/src/target/testee.c index 60a49e6198..b95cb82bc8 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 = {