This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: gdb hangs on diag_printf()
- From: Nick Garnett <nickg at ecoscentric dot com>
- To: Andrew Lunn <andrew at lunn dot ch>
- Cc: Tony Butt <tjb at cea dot com dot au>, ecos-discuss at sources dot redhat dot com
- Date: 23 Mar 2004 09:51:14 +0000
- Subject: Re: [ECOS] gdb hangs on diag_printf()
- References: <405F9EBC.50102@cea.com.au> <20040323081556.GB22276@lunn.ch>
Andrew Lunn <andrew@lunn.ch> writes:
> On Tue, Mar 23, 2004 at 01:19:40PM +1100, Tony Butt wrote:
> > Hi,
> > We have been running ECos 1.3.1.3 here for some time, and are in the
> > process of upgrading to 2.0
> >
> > I am using the EcosCentric toolset (thanks guys!), and have hit a
> > problem when using gdb to load and run applications.
> >
> > What happens is that after the first diag_printf(), everything stops.
> > The output from the diag_printf is seen, then nothing.
> >
[snip]
>
> It looks like the handshake is not working properly. At this point
> disconnect gdb, start up kermit or some other terminal emulator and
> send a + character. See if that brings it back to life.
>
> I've no idea why this is happening thought. You somehow need to work
> out which end is not working. Is gdb not sending the + or is the
> target not receiving the +. Do you have any way to snoop the traffic
> on the serial cable?
You can get a more low-level view of what GDB is doing by running the
following command before connecting to the target:
(gdb) set remotelogfile /dev/tty
This should print on the screen, you can also put the data into a file
if you want to keep it.
This should tell you at least whether GDB thinks it is returning the
'+'.
--
Nick Garnett eCos Kernel Architect
http://www.ecoscentric.com The eCos and RedBoot experts
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss