It's a pain that there is no way to stop execution properly via the debugger - the particular problem I am trying to solve at present appears to be in a loop with interrupts disabled - the user button therefore doesn't work when the bug occurs. It appears when there is heavy traffic on both the radio and a small I2C memory bus I am running (via BusArbitration). When the app is stopped (via Ctrl-C) I am still able to inspect MCU memory however the Program Counter (R0) is always set to 0x4000, the base of the code ROM on the MSP430f1611.

I am using gdbproxy in cygwin - the command line that works for me is

$ msp430-gdbproxy --port=2000 msp430 TIUSB

Unfortunately USB FET support under Linux is not yet implemented. Which is a shame as DDD under Cygwin doesn't seem to work for me - there is some sort of incompatibility between windows and cygwin paths. I am therefore running gdb and ddd in Linux (VMWare) and connecting to the debugger running in Cygwin via TCP. Seems to work for me, and a lot faster than the parallel port option!

If anyone does have any other ideas regarding halting via the debugger I'd be grateful if you could share them - I'm a bit stuck just now.


Andrew



Joe Polastre wrote:
And to follow up, if you're running windows, just grab the most recent
versions of gdbproxy and msp430-jtag from mspgcc.sf.net and you should
be set using "TIUSB".

-Joe

On 7/18/06, Joe Polastre <[EMAIL PROTECTED]> wrote:
There's been a lot of activity over the past few weeks getting the USB
FET to work with GNU tools.  See
http://blog.gmane.org/gmane.comp.hardware.texas-instruments.msp430.gcc.user

-Joe

On 7/18/06, Matt Thompson <[EMAIL PROTECTED]> wrote:
>
>  I have had the same problem, and have never found a resolution.  One
> workaround I have been using is to set a breakpoint that is hit with the > User button to break into the debugger. At least you can set additional
> breakpoints and continue, however it would be nice to break current
> execution :)
>
>  How did you use the USB FET with msp430-gdb?
>
>  Cheers,
>  Matt
>
>  Andrew Jamieson wrote:
>
>
>
>
>
>
> 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 ?? ()
> (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.
> 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)
>
>
>
>
> 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
> Tinyos-help@Millennium.Berkeley.EDU
> https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>
>
> _______________________________________________
> Tinyos-help mailing list
> Tinyos-help@Millennium.Berkeley.EDU
> https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>
>

_______________________________________________
Tinyos-help mailing list
Tinyos-help@Millennium.Berkeley.EDU
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to