Embedded software update system
First Claim
1. A method of preparing an embedded software operative in a digital product for field modification by a software patch, comprising the steps of:
- a) determining a plurality of insertion locations for said embedded software based on a predetermined criteria, each of said one insertion locations defining one section of said embedded software;
b) allocating a plurality of update processing routines at said plurality of insertion locations, each of said update processing routines being adapted to modify execution of said embedded software at a corresponding section when a software patch exists for said section;
c) determining a memory area in said digital product for use by said software patch. d) loading said embedded software with said plurality of update processing routines into an embedded software code area of said digital product.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for an embedded software update system, which helps manufactures or vendors avoid costly product recall activities in the event their digital products have field software errors (“bugs”) or hardware problems. One aspect of the present invention is directed to an error correction system, which remotely corrects these software errors and minimizes influences of hardware problems. Another aspect of the present invention is directed to a software updating system, which is capable of updating software modules in the digital products by use of software patches. The software patch system of the present invention facilitates manufactures'"'"' transmitting software patches to the “on-the-fly” digital products to fix software errors and minimize influences of hardware problems. The software patch may also contain new parameters for updating some data area in NVM (Non Volatile Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory) memory of a digital product, which is quite useful when service providers or manufactures want to modify some service features or product features.
-
Citations
57 Claims
-
1. A method of preparing an embedded software operative in a digital product for field modification by a software patch, comprising the steps of:
-
a) determining a plurality of insertion locations for said embedded software based on a predetermined criteria, each of said one insertion locations defining one section of said embedded software;
b) allocating a plurality of update processing routines at said plurality of insertion locations, each of said update processing routines being adapted to modify execution of said embedded software at a corresponding section when a software patch exists for said section;
c) determining a memory area in said digital product for use by said software patch. d) loading said embedded software with said plurality of update processing routines into an embedded software code area of said digital product. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method of preparing an embedded software operative in a digital product for field modification by a software patch, comprising the steps of:
-
a) determining a plurality of insertion locations for said embedded software based on a predetermined criteria, at least two of said insertion locations defining two sections for said embedded software;
b) allocating a plurality of patch operation areas in said embedded software;
c) setting said patch operation areas with a first content which is selectively changeable to a second content. d) loading said embedded software with said plurality of patch operation areas into said digital product. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
-
51. A method of modifying a digital product having FLASH memory and non-volatile memory (NVM), said digital product being operated by an embedded software, comprising the steps of:
-
a) generating a software patch, said software patch comprising one of at least a patch program for updating content in FLASH memory, and at least one data parameter for updating NVM content;
b) transmitting said software patch to said digital product using a wireless communication link;
c) receiving said software patch by said digital product;
d) writing said software patch into said digital product. - View Dependent Claims (52, 53)
-
-
54. A computer readable medium comprising instructions for updating an embedded software for a digital product, comprising instructions for:
-
executing said embedded software;
determining whether a patch program is available for a section of said embedded software;
directing execution of said embedded software at said section to said patch program if said patch program is available for said section;
directing execution back to a predetermined location of said embedded software after execution of said patch program. - View Dependent Claims (55, 56, 57)
-
Specification