1. A method for updating software on an electronics system that includes a processor switchable between a boot & communication mode and an application mode and non-volatile memory having a plurality of sectors, the method comprising: over-writing original application software stored in an application sector of the non-volatile memory to store cloned boot software in the application sector such that original boot software remains in a boot sector of the non-volatile memory; switching the electronics system to operate in the application mode, thereby directing the electronics system to access the cloned boot software from the application sector of the non-volatile memory; storing a temporary key in a key sector of the non-volatile memory that overrides an original key and is configured to instruct the processor to boot the cloned boot software from the application sector of the non-volatile memory upon initialization; over-writing the original boot software in the boot sector of the non-volatile memory to store new boot software in the boot sector after the temporary key has been stored; storing a new key in the non-volatile memory that is configured to instruct the processor to boot the new boot software from the boot sector of the non-volatile memory upon initialization; erasing the temporary key in the key sector of the non-volatile memory; and switching the electronics system to operate in the boot & communication mode, thereby directing the electronics system to access the new boot software from the boot sector of the non-volatile memory.