System and method for updating device software
Devices include a processor and a memory. The processor is configured to determine if a bootloader area does not contain a valid bootloader instruction set, to locate a bootloader instruction set, and to copy the bootloader instruction set to the bootloader area. The processor then executes the bootloader instruction set from the bootloader area.
1. A device comprising:
a memory; and
a processor coupled to the memory and configured to:
determine that a bootloader instruction set in a designated bootloader memory execution location in a memory does not contain a valid bootloader instruction set,
access a replacement bootloader instruction set from a predetermined location in the memory;
store the replacement bootloader instruction set in the designated bootloader memory execution location;
validate the replacement bootloader instruction set utilizing a bootloader signature; and
execute, the replacement bootloader instruction set from the designated bootloader memory execution location.
2. The device of claim 1 wherein the processor is further configured to use at least one of a length of the bootloader instruction set and a memory pointer to locate the bootloader instruction set.
3. The device of claim 1 wherein the processor is further configured to buffer the bootloader instruction set and store an indicator of a location of the valid bootloader instruction set.
4. The device of claim 3 wherein the processor is further configured to store the indicator at a predetermined location of the memory.
5. A method of updating a bootloader instruction set for a device having a processor and a memory, the method comprising:
determining, that a designated bootloader memory execution location in a memory does not contain a valid bootloader instruction set;
accessing, a replacement a bootloader instruction set from a predetermined location in the memory;
storing the replacement bootloader instruction set in the designated bootloader memory execution location;
validating, the replacement bootloader instruction set utilizing a bootloader signature; and
executing, the replacement bootloader instruction set from the designated bootloader memory execution location.
6. The method of claim 5 further comprising using at least one of a length of the bootloader instruction set and a memory pointer to locate the bootloader instruction set.
7. The method of claim 5 further comprising buffering the bootloader instruction set and storing an indicator of a location of the bootloader instruction set.
8. The method of claim 7 wherein the indicator is stored at a predetermined location of the memory.