I will post verbose output tonight when I get home.
These are the steps I took to upload a hex file to my atmega328 using my Arduino UNO as an ISP:
- Installed the latest WinAVR which comes with avrdude.
- Connected Arduino to PC, uploaded ArduinoISP using Arduino IDE 1.01 [board selected is the UNO].
- Wired up my atmega exactly like this:
- Downloaded "main.hex" from this page http://hackaday.com/2010/10/25/avr-programming-02-the-hardware/ under heading "Flashing firmware with AVRdude
" - this is supposed to be a program that blinks an LED. This is what it looked like except I had 5V running from the Arduino to the 5V rail like in the picture above and GND from the Arduino to the GND rail (and no other power source).
[This is a picture from the hackaday website, not one that I took] - Opened up command prompt, navigated to the directory with the .hex file, and used:
avrdude -P COM7 -b 19200 -c avrisp -p m328p -U flash:w:main.hex where COM7 is the port my Arduino was connected to [I got this line from the hackaday tutorial].
Then when I found out I needed a 10uF capacitor between GND and RESET on the Arduino, I repeated all the steps from step 3 onwards with the capacitor in. Note that I had no other capacitors or a crystal. This is a fresh ATMega328P-PU that I got from here: http://www.ebay.com.au/itm/160768276199?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649#ht_2823wt_1139
Both ways yielded an invalid device signature (I think it was 0x000000) error immediately. Forcing it with -F took about a minute to complete with a few different steps going from 0-100%, but verification at the end failed [I suspect it didn't connect/upload at all].