Beginner AVRDude questions

I never used AVRDude directly until today. My goal is to use minimalist setup (i.e. standard install of WinAVR) to upload hex file via FTDI to custom ATMega644P board via a batch file that I will provide to 3rd party. I got avrdude command from Arduino IDE 1.01 and it seems to be working with some minor issues. So my questions are:

  1. After successful upload, if I try uploading second time I get Sync Error. Reinserting FTDI cable seems to help as well as opening and closing virtual COM port in program like RealTerm. Why is this happening? Any way around it other than what described earlier? :)
  2. Is custom avrdude.conf file needed? It seems to work without specifying it (WinAVR just uses default unmodified file)
  3. Arduino seems to have slightly newer version of AVRDude (5.11), even tho I got latest WinAVRDude (5.10). Just curious why would it be and should care about it much?

Anything else I need to watch out for? As I mentioned goal is to give person who might not have any experience with AVRs easy way to upload hex firmware into device (i.e. Xronos clock). I was thinking of just making batch file that will access COM port number and zipping up together with WinAVR folder and .hex file. Then something similar for OSX too...

BTW here's command that I'm using:

F:\Programs\WinAVR\bin\avrdude -v -v -v -v -patmega644p -cstk500v1 -P\\.\COM6 -b57600 -D -Uflash:w:D:\projects\DIY\XRONOS\firmware\xronos1_05.cpp.hex:i
  1. Do you have an auto-reset circuit hooked up from the FTDI RTS/DTR to the reset pin? Also for auto-reset to work with uploads you should be using -carduino instead of -cstk500v1 with avrdude.

  2. The avrdude v5.10 lacks the wiring protocol support Arduino Mega2560 boards. The avrdude.conf file with v5.10 also lacks some newer AVR chip definitions and the wiring programmer definition.

hiduino: 1. Do you have an auto-reset circuit hooked up from the FTDI RTS/DTR to the reset pin? Also for auto-reset to work with uploads you should be using -carduino instead of -cstk500v1 with avrdude.

  1. The avrdude v5.10 lacks the wiring protocol support Arduino Mega2560 boards. The avrdude.conf file with v5.10 also lacks some newer AVR chip definitions and the wiring programmer definition.

Awesome! Yes I do have auto-reset circuit. Thank you, -carduino works much better!