Hot updates to controller software using tool chain
First Claim
1. 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 software while a controller is operating, comprising:
- receiving, at the controller while the controller is operating, a multidimensional delta file, the multidimensional delta file having a plurality of dimensions comprising at least one of;
a source dimension, a binary dimension, and a map dimension,wherein one or more of the plurality of dimensions are generated based on identified differences between a plurality of attributes of a software change for the controller and a corresponding plurality of attributes of the current software stored on the controller;
storing, while the controller is operating, the multidimensional delta file in an available memory location in a single memory of the controller while simultaneously executing a code segment of existing code from the current software stored on the controller; and
updating a plurality of memory addresses associated with the single memory of the controller based on the multidimensional delta file and without interrupting the execution of the code segment currently being executed, and without modifying the code segment currently being executed.
1 Assignment
0 Petitions
Accused Products
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.
-
Citations
18 Claims
-
1. 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 software while a controller is operating, comprising:
-
receiving, at the controller while the controller is operating, a multidimensional delta file, the multidimensional delta file having a plurality of dimensions comprising at least one of;
a source dimension, a binary dimension, and a map dimension,wherein one or more of the plurality of dimensions are generated based on identified differences between a plurality of attributes of a software change for the controller and a corresponding plurality of attributes of the current software stored on the controller; storing, while the controller is operating, the multidimensional delta file in an available memory location in a single memory of the controller while simultaneously executing a code segment of existing code from the current software stored on the controller; and updating a plurality of memory addresses associated with the single memory of the controller based on the multidimensional delta file and without interrupting the execution of the code segment currently being executed, and without modifying the code segment currently being executed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-implemented method for performing changes to current software while a controller is operating, the method comprising:
-
receiving, at the controller while the controller is operating, a multidimensional delta file, the multidimensional delta file having a plurality of dimensions comprising at least one of;
a source dimension, a binary dimension, and a map dimension,wherein one or more of the plurality of dimensions are generated based on identified differences between a plurality of attributes of a software change for the controller and a corresponding plurality of attributes of the current software stored on the controller; storing, while the controller is operating, the multidimensional delta file in an available memory location in a single memory of the controller while simultaneously executing a code segment of existing code from the current software stored on the controller; and updating a plurality of memory addresses associated with the single memory of the controller based on the multidimensional delta file and without interrupting the execution of the code segment currently being executed, and without modifying the code segment currently being executed. - View Dependent Claims (15, 16, 17, 18)
-
Specification