[ECOS] gdb hangs on diag_printf()

Tony Butt tjb@cea.com.au
Tue Mar 23 02:19:00 GMT 2004


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.

A sample output is attached here ( from the 'cache' test program 
supplied with ecos)

===============================
$ powerpc-eabi-gdb -n -b 38400 cache
GNU gdb 5.3 (eCosCentric)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain 
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "--host=i686-pc-cygwin --target=powerpc-eabi"...
(gdb) target remote com1
Remote debugging using com1
0x2000ec74 in ?? ()
(gdb) load
Loading section .text, size 0x48a08 lma 0x20000
Loading section .rodata, size 0x4f70 lma 0x68a08
Loading section .data, size 0x20c4 lma 0x6d978
Start address 0x20000, load size 326204
Transfer rate: 27183 bits/sec, 510 bytes/write.
(gdb) set debug remote 1
(gdb) c
Continuing.
Sending packet: $Z0,20010,4#09...Ack
Packet received:
Packet Z0 (software-breakpoint) is NOT supported
Sending packet: $m20010,4#c0...Ack
Packet received: 3c600000
Sending packet: $X20010,4:}]\202\020\b#59...Ack
Packet received: OK
Sending packet: $Hc0#db...Ack
Packet received: OK
Sending packet: $c#63...Ack
Packet received: T0540:00020010;01:03fbcfc0;
Sending packet: $X20010,4:<`\000\000#81...Ack
Packet received: OK
Sending packet: $Hc0#db...Ack
Packet received: OK
Sending packet: $s#73...Ack
Packet received: T0540:00020014;01:03fbcfc0;
Sending packet: $m20010,4#c0...Ack
Packet received: 3c600000
Sending packet: $X20010,4:}]\202\020\b#59...Ack
Packet received: OK
Sending packet: $Hc0#db...Ack
Packet received: OK
Sending packet: $c#63...Ack
Packet received: O494E464F3A3C446361636865206F666620496361636865206F66663E0A
INFO:<Dcache off Icache off>

then nothing...
=====================================

The same behaviour occurs on an ethernet connection, and with other 
applications.
If the same application is loaded from direct from redboot, everything 
is good.

I have traced the execution with a logic analyser, and find that we are 
looping endlessly in cyg_hal_diag_mangler_gdb_flush, waiting for a 
character, which gdb does not seem to want to supply.

I would guess that I have misconfigured something, or that I am missing 
a patch - help!

Tony Butt
Software Engineer
CEA Technologies
Canberra, Australia


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list