Strongly recommend optiLoader, have used it program ATMega8's. You can use the same breadboard wiring as used in the ArduinoISP tutorial, use the version withe crystal, the bootloaders in optiLoader are design for boards with a crystal.
OptiLoader Bootstrap programmer.2011 by Bill Westfield (WestfW)Target power on! ...Starting Program Mode [OK]Reading signature:950FSearching for image... Found "optiboot_atmega328.hex" for atmega328P Start address at 7E00 Total bytes read: 502Setting fuses for programming Lock: 3F FFE000 Low: FF FFA000 High: DE FFA800 Ext: 5 FFA400Programming bootloader: 512 bytes at 0x3F00 Commit Page: 3F00:3F00 Commit Page: 3F40:3F40 Commit Page: 3F80:3F80 Commit Page: 3FC0:3FC0Restoring normal fuses Lock: 2F FFE000Target power OFF!Type 'G' or hit RESET for next chip
avrdude: stk500_recv(): programmer is not responding
if I then take the bootloaded target and install it into my Arduino Duemilanove
can anyone sugegst how this process should work for an Arduino Uno and an atmega168 20PU on the breadboard.
Note that these techniques only work with the Arduino Duemilanove w/ an ATmega328, not the Arduino Uno (or older Arduino boards w/ an ATmega168).
Quoteif I then take the bootloaded target and install it into my Arduino Duemilanove Did you change the "board" selection to "Uno"? Once you have a 328p with optiboot in it, it behaves more like an Uno than a duemilanove....