Hot updates to ECU 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 updates to Electronic Control Unit (ECU) software while an ECU of a vehicle is operating, comprising:
- receiving, at the vehicle while the ECU of the vehicle is operating, a multidimensional delta file for the ECU software, the multidimensional delta file having a plurality of dimensions,wherein one or more of the plurality of dimensions of the multidimensional delta file are generated based on identified differences between a plurality of attributes of a software change to be stored on the ECU of the vehicle and a corresponding plurality of attributes of current software stored on the ECU of the vehicle;
writing, while the ECU is operating, the multidimensional delta file into an available memory location in a single memory of the ECU while simultaneously executing a code segment of existing code in an existing execution code memory location in the single memory of the ECU; and
updating a plurality of memory addresses associated with the single memory of the ECU based on the multidimensional delta file and without interrupting the execution of the code segment currently being executed in the existing execution code memory location in the single memory of the ECU;
configuring the ECU software to run according to the software change without requiring rebooting of the ECU; and
deleting, from the single memory of the ECU, data representing outdated values of variables referenced by the ECU,wherein the ECU software is mapped to a plurality of functional units, at least one of the functional units being associated with the delta file, and wherein the ECU is configured to utilize a virtual file system (VFS) to manage and track one or more versions of each of the plurality of functional units.
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.
33 Citations
16 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 updates to Electronic Control Unit (ECU) software while an ECU of a vehicle is operating, comprising:
-
receiving, at the vehicle while the ECU of the vehicle is operating, a multidimensional delta file for the ECU software, the multidimensional delta file having a plurality of dimensions, wherein one or more of the plurality of dimensions of the multidimensional delta file are generated based on identified differences between a plurality of attributes of a software change to be stored on the ECU of the vehicle and a corresponding plurality of attributes of current software stored on the ECU of the vehicle; writing, while the ECU is operating, the multidimensional delta file into an available memory location in a single memory of the ECU while simultaneously executing a code segment of existing code in an existing execution code memory location in the single memory of the ECU; and updating a plurality of memory addresses associated with the single memory of the ECU based on the multidimensional delta file and without interrupting the execution of the code segment currently being executed in the existing execution code memory location in the single memory of the ECU; configuring the ECU software to run according to the software change without requiring rebooting of the ECU; and deleting, from the single memory of the ECU, data representing outdated values of variables referenced by the ECU, wherein the ECU software is mapped to a plurality of functional units, at least one of the functional units being associated with the delta file, and wherein the ECU is configured to utilize a virtual file system (VFS) to manage and track one or more versions of each of the plurality of functional units. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for performing updates to Electronic Control Unit (ECU) software while an ECU of a vehicle is operating, the system comprising:
-
one or more processors; and one or more memories having instructions that, when executed by the one or more processors, cause the one or more processors to perform the operations of; receiving, at the vehicle while the ECU of the vehicle is operating, a multidimensional delta file for the ECU software, the multidimensional delta file having a plurality of dimensions, wherein one or more of the plurality of dimensions of the multidimensional delta file are generated based on identified differences between a plurality of attributes of a software change to be stored on the ECU of the vehicle and a corresponding plurality of attributes of current software stored on the ECU of the vehicle; writing, while the ECU is operating, the multidimensional delta file into an available memory location in a single memory of the ECU while simultaneously executing a code segment of existing code in an existing execution code memory location in the single memory of the ECU; and updating a plurality of memory addresses associated with the single memory of the ECU based on the multidimensional delta file and without interrupting the execution of the code segment currently being executed in the existing execution code memory location in the single memory of the ECU; configuring the ECU software to run according to the software change without requiring rebooting of the ECU; and deleting, from the single memory of the ECU, data representing outdated values of variables referenced by the ECU, wherein the ECU software is mapped to a plurality of functional units, at least one of the functional units being associated with the delta file, and wherein the ECU is configured to utilize a virtual file system (VFS) to manage and track one or more versions of each of the plurality of functional units. - View Dependent Claims (14)
-
-
15. A computer-implemented method for performing updates to Electronic Control Unit (ECU) software while an ECU of a vehicle is operating, the method comprising:
-
receiving, at the vehicle while the ECU of the vehicle is operating, a multidimensional delta file for the ECU software, the multidimensional delta file having a plurality of dimensions, wherein one or more of the plurality of dimensions of the multidimensional delta file are generated based on identified differences between a plurality of attributes of a software change to be stored on the ECU of the vehicle and a corresponding plurality of attributes of current software stored on the ECU of the vehicle; writing, while the ECU is operating, the multidimensional delta file into an available memory location in a single memory of the ECU while simultaneously executing a code segment of existing code in an existing execution code memory location in the single memory of the ECU; and updating a plurality of memory addresses associated with the single memory of the ECU based on the multidimensional delta file and without interrupting the execution of the code segment currently being executed in the existing execution code memory location in the single memory of the ECU; configuring the ECU software to run according to the software change without requiring rebooting of the ECU; and deleting, from the single memory of the ECU, data representing outdated values of variables referenced by the ECU, wherein the ECU software is mapped to a plurality of functional units, at least one of the functional units being associated with the delta file, and wherein the ECU is configured to utilize a virtual file system (VFS) to manage and track one or more versions of each of the plurality of functional units. - View Dependent Claims (16)
-
Specification