aboutsummaryrefslogtreecommitdiff
path: root/gdb/ocd.c
diff options
context:
space:
mode:
authorGeoffrey Noer <noer@cygnus>1997-08-12 21:38:54 +0000
committerGeoffrey Noer <noer@cygnus>1997-08-12 21:38:54 +0000
commita2c23081d59e6f8eb32102da7cd49d9fbade3ebf (patch)
tree6660e754151f03443f351a7081f705f234dbd7dd /gdb/ocd.c
parentccf1cf9c692438515a6ba13b4d4a01f0d58f3c1f (diff)
downloadgdb-a2c23081d59e6f8eb32102da7cd49d9fbade3ebf.zip
gdb-a2c23081d59e6f8eb32102da7cd49d9fbade3ebf.tar.gz
gdb-a2c23081d59e6f8eb32102da7cd49d9fbade3ebf.tar.bz2
Tue Aug 12 14:37:18 1997 Geoffrey Noer <noer@cygnus.com>
* ocd.c (ocd_wait): loop until we're in BDM mode instead of assuming control has returned to GDB.
Diffstat (limited to 'gdb/ocd.c')
-rw-r--r--gdb/ocd.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/gdb/ocd.c b/gdb/ocd.c
index 721ae3f..a853080 100644
--- a/gdb/ocd.c
+++ b/gdb/ocd.c
@@ -453,7 +453,10 @@ ocd_wait ()
/* Target may already be stopped by the time we get here. */
- if (!(last_run_status & OCD_FLAG_BDM))
+/* if (!(last_run_status & OCD_FLAG_BDM)) */
+
+ /* Loop until we've dropped back into BDM mode */
+ while (!(last_run_status & OCD_FLAG_BDM))
{
ofunc = (void (*)()) signal (SIGINT, ocd_interrupt);
@@ -464,19 +467,20 @@ ocd_wait ()
if (pktlen < 2)
error ("Truncated response packet from OCD device");
- status = p[1];
+ last_run_status = p[1];
error_code = p[2];
if (error_code != 0)
ocd_error ("target_wait:", error_code);
- if (status & OCD_FLAG_PWF)
+ if (last_run_status & OCD_FLAG_PWF)
error ("OCD device lost VCC at BDM interface.");
- else if (status & OCD_FLAG_CABLE_DISC)
- error ("BDM cable appears to have been disconnected.");
-
- if (!(status & OCD_FLAG_BDM))
+ else if (last_run_status & OCD_FLAG_CABLE_DISC)
+ error ("OCD device cable appears to have been disconnected.");
+#if 0
+ if (!(last_run_status & OCD_FLAG_BDM))
error ("OCD device woke up, but wasn't stopped: 0x%x", status);
+#endif
}
if (ocd_interrupt_flag)