This question will undoubtedly seem rudimentary and simple to the bootload gurus here...

I've seen a few posts here by people looking to transfer firmware upgrades from I2C to program memory.

This would be very handy, since the code to get the update from a PC and store it temporarily in I2C EEPROM prior to the actual "firmware update" can be done with PBP without using the hardware UART, and furthermore, encryption can be done (to the hex file before the end user downloads it).

As I understand it, the problem is that the instructions to do the actual writecode would have to be in high memory so it's not overwritten by the update process, and all the libraries are sitting in low memory so there's really no way to "stick" a subroutine written with PBP up there in high memory.

Is there any way to combine two .hex files so that one can sit in upper memory (with the necessary libraries included at that location) and somehow just be called by the "normal" program residing in LOW memory (at which point it's overwritten)? I know it's not very efficient from a codespace standpoint, but if the extra memory is just sitting there....

Thanks,

Picster