recently, i'm trying to do something, that seems like no one tried before (hope to be wrong).
i'm trying to build a new bootloader that check if a new version of software is available on an external flash and self-program it (after sending the new program to be programed as bytes, not .hex file, to the external flash within the current "running" software).
i've read the 109 file of self programing but hope that someone could make my life easier with a reference code to this method.
if someone ever did such thing or similar and can help me with:
- recommended external flash chip.
- example sketch that reads bytes from serial port and saves it into external flash (with CRC).
- example of a bootloader that checks a "flag" in the external flash and if it's "newer" saves the current version to the external flash and "burn" the new one to the internal flash (with a check that the programming went well and backup the "old" software if not.
i can't believe that no one ever tried something similar or some people that deed parts that can me integrated to comply this.
- i'm using the Atmega2560