Updating firmware on mobile electronice devices
First Claim
1. A system for updating firmware on electronic devices, comprising:
- an electronic device, comprising;
a processor;
non-volatile NOR storage coupled with said processor for storing over time different ones of a plurality of current images of firmware, each image comprising programmed instructions for said processor, and for storing a baseline image of firmware in a compressed format, wherein the current images of firmware and the baseline image of firmware are each stored as multiple data blocks;
random access memory for storing a flag indicating whether a newer version of firmware is available;
an update utility coupled with said processor for instructing said processor to set the flag each time that a newer version of firmware is available, to update the firmware stored in said storage, upon reboot of the electronic device, when the flag indicates that a newer version of firmware is available, and to unset the flag after the firmware is updated; and
a connector coupled with said processor for connecting the electronic device to a jacket, thereby enabling communication between the electronic device and the jacket; and
a jacket, comprising;
a storage for storing over time different ones of a plurality of firmware difference images, each image for updating the firmware in said electronic device to a newer version; and
a port for connecting said electronic device connector thereto,wherein said update utility updates the firmware stored in said electronic device storage by instructing said electronic device processor to sequentially, for each data block of the baseline image, (i) decompress the compressed data block of the compressed baseline image of the firmware, (ii) read the corresponding data block of the firmware difference image currently in said jacket storage, (iii) apply the corresponding data block of the firmware difference image to the decompressed data block to generate the corresponding data block of a newer version image of the firmware, and (iv) replace the data block of the current image of the firmware in said electronic device storage with the thus generated data block, in response to connecting said electronic device connector to said jacket port,and wherein the different ones of the firmware difference images are applied to the same baseline image of the firmware.
5 Assignments
0 Petitions
Accused Products
Abstract
A system for updating firmware on electronic devices, including an electronic device including a processor, a storage for storing a current image of firmware that includes a baseline image of firmware, an update utility for updating the firmware stored in the storage, and a connector for connecting the electronic device to a jacket, and a jacket including a storage for storing a firmware difference image for updating the firmware in the electronic device to a newer version, and a port for connecting the electronic device connector thereto, wherein the update utility instructs the electronic device processor (i) to apply the firmware difference image to the baseline image of the firmware to generate a newer version image of the firmware, and (ii) to replace the current image of the firmware in the electronic device storage with the thus generated newer version image of the firmware.
52 Citations
13 Claims
-
1. A system for updating firmware on electronic devices, comprising:
-
an electronic device, comprising; a processor; non-volatile NOR storage coupled with said processor for storing over time different ones of a plurality of current images of firmware, each image comprising programmed instructions for said processor, and for storing a baseline image of firmware in a compressed format, wherein the current images of firmware and the baseline image of firmware are each stored as multiple data blocks; random access memory for storing a flag indicating whether a newer version of firmware is available; an update utility coupled with said processor for instructing said processor to set the flag each time that a newer version of firmware is available, to update the firmware stored in said storage, upon reboot of the electronic device, when the flag indicates that a newer version of firmware is available, and to unset the flag after the firmware is updated; and a connector coupled with said processor for connecting the electronic device to a jacket, thereby enabling communication between the electronic device and the jacket; and a jacket, comprising; a storage for storing over time different ones of a plurality of firmware difference images, each image for updating the firmware in said electronic device to a newer version; and a port for connecting said electronic device connector thereto, wherein said update utility updates the firmware stored in said electronic device storage by instructing said electronic device processor to sequentially, for each data block of the baseline image, (i) decompress the compressed data block of the compressed baseline image of the firmware, (ii) read the corresponding data block of the firmware difference image currently in said jacket storage, (iii) apply the corresponding data block of the firmware difference image to the decompressed data block to generate the corresponding data block of a newer version image of the firmware, and (iv) replace the data block of the current image of the firmware in said electronic device storage with the thus generated data block, in response to connecting said electronic device connector to said jacket port, and wherein the different ones of the firmware difference images are applied to the same baseline image of the firmware. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for updating firmware on electronic devices, comprising:
-
an electronic device, comprising; a processor; non-volatile NOR storage coupled with said processor for storing over time different ones of a plurality of current images of firmware, each image comprising programmed instructions for said processor, and for storing a baseline image of firmware in a compressed format, wherein the current images of firmware and the baseline image of firmware and each stored as multiple data blocks; random access memory for storing a flag indicating whether a newer version of firmware is available; an update utility coupled with said processor for instructing said processor to set the flag each time that a newer version of firmware is available, to update the firmware stored in said storage, upon reboot of the electronic device, when the flag indicates that a newer version of firmware is available, and to unset the flag after the firmware is updated; and a modem coupled with said processor for enabling short range wireless communication between the electronic device and a jacket; and a jacket, comprising; a storage for storing over time different ones of a plurality of firmware difference images, each image for updating the firmware in said electronic device to a newer version; and a modem coupled with said storage for enabling short range wireless communication between the jacket and the electronic device, wherein said update utility updates the firmware stored in said electronic device storage by instructing said electronic device processor to sequentially, for each data block of the baseline image, (i) decompress the compressed data block of the compressed baseline image of the firmware, (ii) read the corresponding data block of the firmware difference image currently in said jacket storage, (iii) apply the corresponding data block of the firmware difference image to the decompressed data block to generate the corresponding data block of a newer version image of the firmware, and (iv) replace data block of the current image of the firmware in said electronic device storage with the thus generated data block, in response to opening a short range wireless communication channel between said electronic device and said jacket, and wherein the different ones of the firmware difference images are applied to the same baseline image.
-
-
12. An electronic device with firmware upgrade capability, comprising:
-
a processor; non-volatile NOR storage coupled with said processor for storing over time different ones of a plurality of current image images of firmware, each image comprising programmed instructions for said processor, and for storing a baseline image of firmware in a compressed format, wherein the current images of firmware and the baseline image of firmware are each stored as multiple data blocks; random access memory for storing a flag indicating whether a newer version of firmware is available; an update utility coupled with said processor for instructing said processor to set the flag each time that a newer version of firmware is available, to update the firmware stored in said storage, upon reboot of the electronic device, when the flag indicates that a newer version of firmware is available, and to unset the flag after the firmware is updated; and a network connection, for downloading over time different ones of a plurality of firmware difference images from an update server to the electronic device, wherein said update utility updates the firmware stored in said electronic device storage by instructing said processor to sequentially, for each data block of the baseline image, (i) decompress the compressed data block of the compressed baseline image of the firmware, (ii) download the corresponding data block of a firmware difference image from the update server to the electronic device, (iii) apply the downloaded data block to the decompressed corresponding data block to generate the corresponding data block of a newer version image of the firmware, and (iv) replace the data block of the current image of the firmware in said storage with the thus generated data block, and wherein the different ones of the firmware difference images are applied to the same baseline image. - View Dependent Claims (13)
-
Specification