Live firmware update switchover
AssigneeTexas Instruments Incorporated
InventorsSira Parasurama Rao, Baskaran Chidambaram
Life of this patent
Estimating the term…
Abstract
A method includes receiving, by a microcontroller, a live firmware update (LFU) command from an external host; and downloading, by the microcontroller, an image of a new version of firmware responsive to the LFU command. During a first time period, the method includes initializing only variables contained in the new version that are not contained in an old version of firmware. During a second time period, the method includes updating one or more of an interrupt vector table, a function pointer, and/or a stack pointer responsive to the new version. The second time period begins responsive to completing initialization of the variables.
Claims20
A method, comprising:
- receiving, by a microcontroller, a live firmware update (LFU) command from an external host;
- downloading, by the microcontroller, an image of a new version of firmware responsive to the LFU command;
- during a first time period, initializing only variables contained in the new version that are not contained in an old version of firmware;
- and
- during a second time period, updating one or more of an interrupt vector table, a function pointer, and/or a stack pointer responsive to the new version,
- wherein the second time period begins responsive to completing initialization of the variables.
A device, comprising:
- a memory configured to store instructions;
- and
- a processor coupled to the memory and configured to execute the instructions to cause the device to be configured to:
- receive a live firmware update (LFU) command from an external host;
- download an image of a new version of firmware responsive to the LFU command;
- during a first time period, initialize only variables contained in the new version that are not contained in an old version of firmware;
- and
- during a second time period, update one or more of an interrupt vector table, a function pointer, and/or a stack pointer responsive to the new version,
- wherein the second time period begins responsive to completing initialization of the variables.
A device, comprising:
- a processor;
- a first flash memory coupled to the processor, the first flash memory including a first application storage portion configured to store a first version of firmware;
- and
- a second flash memory coupled to the processor, the second flash memory including a second application storage portion;
- wherein the processor is configured to:
- receive a live firmware update (LFU) command from an external host;
- download an image of a second version of firmware responsive to the LFU command, wherein the second version is newer than the first version;
- during a first time period, initialize only variables contained in the second version that are not contained in the first version;
- during a second time period, update one or more of an interrupt vector table, a function pointer, and/or a stack pointer responsive to the second version;
- and
- program the second application storage portion with the second version of firmware, responsive to the first application storage portion storing the first version of firmware;
- wherein the second time period begins responsive to completing initialization of the variables.
Dependencies are inferred from the claim text.