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 an 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, the firmware update including one of an application program and an updater program; rebooting the electronic device; determining whether the firmware update written into the application image section is an application program or an updater program; executing the program residing in the application image section when the firmware update written into the application image section is determined to be an application program; erasing the updater image section of the non-volatile memory when the firmware update written into the application image section is determined to be an updater program; moving the firmware update updater program from the application image section to the updater image section and obtaining a new application program after moving the updater program from the application image section to the updater image section.