This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Tracing and Debug
- To: Fabrice Gautier <Fabrice_Gautier at sdesigns dot com>
- Subject: Re: [ECOS] Tracing and Debug
- From: Jonathan Larmour <jlarmour at redhat dot co dot uk>
- Date: Fri, 21 Jul 2000 21:27:44 +0100
- CC: "Ecos-List \(E-mail\)" <ecos-discuss at sourceware dot cygnus dot com>
- Organization: Red Hat UK Ltd.
- References: <21DDE8E5343ED411840A00A0CC3340201047E7@EXCHANGE5_5>
Fabrice Gautier wrote:
>
> Hi,
>
> I have some problems with tracing. I'm using a ARM PID board.
>
> 1/ I first build ecos with Asserts & Tracing and Buffered Tracing. I have
> also enabled Source Level Debugging Support with external break and
> multithreading to work with the GDB Stub.
>
> I can build the examples fine when running them in the debuugger, there is
> some tracing output and then gdb stay busy. When I try to interrupt the
> program, I receive a message like "target not responding". I had the same
> message before I enabled external break support.
Does this happen even for the hello world example? All I can say is that it
works for me with the sources currently in anonymous CVS.
murgh:~/ecc/obj/arm/pid/examples$ arm-elf-gdb -b 38400 -nw hello
GNU gdb 4.18-ecos-99r1-991015
Copyright 1998 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. This version of GDB is
supported
for customers of Cygnus Solutions. Type "show warranty" for details.
This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-elf"...
(gdb) tar rem /dev/ttyS0
Remote debugging using /dev/ttyS0
0x4000694 in ?? ()
(gdb) load
Loading section .rom_vectors, size 0x44 lma 0x8000
Loading section .text, size 0xdc34 lma 0x8044
Loading section .rodata, size 0x480 lma 0x15c78
Loading section .data, size 0x354 lma 0x160f8
Start address 0x8044 , load size 58444
Transfer rate: 22264 bits/sec.
(gdb) c
Continuing.
Hello, eCos world!
Program received signal SIGINT, Interrupt.
idle_thread_main (data=391828)
at /home/jlarmour/ecc/ecc/kernel/current/src/common/thread.cxx:1134
1134 idle_thread_loops++;
Current language: auto; currently c++
(gdb)
When you say you enabled "Source level debugging support" you meant
"Include GDB stubs in HAL", right? If not, then that's probably what you
need to do :-).
But for me it works in the default configuration anyway - i.e. without GDB
stubs included, but using GDB external break support when no stubs. But as
I said, my sources correspond to the anonymous CVS repository.
> 2/ I tried the same config without the Buffered Tracing: In this case the
> examples programs don't build : lots of undefined references to
> cyg_assert_fail, cyg_tracemsg, cyg_tracemsg2 and so on....
You probably forget to recompile the example programs themselves rather
than just relink them (at a guess). Do a "make clean ; make" instead.
Jifl
--
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow." || These opinions are all my own fault