Hot updates to controller software using tool chain
AssigneeAurora Labs Ltd.
InventorZohar Fox
Life of this patent
Estimating the term…
Abstract
Disclosed embodiments relate to performing updates to Electronic Control Unit (ECU) software while an ECU of a vehicle is operating. Operations may include receiving, at the vehicle while the ECU of the vehicle is operating, a software update file for the ECU software; writing, while the ECU is operating, the software update file into a first memory location in a memory of the ECU while simultaneously executing a code segment of existing code in a second memory location in the memory of the ECU; and updating a plurality of memory addresses associated with the memory of the ECU based on the software update file and without interrupting the execution of the code segment currently being executed in the second memory location in the memory of the ECU.
Claims20
A non-transitory computer-readable medium including instructions that, when executed by at least one processor, cause the at least one processor to perform operations for performing changes to current controller software, the operations comprising:
- receiving, at a controller, a delta file constructed based on comparisons of first dimensions of a first version of controller software and second dimensions of a second version of controller software, both the first dimensions and second dimensions comprising at least two of a source code dimension, a binary code dimension, or a map file dimension;
- storing, while the controller is operating, the delta file in a first location of a single memory of the controller while simultaneously executing a code segment of the current controller software stored in a second location of the single memory, wherein the delta file is stored in an additive manner adjacent to the current controller software in the single memory;
- and
- updating addresses associated with the single memory based on the delta file, without interrupting the execution of the code segment currently being executed and without modifying the code segment currently being executed, wherein the updating causes a software update to the current controller software.
A method for performing changes to current controller software, comprising:
- receiving, at a controller, a delta file constructed based on comparisons of first dimensions of a first version of controller software and second dimensions of a second version of controller software, both the first dimensions and second dimensions comprising at least two of a source code dimension, a binary code dimension, or a map file dimension;
- storing, while the controller is operating, the delta file in a first location of a single memory of the controller while simultaneously executing a code segment of the current controller software stored in a second location of the single memory, wherein the delta file is stored in an additive manner adjacent to the current controller software in the single memory;
- and
- updating addresses associated with the single memory based on the delta file, without interrupting the execution of the code segment currently being executed and without modifying the code segment currently being executed, wherein the updating causes a software update to the current controller software.
Dependencies are inferred from the claim text.