Zero to main(): How to Write a Bootloader from Scratch | Interrupt

Thank you for your helpful article.

I’ve a simple question regarding a potential development of OTA procedure using a telecommunication module.

I’m thinking of a bootloader that can copy the received application code into the current application code.

But as a fail scenarios, the complete binary image won’t be received. So the idea is similar to ESP8266 OTA procedure: Store the receiving binary into a certain area in flash memory (not the active app_code), after it completes, the next start would replace the old image with the newer one.

To what extent this procedure is hard? What should I consider?
Any recommendation for such a thing?
And as the project hasn’t launched yet, Is there a bootloader-based recommendation for a Low power MCU(s)?

Thank you very much