summaryrefslogtreecommitdiff
path: root/src/target
diff options
context:
space:
mode:
Diffstat (limited to 'src/target')
-rw-r--r--src/target/target.c22
-rw-r--r--src/target/target/lm3s811.cfg2
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