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