SYSTEM AND METHOD FOR UPDATING FIRMWARE IN REAL-TIME
First Claim
1. A system controlled by firmware, wherein the firmware comprises a set of non-programmable code for performing at least one key function and a set of programmable code for performing at least one normal function, the system comprising:
- a memory including;
a first memory block for storing the set of non-programmable code, andsecond and third memory blocks that include an active memory block and an inactive memory block, wherein the active memory block stores a first set of programmable code being executed by the system and the inactive memory block stores a second set of programmable code that is not currently being executed by the system; and
a processor, connected to the memory, comprising;
an input unit for receiving a new set of programmable code and a firmware updating request,a processing unit, connected to the input unit, for executing the set of non-programmable code and the first set of programmable code stored in the active memory block, anda programming unit, connected to the input unit, wherein the programming unit identifies the inactive memory block and stores the new set of programmable code in the inactive memory block based on said identifying,wherein after said storing the new set of programmable code in the inactive memory block, the processing unit performs switching from executing the first set of programmable code stored in the active memory block to executing the new set of programmable code in the inactive memory block.
5 Assignments
0 Petitions
Accused Products
Abstract
A system controlled by firmware includes a memory and a processor. The memory includes a first memory block for storing non-programmable code used for performing key functions, and second and third memory blocks for storing programmable code used for performing normal functions. During operation, one of the second and third memory blocks in which the programmable code is being executed is an active memory block. After receiving new programmable code, the processor identifies the inactive memory block, stores the new programmable code therein, and switches to execute the new programmable code while continuing to perform the key functions using the non-programmable code.
14 Citations
20 Claims
-
1. A system controlled by firmware, wherein the firmware comprises a set of non-programmable code for performing at least one key function and a set of programmable code for performing at least one normal function, the system comprising:
-
a memory including; a first memory block for storing the set of non-programmable code, and second and third memory blocks that include an active memory block and an inactive memory block, wherein the active memory block stores a first set of programmable code being executed by the system and the inactive memory block stores a second set of programmable code that is not currently being executed by the system; and a processor, connected to the memory, comprising; an input unit for receiving a new set of programmable code and a firmware updating request, a processing unit, connected to the input unit, for executing the set of non-programmable code and the first set of programmable code stored in the active memory block, and a programming unit, connected to the input unit, wherein the programming unit identifies the inactive memory block and stores the new set of programmable code in the inactive memory block based on said identifying, wherein after said storing the new set of programmable code in the inactive memory block, the processing unit performs switching from executing the first set of programmable code stored in the active memory block to executing the new set of programmable code in the inactive memory block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of updating firmware of a firmware controlled system, wherein the firmware includes a set of non-programmable code for performing at least one key function and a set of programmable code for performing at least one normal function, wherein the system comprises a memory including a first memory block for storing the set of non-programmable code, and second and third memory blocks that include an active memory block storing a first set of programmable code and an inactive memory block storing a second set of programmable code, and wherein the non-programmable code in the first memory block and the first set of programmable code stored in the active memory block are being executed by the system, the method comprising:
-
identifying the inactive memory block; storing a new set of programmable code in the inactive memory block; and after storing the new set of programmable code, switching from executing the first set of programmable code stored in the active memory block to execute the new set of programmable code stored in the inactive memory block based on a firmware updating request, wherein the system continues to perform the at least one key function during said storing and switching steps. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification