Constructing software delta updates for controller software and abnormality detection based on toolchain
Abstract
Disclosed embodiments relate to generating an update package for updating software on an Electronic Control Unit (ECU) in a vehicle. Operations may include accessing a plurality of attributes of a software update to be stored on the ECU in the vehicle; accessing a corresponding plurality of attributes of current software stored on the ECU in the vehicle; comparing the plurality of attributes with the corresponding plurality of attributes; generating a delta file representing differences between the plurality of attributes and the corresponding plurality of attributes determined in the comparison; and providing the delta file to the ECU, wherein the delta file is configured to be processed by startup code in the ECU that enables the delta file to execute in the ECU in the vehicle.
Claims
exact text as granted — not AI-modified1 - 24 . (canceled)
25 . 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 changing current software on a controller, the operations comprising:
accessing a delta file comprising controller software change code, the delta file being generated based on comparisons of first dimensions of a first version of controller software and second dimensions of a second version of controller software, the first dimensions being software representations of the first version of controller software that are different with respect to each other and the second dimensions being software representations of the second version of controller software that are different with respect to each other; and configuring the controller software change code to execute on the controller, wherein the controller is configured to link execution of current software on the controller to execution of an instruction contained in the delta file.
26 . The non-transitory computer-readable medium of claim 25 , wherein the delta file is accessed based on controller activity data associated with the controller.
27 . The non-transitory computer-readable medium of claim 25 , wherein the delta file is accessed in response to a detected deviation of controller behavior from an acceptable operational envelope.
28 . The non-transitory computer-readable medium of claim 27 , wherein the acceptable operational envelope is based on controller activity data associated with the controller.
29 . The non-transitory computer-readable medium of claim 25 , wherein the controller software change code comprises memory-position-independent code.
30 . The non-transitory computer-readable medium of claim 25 , wherein the delta file causes the controller to skip code contained in the current software and to execute code contained in the delta file instead of the skipped code.
31 . The non-transitory computer-readable medium of claim 25 , wherein the delta file comprises variable data representing a value of a variable referenced by the controller software change code.
32 . The non-transitory computer-readable medium of claim 31 , wherein startup code in the controller is configured to extract the variable data from the delta file and place the variable data into a memory accessible to the controller.
33 . The non-transitory computer-readable medium of claim 25 , wherein the delta file comprises code for updating memory addresses in the controller.
34 . The non-transitory computer-readable medium of claim 33 , wherein startup code in the controller is configured to extract the code for updating memory addresses and update the memory addresses in the controller.
35 . The non-transitory computer-readable medium of claim 25 , where one of the first dimensions and one of the second dimensions is a binary data dimension, a source attribute dimension, or a map file dimension.
36 . The non-transitory computer-readable medium of claim 25 , wherein the controller is configured to use a virtual file system to track different versions of symbols associated with at least one of the current software or the delta file.
37 . The non-transitory computer-readable medium of claim 25 , wherein startup code on the controller is configured to update a program counter of the controller to execute an instruction contained in the delta file without erasing existing content of a memory component of the controller.
38 . The non-transitory computer-readable medium of claim 25 , wherein the linked execution of the current software on the controller and the instruction contained in the delta file form a functional equivalent of a software update that is functioning prior to rebooting the controller.
39 . The non-transitory computer-readable medium of claim 25 , wherein the operations further comprise:
checking a dependency system to determine whether any interdependent controllers should be updated; and configuring additional delta files to change software on the interdependent controllers.
40 . A computer-implemented method for generating an update package for changing current software on a controller, the method comprising:
accessing a delta file comprising controller software change code, the delta file being generated based on comparisons of first dimensions of a first version of controller software and second dimensions of a second version of controller software, the first dimensions being software representations of the first version of controller software that are different with respect to each other and the second dimensions being software representations of the second version of controller software that are different with respect to each other; and configuring the controller software change code to execute on the controller, wherein the controller is configured to link execution of current software on the controller to execution of an instruction contained in the delta file.
41 . The computer-implemented method of claim 40 , wherein the controller software change code comprises memory-position-independent code.
42 . The computer-implemented method of claim 40 , wherein the delta file causes the controller to skip code contained in the current software and to execute code contained in the delta file instead of the skipped code.
43 . The computer-implemented method of claim 40 , wherein the controller is configured to use a virtual file system to track different versions of symbols associated with at least one of the current software or the delta file.
44 . The computer-implemented method of claim 40 , wherein startup code on the controller is configured to update a program counter of the controller to execute an instruction contained in the delta file without erasing existing content of a memory component of the controller.Join the waitlist — get patent alerts
Track US2022413841A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.