Changeset 45477a3 in rtems


Ignore:
Timestamp:
Jul 17, 2003, 9:59:42 PM (18 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
718f981
Parents:
d62cfdf
Message:

2003-07-17 Joel Sherrill <joel@…>

PR 433/tools

  • mips-stub.c: Patch from C. M. Heard <heard@…> described as:

The purpose of the patch is to make the stub ignore all
characters except '+' (ack) or '-' (nak) when it has transmitted a
packet and expects an acknowledgment. Without the patch,
putpacket() will retransmit each time it receives anything other
than '+' when expecting an ack, and that, bitter experience has
found, frequently results in the stub failing to sync up when
initially attaching to gdb.

I think that rtems users will notice significant improvement in
the of the mips stub if this patch is incorporated in the
distribution; certainly I did in my stand-aline environment. I
should hasten to add that it is only an improvement and not a 100%
cure for synchronization problems because '+' characters can (and
do) during as message data, and it's still possible for these to
be mistaken as acks. I have no idea how to fix that short of
redesigning the gdb-remote protocol.

Location:
c/src/lib/libbsp/mips/shared/gdbstub
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/mips/shared/gdbstub/ChangeLog

    rd62cfdf r45477a3  
     12003-07-17      Joel Sherrill <joel@OARcorp.com>
     2
     3        PR 433/tools
     4        * mips-stub.c: Patch from C. M. Heard <heard@pobox.com> described as:
     5
     6        The purpose of the patch is to make the stub ignore all
     7        characters except '+' (ack) or '-' (nak) when it has transmitted a
     8        packet and expects an acknowledgment. Without the patch,
     9        putpacket() will retransmit each time it receives anything other
     10        than '+' when expecting an ack, and that, bitter experience has
     11        found, frequently results in the stub failing to sync up when
     12        initially attaching to gdb.
     13
     14        I think that rtems users will notice significant improvement in
     15        the of the mips stub if this patch is incorporated in the
     16        distribution; certainly I did in my stand-aline environment. I
     17        should hasten to add that it is only an improvement and not a 100%
     18        cure for synchronization problems because '+' characters can (and
     19        do) during as message data, and it's still possible for these to
     20        be mistaken as acks. I have no idea how to fix that short of
     21        redesigning the gdb-remote protocol.
     22
    1232002-11-01      Joel Sherrill <joel@OARcorp.com>
    224
  • c/src/lib/libbsp/mips/shared/gdbstub/mips-stub.c

    rd62cfdf r45477a3  
    604604
    605605/*
     606 * Get a positive/negative acknowledgment for a transmitted packet.
     607 */
     608static char
     609getAck (void)
     610{
     611  char c;
     612
     613  do
     614    {
     615      c = getDebugChar ();
     616    }
     617  while ((c != '+') && (c != '-'));
     618
     619  return c;
     620}
     621
     622
     623/*
    606624 * Send the packet in buffer and wait for a positive acknowledgement.
    607625 */
     
    649667      putDebugChar (lowhex (checksum));
    650668    }
    651   while  (getDebugChar () != '+');
     669  while  (getAck () != '+');
    652670}
    653671
Note: See TracChangeset for help on using the changeset viewer.