[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] [ANN] WinAVR 20030312 Released

From: David Gay
Subject: Re: [avr-gcc-list] [ANN] WinAVR 20030312 Released
Date: Thu, 13 Mar 2003 09:18:48 -0800
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1) Gecko/20020826

David Brown wrote:
This is great!  I'm now using avarice and avr-gdb instead of AVR Studio -
finally I can inspect structures, arrays, pointers, bitfields, enums, etc.
I have a couple of questions/comments:

I don't think it is a good idea for the installer to add winavr bin
directories to the path in this way.  It is a pain if you already have
similar unix-type utilities on your path - suddenly the winavr versions are
first in line.  To avoid conflicts with existing paths, I would prefer the
path modifications to be optional, and to be added to the end of the path
rather than the beginning.  Of course, the changes are of a help to many
people, and users like me who like to have complicated systems can modify
our paths manually afterwards.

The gdb build is command-line only.  Did you try to build insight?  As an
alternative, I like gvd ( http://libre.act-europe.fr/gvd/ ) as front-end for
gdb.  It is very easy to get it running (use
"c:\gvd-1.2.5\bin\gvd --debugger c:\winavr\bin\avr-gdb program.elf" ).

Am I right in thinking that I need to use avarice to burn a new program into
the flash before debugging, or is it possible to do it via gdb?

For those that are confused by the unix-style information in the
documentation for avarice, the command I use to program via jtag is:
    avarice -p -f program.bin -j /dev/ttyS3 localhost 4242
(/dev/ttyS3 is comms port 4 - /dev/ttyS0 is comms port 1).

For debugging, I use
    avarice -j /dev/ttyS3 localhost 4242

Then I start gdb (with or without gvd), and enter the commands
    set remoteaddresssize 32
    target remote localhost:4242

Ideally you also want:
  set remote Z-packet enable
  set remote step-over-range-packet enable
The stuff below does that for you...

I've been too busy to write some documentation for avarice 2.0, but here's a quick summary of a few useful features:

If you use ice-gdb instead of gdb (or ice-insight instead of insight when insight is installed), you get the following behaviour: - avarice is started for you (via the start-avarice script); you should specify any necessary "-j /dev/foo" options in the AVARICE_ARGS environment variable (alternately, you can link /dev/avrjtag to the appropriate device) - the specified executable is automatically downloaded via JTAG, except if you specify the --capture option to ice-gdb
- gdb automatically connects to avarice
- you get a few extra commands in gdb:
  ice-load: like gdb's usual load command, but also loads the executable via
  ice-restart: restart avarice (sometimes it gets confused...)
  target-ice: connect to an avarice running on localhost:6423

David Gay

reply via email to

[Prev in Thread] Current Thread [Next in Thread]