I did a custom bootloader that used a wireless interface with AES encryption based on app note AVR231. Thanks for this forum for having the app note code ported to GCC!
It's currently running on an Atmega328p and depends on the bootloader code being located at 0x3800. So, it depends on bootrst fuse giving initial control to the bootload code. The bootload code either jumps to the application or starts listening for a code update depending on contents of a variable in eeprom.
I'd like to use the same code with minimal source modifications on the attiny84. The Attiny84 It doesn't have the bootrst fuse, but I don't see why I couldn't locate the bootload code at the "normal" location near the bottom of memory, then jump to an address that corresponds to the start of the application code.
I wouldn't have the same code protection features as on the atmega328p (no Bootloader lock bits).
This seems straight forward, so I thought I'd give it a try. Am I missing something? Any suggestions on how to structure the source so it can be compiled to run on either the attiny84 or atmega328p with minimal "ifdef'ing" would be appreciated.