programming the uno board using avrdude

hello...
i am new to the arduino board but not new to microcontroller systems. Here is my question. I wish to use the cygwin environment under windows to program a uno board. That means using avrdude to load code on the uno. My experience here goes back to using serial boards and terminal programs to load code onto micro boards. Used a lot of EPROMs which we had to UV erase and program using PROM burners.

But now, it appears that the UNO has done some of the homework by including a bootloader on the board and the main stash is flash based.

What do I need to use to get a USB output on a notebook computer to send code down to the uno. avrdude does have support for STK500v2. Is that the protocol used here? Can i simply hook up a USB cable between the notebooks USB port and the UNO's USB port or do I need to throw a USB to serial dongle in the mix somewhere?

I did read that avrdude does not perform to well when using a serial to usb dongle. Is this correct?

ANy help in understanding these issues is appreciated. Thanks.

devemch:
I wish to use the cygwin environment under windows to program a uno board. That means using avrdude to load code on the uno.

Why not just use the Arduino IDE?

devemch:
Can i simply hook up a USB cable between the notebooks USB port and the UNO's USB port or do I need to throw a USB to serial dongle in the mix somewhere?

The Uno has a USB to serial converter chip onboard. You just connect it to your computer with the USB cable, install the necessary driver (if not already installed), and you get a virtual com port. The official boards and some clones use the ATmega16U2, most clones use CH340.

devemch:
I did read that avrdude does not perform to well when using a serial to usb dongle. Is this correct?

What dongle are you talking about?

The uno appears to be an awsome little board that is cheap for what I need to do (a custom water well control system accessible from an android phone). No board design, no board fabrication. I wrote embedded code using a variety of old school systems including sun sparc stations with monitors as heavy as a dead elephants. Most likely I will need to use an RTOS on this project as well. I just like to use my editor, my tool chains, etc. So far, there appears to be support for the arduino with all my old tools. Just what your comfortable with. I am just concerned about some of the power budget issues with the arduino and whether I will hand grenade the board using an incorrect programming method.

If all i need to use is avrdude with the stk500v2 programmer option and a USB cable, then that is the cats pajammas!

OK, that makes sense. Actually the Arduino IDE uses the -carduino option, not stk500v2. Here's the upload command the Arduino IDE uses for Uno on my computer

E:\ArduinoIDE\arduino-1.8.3\hardware\tools\avr/bin/avrdude -CE:\ArduinoIDE\arduino-1.8.3\hardware\tools\avr/etc/avrdude.conf -v -V -patmega328p -carduino -PCOM76 -b115200 -D -Uflash:w:C:\Users\per\AppData\Local\Temp\arduino_build_72025/sketch_jun07b.ino.hex:i

Thanks. I parsed out your command chain against the avrdude options list. This makes perfect sense. Thanks.