You should make sure the internal flash could be execute during re-programing and erase!
If answer is yes! Then it's possible!
Check this link Re: OTA upgrade without FR on 3.1.2 Bassem have answer why ! !
Suppose all firmware is present in the internal flash, 0xaddress2 is at a predefined location -
0xaddress1 - APP0.elf
0xaddress2 - OTA_App.elf
Set boot to 0xaddress2, OTA_App will run will flash to 0xaddress1 which is not its own.
So should be possible?
I am not sure!
if you issue erase or program command to internal flash then the different flash address read back is same before !
But you could try! Just mention what I thought for this !
The implementation is possible, the only drawback is that we are limited to the internal flash size which can be halved.