diff options
Diffstat (limited to 'gdb/ocd.c')
-rw-r--r-- | gdb/ocd.c | 221 |
1 files changed, 2 insertions, 219 deletions
@@ -1,7 +1,7 @@ /* Target communications support for Macraigor Systems' On-Chip Debugging - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software - Foundation, Inc. + Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004 Free + Software Foundation, Inc. This file is part of GDB. @@ -46,14 +46,6 @@ static int ocd_start_remote (void *dummy); static int readchar (int timeout); -static void reset_packet (void); - -static void output_packet (void); - -static int get_quoted_char (int timeout); - -static void put_quoted_char (int c); - static void ocd_interrupt (int signo); static void ocd_interrupt_twice (int signo); @@ -70,17 +62,6 @@ static struct target_ops *current_ops = NULL; static int last_run_status; -/* This was 5 seconds, which is a long time to sit and wait. - Unless this is going though some terminal server or multiplexer or - other form of hairy serial connection, I would think 2 seconds would - be plenty. */ - -#if 0 -/* FIXME: Change to allow option to set timeout value on a per target - basis. */ -static int remote_timeout = 2; -#endif - /* Descriptor for I/O to remote machine. Initialize it to NULL so that ocd_open knows that we don't have a file open when the program starts. */ @@ -210,19 +191,11 @@ ocd_start_remote (void *dummy) printf_unfiltered ("[Wiggler version %x.%x, capability 0x%x]\n", p[0], p[1], (p[2] << 16) | p[3]); -#if 0 - /* Reset the target */ - - ocd_do_command (OCD_RESET_RUN, &status, &pktlen); -/* ocd_do_command (OCD_RESET, &status, &pktlen); */ -#endif - /* If processor is still running, stop it. */ if (!(status & OCD_FLAG_BDM)) ocd_stop (); -#if 1 /* When using a target box, we want to asynchronously return status when target stops. The OCD_SET_CTL_FLAGS command is ignored by Wigglers.dll when using a parallel Wiggler */ @@ -241,7 +214,6 @@ ocd_start_remote (void *dummy) if (error_code != 0) ocd_error ("OCD_SET_CTL_FLAGS:", error_code); -#endif immediate_quit--; @@ -780,112 +752,6 @@ readchar (int timeout) } } -#if 0 -/* Read a character from the data stream, dequoting as necessary. SYN is - treated special. Any SYNs appearing in the data stream are returned as the - distinct value RAW_SYN (which has a value > 8 bits and therefore cannot be - mistaken for real data). */ - -static int -get_quoted_char (int timeout) -{ - int ch; - - ch = readchar (timeout); - - switch (ch) - { - case SERIAL_TIMEOUT: - error ("Timeout in mid-packet, aborting"); - case SYN: - return RAW_SYN; - case DLE: - ch = readchar (timeout); - if (ch == SYN) - return RAW_SYN; - return ch & ~0100; - default: - return ch; - } -} - -static unsigned char pkt[256 * 2 + 10], *pktp; /* Worst case */ - -static void -reset_packet (void) -{ - pktp = pkt; -} - -static void -output_packet (void) -{ - if (serial_write (ocd_desc, pkt, pktp - pkt)) - perror_with_name ("output_packet: write failed"); - - reset_packet (); -} - -/* Output a quoted character. SYNs and DLEs are quoted. Everything else goes - through untouched. */ - -static void -put_quoted_char (int c) -{ - switch (c) - { - case SYN: - case DLE: - *pktp++ = DLE; - c |= 0100; - } - - *pktp++ = c; -} - -/* Send a packet to the OCD device. The packet framed by a SYN character, - a byte count and a checksum. The byte count only counts the number of - bytes between the count and the checksum. A count of zero actually - means 256. Any SYNs within the packet (including the checksum and - count) must be quoted. The quote character must be quoted as well. - Quoting is done by replacing the character with the two-character sequence - DLE, {char} | 0100. Note that the quoting mechanism has no effect on the - byte count. */ - -static void -stu_put_packet (unsigned char *buf, int len) -{ - unsigned char checksum; - unsigned char c; - - if (len == 0 || len > 256) - internal_error (__FILE__, __LINE__, "failed internal consistency check"); /* Can't represent 0 length packet */ - - reset_packet (); - - checksum = 0; - - put_quoted_char (RAW_SYN); - - c = len; - - do - { - checksum += c; - - put_quoted_char (c); - - c = *buf++; - } - while (len-- > 0); - - put_quoted_char (-checksum & 0xff); - - output_packet (); -} - -#else - /* Send a packet to the OCD device. The packet framed by a SYN character, a byte count and a checksum. The byte count only counts the number of bytes between the count and the checksum. A count of zero actually @@ -921,71 +787,6 @@ ocd_put_packet (unsigned char *buf, int len) if (serial_write (ocd_desc, packet, packet_ptr - packet)) perror_with_name ("output_packet: write failed"); } -#endif - -#if 0 -/* Get a packet from the OCD device. Timeout is only enforced for the - first byte of the packet. Subsequent bytes are expected to arrive in - time <= remote_timeout. Returns a pointer to a static buffer containing - the payload of the packet. *LENP contains the length of the packet. - */ - -static unsigned char * -stu_get_packet (unsigned char cmd, int *lenp, int timeout) -{ - int ch; - int len; - static unsigned char buf[256 + 10], *p; - unsigned char checksum; - -find_packet: - - ch = get_quoted_char (timeout); - - if (ch < 0) - error ("get_packet (readchar): %d", ch); - - if (ch != RAW_SYN) - goto find_packet; - -found_syn: /* Found the start of a packet */ - - p = buf; - checksum = 0; - - len = get_quoted_char (remote_timeout); - - if (len == RAW_SYN) - goto found_syn; - - checksum += len; - - if (len == 0) - len = 256; - - len++; /* Include checksum */ - - while (len-- > 0) - { - ch = get_quoted_char (remote_timeout); - if (ch == RAW_SYN) - goto found_syn; - - *p++ = ch; - checksum += ch; - } - - if (checksum != 0) - goto find_packet; - - if (cmd != buf[0]) - error ("Response phase error. Got 0x%x, expected 0x%x", buf[0], cmd); - - *lenp = p - buf - 1; - return buf; -} - -#else /* Get a packet from the OCD device. Timeout is only enforced for the first byte of the packet. Subsequent bytes are expected to arrive in @@ -1135,7 +936,6 @@ ocd_get_packet (int cmd, int *lenp, int timeout) *lenp = packet_ptr - packet - 1; /* Subtract checksum byte */ return packet; } -#endif /* Execute a simple (one-byte) command. Returns a pointer to the data following the error code. */ @@ -1244,9 +1044,6 @@ ocd_load (char *args, int from_tty) not yet supported fully */ #define BDM_BREAKPOINT {0x0,0x0,0x0,0x0} /* For ppc 8xx */ -#if 0 -#define BDM_BREAKPOINT {0x4a,0xfa} /* BGND insn used for CPU32 */ -#endif /* BDM (at least on CPU32) uses a different breakpoint */ @@ -1349,19 +1146,6 @@ bdm_update_flash_command (char *args, int from_tty) /* discard_cleanups (old_chain); */ } - -static void -bdm_read_register_command (char *args, int from_tty) -{ - /* XXX repeat should go on to the next register */ - - if (!ocd_desc) - error ("Not connected to OCD device."); - - if (!args) - error ("Must specify BDM register number."); - -} extern initialize_file_ftype _initialize_remote_ocd; /* -Wmissing-prototypes */ @@ -1382,5 +1166,4 @@ _initialize_remote_ocd (void) add_cmd ("reset", class_obscure, bdm_reset_command, "", &ocd_cmd_list); add_cmd ("restart", class_obscure, bdm_restart_command, "", &ocd_cmd_list); add_cmd ("update-flash", class_obscure, bdm_update_flash_command, "", &ocd_cmd_list); - /* add_cmd ("read-register", class_obscure, bdm_read_register_command, "", &ocd_cmd_list); */ } |