1. A method of updating an electronic device having a non-volatile memory divided into at least three non-overlapping sections, a bootstrap image section, a updater image section, and a application image section, the method comprising: erasing the application image section of the non-volatile memory; receiving a firmware update; writing the firmware update into the application image section; rebooting the electronic device; determining one of an application program and an updater program resides in the application image section; executing the application program when the application program is determined to reside in the application image section; erasing the updater image section of the non-volatile memory when the updater program is determined to reside in the application image section; and moving the updater program from the application image section to the updater image section.