I'm hoping one of you might be able to help determine where the problem I'm encountering is coming from.
I'm having an issue attempting to use the optiboot bootloader on a custom board, where the standard arduino bootloader (from bootloaders/atmega/ATmegaBOOT_168_atmega328.hex) works fine.
First, a quick description of the board: it's using an Atmega328P-AU chip, with 16Mhz crystal, running at 5V.
I am attempting to upload the bootloader using ISP via an Olimex AVR-ISP500.
Burning the standard arduino bootloader works as expected, and the bootloader behaves as expected - I am able to upload sketches over serial. However, attempting to burn the optiboot_atmega328.hex to the board results in the start flash sequence only happening once - immediately after ISP programming completes. This sequence is never displayed again, and the bootloader does not respond to upload data over serial.
I have tried all of the following ways of uploading the optiboot bootloader: - make atmega328_isp in the optiboot directory - select board type as 'Uno' and burn via the Arduino IDE - running avrdude manually
The fuses seem to all be set correct: efuse = 0x05, hfuse = 0xDE, lfuse = 0xFF
A note as to how I am uploading sketches via serial: the board does not have an FTDI chip, so I am using a Diecimila with no chip installed, sharing ground and TX/RX with my board - power cycling my board at the right moment so that it starts just a moment before the upload starts. This, again, works perfectly with the standard arduino bootloader.
Any advice on where I'm going wrong, or how to correct the issue? I'd like to use optiboot, as I need to test a few changes to the bootloader for my needs, and the standard arduino bootloader is of unknown source, given that the supplied arduino bootloader source does -not compile- without modifications.