This is the mail archive of the gdb@sourceware.cygnus.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Problem with remote debugging on 68K remote.


We're having a small problem using remote GDB to debug a 68K-based
platform.  The basic setup is that we have a 68K-based product, which
contains the publicly-available m68k-stub functionality (tailored for our
platform), and we desire to debug this over a TCP/IP session from a Sun
workstation running version 4.18 GDB.  The connection to the target is
over its serial console port, which is tied into an Annex 3 terminal
server.  We are able to connect to the 68K target over this connection
using a "target remote <Annex 3 name>:<port number>" command, and are able
to successfully execute basic GDB commands, like "disassemble", etc.  In
order to put the 68k platform into run mode, we use the command "jump
*0x1030000", where 0x1030000 is the starting address for the 68K target
code.  The jump command is correctly interpreted and the 68K target
successfully begins execution of its code.  Once the 68K target has
initialized, it prints out a login banner to the console port and displays
a prompt, where a user can then issue commands to the target.  When
connecting to the target's console port via GDB, however, this login
banner isn't displayed by the GDB session on the Sun host.  We have
verified that the target is indeed displaying the login banner by using a
Y-cable setup on the console port, so that any console port output is
simultaneously sent to a dumb terminal and the Annex 3 connection.

Years ago, a previous employee developed a similar capability with a
similar product of ours, this one based on the AMD 29K processor.  The
Annex connection method is the same.  The only differences are that the
AMD29K uses a different GDB stub in the platform, and the host GDB program
used at the time was version 4.11 built for AMD Ebmon 29K. When a "jump
<starting address>" command is issued to this target, the target begins
code execution, and prints out the same login banner as the 68K target.  
The difference in this case is that the login banner is displayed in the
host GDB session window, and the user can then enter the usual target
commands in the host GDB window, as if they had a plain old console
connection.

We've tried all sorts of options (tty redirects in the host GDB, analyzing
the 29K and 68K remote stubs, looking for differences in the 4.11 vs. 4.18
host GDB code), but we've been unsuccessful in getting target serial I/O
to work with the 68K GDB setup.  We know that it is possible, based on our
experience with the earlier 29K setup.  Has something changed in this
regard between 4.11 and 4.18 ?  Is there possibly some new configuration
option we are missing ?  With verbosity and target debug messages turned
on, the host GDB code seems to be handing the console over to the target
(via a target_terminal_inferior() call) at the time of the jump command
processing, but it doesn't seem to accept any target I/O after that point.

Thanks in advance for any help with this matter.

-- 
----------Time flies like the wind. Fruit flies like a banana.----------------
--------Stranger things have happened but none stranger than this.-------------
Steven W. Orr      steveo@world.std.com     <site of former bang addr:-)>
---------------"Listen to me! We are all individuals."-------------------------



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]