Sure could, theoretically at least. I haven't tried it, but have considered the possibility. Would take a bunch of coding though on my part. Then *I* would need to address the crowd that wants the 256KB of flash they paid for, not 50% of it
It we leave the board def as is and allow 240kb (bootloader will surely increase to 16kb because of the more complex extra work dealing with the ARM flash), then OTA would not work if the sketch is larger than 50% (120kb, assuming no eeprom emulated). Would require careful planning for the edge cases where a <50% sketch is updated.
The prospect is interesting. To me personally it is not worth the effort, since the current bootloader already supports the legacy method with the external flash chip, which on the downside uses some board space and ~1uA of current, but on the upside - requires no extra work on my part (or yours the user), and offers the space for general purpose, and offers a unique MAC which can be very useful. The way I look at it, it's a unique feature of the Moteino (clones don't count), if you can live with the above "downsides".
So the question remains - is it worth to put up the work to make use of internal flash space at the cost of halving the usable flash memory when using OTA? What is the real saving, the cost of the FLASH-MEM? For a million units in production, yes this would start to be a very significant saving for your corporate's shareholders. For individual and small count use, does it make sense?
I've already spent a lot of time making this work on M0 which is way different than AVR. I know it will take lots more time to fiddle with the internal vs external FLASH. That's my report on the issue.
What are your thoughts?