System and method for performing software patches in embedded systems
AssigneeAdvanced Micro Devices, Inc.
InventorsMark A. Ireton, Gerald Champagne, Corbett A. Marler
Life of this patent
Estimating the term…
Loading patent…
AssigneeAdvanced Micro Devices, Inc.
InventorsMark A. Ireton, Gerald Champagne, Corbett A. Marler
Estimating the term…
A system and method for performing software patches for embedded system devices in which the firmware of the system is included in non-alterable storage of the device. The patch mechanism provides a means for finding firmware errors, prototyping fixes to the errors and/or prototyping new functionality of the firmware of the embedded system. The system comprises an embedded system device coupled to an external memory. The device includes a non-alterable memory, including firmware, coupled to a processor. The device further includes a relatively small amount of patch RAM within the device also coupled to the processor. The patches are loaded from the external memory into the patch RAM. The device further includes a means for determining if one or more patches are to be applied. If the device detects a patch to be applied, the system loads the patch from the external memory into the patch RAM. The device also includes a breakpoint register. When the value of the program counter of the processor equals the value in the breakpoint register, a patch insertion occurs, i.e., the processor deviates from executing firmware to executing patch instructions. Preferably, the embedded system device comprises a single integrated circuit. The processor may include a plurality of breakpoint registers. The patch may be encrypted for increased security. Multiple patches may be chained together, and run-time patch replacement is contemplated.
A embedded system device configured to receive a software patch, comprising:
A embedded system configured to receive a software patch, comprising:
A method for executing a patch in an embedded system device comprising a processor including a breakpoint register and a program counter, each containing a value, a non-alterable memory coupled to said processor, wherein said non-alterable memory includes instructions executable by said processor, and an alterable memory coupled to said processor configured to store a patch, wherein a portion of said patch comprises patch instructions executable by said processor, the method comprising:
A method for executing a series of patches in an embedded system device comprising a processor including a breakpoint register and a program counter, each containing a value, a non-alterable memory coupled to said processor, wherein said non-alterable memory includes firmware instructions executable by said processor, and an alterable memory coupled to said processor configured to store said series of patches, wherein a portion of each of said series of patches comprises patch instructions executable by said processor, the method comprising:
A method for executing a series of patches in an embedded system device comprising a processor including a breakpoint register and a program counter, each containing a value, a non-alterable memory coupled to said processor, wherein said non-alterable memory includes firmware instructions executable by said processor, and an alterable memory coupled to said processor configured to store said series of patches, wherein a portion of each of said series of patches comprises patch instructions executable by said processor, the method comprising:
A method for replacing a patch in an embedded system device comprising a processor including a breakpoint register and a program counter, each containing a value, a non-alterable memory coupled to said processor, wherein said non-alterable memory includes firmware instructions executable by said processor, and an alterable memory coupled to said processor configured to store said series of patches, wherein a portion of each of said series of patches comprises patch instructions executable by said processor, the method comprising:
Dependencies are inferred from the claim text.