Patent classifications
G06F8/66
SELF-HEALING LEARNING SYSTEM FOR ONE OR MORE CONTROLLERS
Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on the ECU with a software update corresponding to the identified ECU software update.
Opportunistic software updates during select operational modes
Disclosed embodiments relate to opportunistically updating Electronic Control Unit (ECU) software in a vehicle. Operations may include receiving, at a controller in a vehicle, a wireless transmission indicating a need to update software running on at least one ECU in the vehicle; monitoring an operational status of the vehicle to determine whether the vehicle is in a first mode of operation in which an ECU software update is prohibited; delaying the ECU software update when the operational status is prohibited; continuing to monitor the operational status of the vehicle to determine whether the vehicle is in a second mode of operation in which the ECU software update is permitted; and enabling updating of the at least one ECU with the delayed ECU software update when it is determined that the vehicle is in the second mode of operations.
Information processing apparatus, non-transitory computer-readable medium, and information processing method
An information processing apparatus includes: a memory; and a processor configured to: acquire an instruction sequence including plural instructions; generate plural candidates of new instruction sequences capable of obtaining an execution result as same as in the instruction sequence, by replacing at least a part of plural nop instructions included in the instruction sequence with a wait instruction that waits for completion of all preceding instructions; delete any one of the nop instructions and the wait instruction from each of the new instruction sequences, when the execution result does not change in case any one of the nop instructions and the wait instruction is deleted from the new instruction sequences in the candidates; and select a one candidate among the candidates subjected to the delete, the one candidate including the number of instructions equal to or less than a certain number, and having a smallest number of execution cycles.
USING DATA DELTAS IN CONTROLLERS AND MANAGING INTERDEPENDENCIES BETWEEN SOFTWARE VERSIONS IN CONTROLLERS USING TOOL CHAIN
Disclosed embodiments relate to perform operations for receiving and integrating a delta file in a vehicle. Operations may include receiving, at an Electronic Control Unit (ECU) in the vehicle, a delta file, the delta file comprising a plurality of deltas corresponding to a software update for software on the ECU and startup code for executing the delta file in the ECU; executing the delta file, based on the startup code, in the ECU; and updating memory addresses in the ECU to correspond to the plurality of deltas from the delta file.
Electronic device and code patching method
An electronic device and a code patching method are provided. The electronic device includes a processor, a read-only memory (ROM), and a one-time programmable (OTP) memory. The ROM stores a boot code, and the boot code includes at least one checkpoint code segment. The OTP memory stores at least one patch code. The processor executes the boot code and queries whether there is a corresponding patch code in the OTP memory when the checkpoint code segment is executed, and if yes, executes the corresponding patch code.
Boot ROM update method and boot-up method of embedded system
A boot Read-Only Memory (ROM) update method and a boot-up method of an embedded system are provided. The boot Read-Only Memory (ROM) update method of an embedded system including a memory and a ROM. The memory includes a user data area and a boot ROM area that includes a first area and a second area. The ROM copies a first boot code from the boot ROM area during boot-up. The boot ROM update method includes writing a second boot code to the second area in response to a first ROM update command. The second boot code includes a second boot ROM image and a second signature for the second boot ROM image. The method also includes verifying validity of the second signature and, if the second signature is valid, swapping the first area and the second area. The first boot code is disposed in the first area and includes a first boot ROM image and a first signature for the first boot ROM image.
SYSTEMS, METHODS, AND DEVICES FOR EXECUTABLE FILE CLASSIFICATION
Methods according to the embodiments herein may include generating, by a computer system using a decompiler, assembly code from a binary file. The methods may comprise identifying, by the computer system using one or more heuristics, one or more functions in the assembly code. The methods may comprise identifying, by the computer system, one or more code blocks within the one or more functions in the assembly code. The methods may comprise determining, by the computer system, one or more execution paths through the one or more code blocks. The methods may comprise generating, by the computer system, one or more sentences representing execution paths through the one or more code blocks, wherein generating the one or more sentences comprises performing one or more random walks through one or more execution paths.
SELF-HEALING LEARNING SYSTEM FOR ONE OR MORE CONTROLLERS
Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on the ECU with a software update corresponding to the identified ECU software update.
Using data deltas in controllers and managing interdependencies between software versions in controllers using tool chain
Disclosed embodiments relate to perform operations for receiving and integrating a delta file in a vehicle. Operations may include receiving, at an Electronic Control Unit (ECU) in the vehicle, a delta file, the delta file comprising a plurality of deltas corresponding to a software update for software on the ECU and startup code for executing the delta file in the ECU; executing the delta file, based on the startup code, in the ECU; and updating memory addresses in the ECU to correspond to the plurality of deltas from the delta file.
CONSTRUCTING SOFTWARE DELTA UPDATES FOR CONTROLLER SOFTWARE AND ABNORMALITY DETECTION BASED ON TOOLCHAIN
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.