- only check normal resume, not debug resume

git-svn-id: svn://svn.berlios.de/openocd/trunk@777 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
ntfreak 2008-07-09 12:46:40 +00:00
parent 077131854e
commit a6a65f17f3
2 changed files with 13 additions and 11 deletions

View File

@ -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;
}
}
}

View File

@ -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