diff options
Diffstat (limited to 'src/target')
-rw-r--r-- | src/target/target.c | 22 | ||||
-rw-r--r-- | src/target/target/lm3s811.cfg | 2 |
2 files changed, 13 insertions, 11 deletions
diff --git a/src/target/target.c b/src/target/target.c index 1d6c4d36..bd334da2 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -267,8 +267,6 @@ int target_resume(struct target_s *target, int current, u32 address, int handle_ int retval; int timeout_ms = 5000; - enum target_state resume_state = debug_execution ? TARGET_DEBUG_RUNNING : TARGET_RUNNING; - /* We can't poll until after examine */ if (!target->type->examined) { @@ -279,17 +277,21 @@ int target_resume(struct target_s *target, int current, u32 address, int handle_ if ((retval = target->type->resume(target, current, address, handle_breakpoints, debug_execution)) != ERROR_OK) return retval; - /* wait for target to exit halted mode */ - target_poll(target); - - while (target->state != resume_state) + /* only check for resume event if normal resume */ + if (!debug_execution) { - usleep(10000); + /* wait for target to exit halted mode - not debug resume*/ target_poll(target); - if ((timeout_ms -= 10) <= 0) + + while (target->state != TARGET_RUNNING) { - LOG_ERROR("timeout waiting for target resume"); - return ERROR_TARGET_TIMEOUT; + usleep(10000); + target_poll(target); + if ((timeout_ms -= 10) <= 0) + { + LOG_ERROR("timeout waiting for target resume"); + return ERROR_TARGET_TIMEOUT; + } } } diff --git a/src/target/target/lm3s811.cfg b/src/target/target/lm3s811.cfg index f050c297..9b7ace80 100644 --- a/src/target/target/lm3s811.cfg +++ b/src/target/target/lm3s811.cfg @@ -18,7 +18,7 @@ jtag_device 4 0x1 0xf 0xe # this will be fixed in later revisions of silicon target cortex_m3 little reset_halt 0 lm3s -# 2k working area at base of ram +# 8k working area at base of ram working_area 0 0x20000000 0x2000 nobackup #flash configuration |