Hi,
I am trying to perform some source level
JTAG debugging with the Tmote sky, however I have encountered a few
problems. I can set breakpoints in the code, and when these are hit I can
use all the features of gdb, i.e. output stack traces, print variables,
etc. Continuing from a set breakpoint also works.
The problem I am having is when I manually
break execution (using Ctrl-C). At this point, gdb seems to loose track of
where it is, and a stack trace will be blank. In addition, continuing from
a manual break causes the application to completely restart.
I get the same behaviour both with a
parallel and USB port FET (both Olimex devices).
Has anyone else come across this issue or
can anyone give me any hints? The code is being compiled
with debugging symbols and compiler optimisations disabled. I have
included the output from a sample GDB session below where I broke the
program execution with Ctrl-C. The fact that gdb outputs a line containing
"in ?? ()" at startup looks a bit wrong to me.
[EMAIL PROTECTED] telosb]$ msp430-gdb
main.exe
GNU gdb 5.1.1
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-linux-gnu --target=msp430"...
0x0000ffff in ?? ()
GNU gdb 5.1.1
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-linux-gnu --target=msp430"...
0x0000ffff in ?? ()
(gdb) monitor erase
Erasing target flash - all... Erased OK
(gdb) load main.exe
Loading section .text, size 0x62ce lma 0x4800
Loading section .data, size 0x16 lma 0xaace
Loading section .vectors, size 0x20 lma 0xffe0
Start address 0x4800, load size 25348
Transfer rate: 101392 bits/sec, 38 bytes/write.
(gdb) c
Continuing.
Erasing target flash - all... Erased OK
(gdb) load main.exe
Loading section .text, size 0x62ce lma 0x4800
Loading section .data, size 0x16 lma 0xaace
Loading section .vectors, size 0x20 lma 0xffe0
Start address 0x4800, load size 25348
Transfer rate: 101392 bits/sec, 38 bytes/write.
(gdb) c
Continuing.
Program received signal SIGINT,
Interrupt.
0x00004000 in ?? ()
(gdb) info stack
#0 0x00004000 in ?? ()
#1 0x00004000 in ?? ()
#2 0x00004000 in ?? ()
#3 0x00004000 in ?? ()
#4 0x00004000 in ?? ()
#5 0x00004000 in ?? ()
#6 0x00004000 in ?? ()
#7 0x00004000 in ?? ()
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb)
0x00004000 in ?? ()
(gdb) info stack
#0 0x00004000 in ?? ()
#1 0x00004000 in ?? ()
#2 0x00004000 in ?? ()
#3 0x00004000 in ?? ()
#4 0x00004000 in ?? ()
#5 0x00004000 in ?? ()
#6 0x00004000 in ?? ()
#7 0x00004000 in ?? ()
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb)
Thanks,
Andrew
-- Andrew Jamieson Research Engineer Institute for System Level Integration Alba Centre, Alba Campus, Livingston, EH54 7EG Tel: +44 1506 469 300 Fax: +44 1506 469 301 http://www.sli-institute.ac.uk/
_______________________________________________ Tinyos-help mailing list [email protected] https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
