It's good to know that the HEX file from the Arduino IDE can be uploaded as it is to the chip.
Which is to say it can be uploaded as it is, using ICSP without
the bootloader. If you never intend to use serial downloading, you never need the bootloader.
I'll need to figure out if we go the ICSP pads or preprogrammed chip route.
It sounds from the following as if you absolutely
need the ICSP pins, so you might as well use them for initial programming.
We're opening the board up to DIYers to reprogramme, using the methods described by the MIT High-Low Tech Group here
. This is how we've been developing the design. We're not including a USB connection, it'll be up to the user to connect their Arduino (or other programmer) to the board directly.
That still begs the question of whether you propose to provide a serial - TTL - interface point in the design - Tx, Rx and reset - to use with a bootloader and a USB to TTL adapter (which is ridiculously cheap, but so are the AVRISP knock-offs) or not. It does begin however to sound as if you should just forget the bootloader and serial downloading.
I'm not an embedded expert, and the only experience I have changing the clock speed of the chip is by selecting the board type and burning the bootloader in the Arduino IDE (we're going down to 1 mHz), but I'd be happy for other suggestions for doing this—though I think the need for the bootloader (above) solves this issue.
Insofar as if you want
to use a bootloader, it will not be practical to alter the clock.
I did a little searching and couldn't find instructions for creating a combined (bootloader + sketch) HEX file. Could you be so kind as to point me to some instructions?
Hoping someone else will reference this.