Vehicle system upgrade method, device, electronic device and computer readable medium
Through a unified vehicle system upgrade method, the upgrade process of the vehicle control unit is simplified, the problem of complex and difficult to complete the upgrade process in the existing technology is solved, and the efficient upgrade of the vehicle control system is achieved.
Patent Information
- Application Number
- CN202410253001.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-06
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2044-03-06
AI Technical Summary
During the vehicle system upgrade process, the prior art requires designing specific upgrade processes and communication protocols for each vehicle control unit, making the upgrade process complex and difficult to complete in time.
By receiving vehicle system upgrade instructions, obtaining upgrade information, firmware files and vehicle system identifiers, performing security inspection and version information acquisition, and after determining the upgrade conditions, sending upgrade instructions and upgrading processing to realize a unified upgrade process for the vehicle control unit.
This method can eliminate the need to design a specific upgrade process for each vehicle control unit, simplify the upgrade process, and improve the upgrade efficiency of the vehicle control system.
Smart Images

Figure CN118012463B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to the field of computer technology, and in particular to a vehicle system upgrade method, device, electronic device, and computer-readable medium. Background Art
[0002] The vehicle control system integrates multiple electronic control units and automotive sensors to control the driving and parking of intelligent connected vehicles. In order to adapt to the upgrade of electronic control units and automotive sensors, the vehicle control system also needs to be upgraded in a timely manner. At present, when upgrading the vehicle system, the usual method is: the host computer formulates a specific upgrade process for the vehicle control system of each vehicle control unit to upgrade the vehicle control unit.
[0003] However, in practice, it is found that when the above method is used to upgrade the vehicle system, the following technical problems often occur:
[0004] A specific upgrade process is formulated for each vehicle control unit, and only one vehicle control unit can be upgraded at a time. Before upgrading the next vehicle control unit, the upgrade process and communication protocol need to be designed again, which makes it difficult to upgrade the vehicle control system of the vehicle control unit in a timely manner.
[0005] In the process of adopting technical solutions to solve the above technical problems, the following problems often occur: the storage address space of the compiled file may be discontinuous, and pointer access errors may occur when using pointers to access the compiled file, making it difficult to upgrade the vehicle control unit in a timely manner. In response to the above problems, the conventional solution is generally to fill all discontinuous storage addresses with preset data (for example, 0x00). However, the above conventional solution still has the following technical problem 2: filling all discontinuous storage addresses with preset data will increase the storage space occupied by the compiled file, thereby causing a waste of storage space.
[0006] The above information disclosed in this Background section is only for enhancement of understanding of the background of the inventive concept and therefore it may contain information that does not form the prior art that is already known in this country to a person of ordinary skill in the art. Summary of the invention
[0007] The content of this disclosure is used to introduce concepts in a brief form, which will be described in detail in the detailed implementation section below. The content of this disclosure is not intended to identify the key features or essential features of the technical solution claimed for protection, nor is it intended to limit the scope of the technical solution claimed for protection.
[0008] Some embodiments of the present disclosure propose a vehicle system upgrade method, an apparatus, an electronic device, and a computer-readable medium to solve one or more of the technical problems mentioned in the above background technology section.
[0009] In a first aspect, some embodiments of the present disclosure provide a vehicle system upgrade method, the method comprising: in response to receiving a vehicle system upgrade instruction, obtaining vehicle system upgrade information, a vehicle upgrade firmware file and a vehicle system identifier to be upgraded; inspecting and processing the above-mentioned vehicle upgrade firmware file to obtain an upgrade firmware security inspection result; in response to determining that the above-mentioned upgrade firmware security inspection result meets a preset security inspection condition, obtaining the vehicle system version information to be upgraded from the vehicle control terminal corresponding to the above-mentioned vehicle system identifier to be upgraded; in response to determining that the above-mentioned vehicle system version information to be upgraded meets the preset upgrade condition, sending the vehicle system preset upgrade instruction and the above-mentioned vehicle system upgrade information to the above-mentioned vehicle control terminal to perform upgrade processing on the above-mentioned vehicle control terminal to obtain upgrade result information.
[0010] In a second aspect, some embodiments of the present disclosure provide a vehicle system upgrade device, the device comprising: a first acquisition unit, configured to acquire vehicle system upgrade information, a vehicle upgrade firmware file and a vehicle system identifier to be upgraded in response to receiving a vehicle system upgrade instruction; an inspection unit, configured to perform inspection processing on the above-mentioned vehicle upgrade firmware file to obtain an upgrade firmware security inspection result; a second acquisition unit, configured to acquire the vehicle system version information to be upgraded from the vehicle control terminal corresponding to the above-mentioned vehicle system identifier to be upgraded in response to determining that the above-mentioned upgrade firmware security inspection result meets the preset security inspection conditions; a sending unit, configured to send the vehicle system preset upgrade instruction and the above-mentioned vehicle system upgrade information to the above-mentioned vehicle control terminal in response to determining that the above-mentioned vehicle system version information to be upgraded meets the preset upgrade conditions, so as to perform upgrade processing on the above-mentioned vehicle control terminal to obtain upgrade result information.
[0011] In a third aspect, some embodiments of the present disclosure provide an electronic device comprising: one or more processors; a storage device on which one or more programs are stored, and when the one or more programs are executed by the one or more processors, the one or more processors implement the method described in any implementation method in the above-mentioned first aspect.
[0012] In a fourth aspect, some embodiments of the present disclosure provide a computer-readable medium having a computer program stored thereon, wherein when the program is executed by a processor, the method described in any one of the implementations in the first aspect above is implemented.
[0013] The above-mentioned embodiments of the present disclosure have the following beneficial effects: through the vehicle system upgrade method of some embodiments of the present disclosure, the vehicle control system of the vehicle control unit can be upgraded in time. Specifically, the reason why it is difficult to upgrade the vehicle control system of the vehicle control unit in time is that a specific upgrade process is formulated for each vehicle control unit, and only one vehicle control unit can be upgraded at a time. Before upgrading the next vehicle control unit, the upgrade process and communication protocol need to be designed again. Based on this, the vehicle system upgrade method of some embodiments of the present disclosure, first, in response to receiving the vehicle system upgrade instruction, obtains vehicle system upgrade information, vehicle upgrade firmware file and vehicle system identification to be upgraded. Thus, the vehicle system upgrade process can be started, and the corresponding vehicle control unit can be upgraded through the vehicle system identification to be upgraded. Secondly, the above-mentioned vehicle upgrade firmware file is inspected and processed to obtain the upgrade firmware security inspection result. Thus, it can be determined whether the execution subject is in a safe state, so as to confirm whether the vehicle control unit can be upgraded. Then, in response to determining that the above-mentioned upgrade firmware security inspection result meets the preset security inspection condition, the vehicle system version information to be upgraded is obtained from the vehicle control terminal corresponding to the above-mentioned vehicle system identification to be upgraded. Thus, it can be determined that the above-mentioned execution can upgrade the vehicle system, and further determine whether the vehicle control unit can be upgraded. Finally, in response to determining that the above-mentioned vehicle system version information to be upgraded meets the preset upgrade conditions, the vehicle system upgrade instruction and the vehicle system upgrade information are sent to the above-mentioned vehicle control terminal to upgrade the above-mentioned vehicle control terminal and obtain the upgrade result information. Thus, it can be determined that the vehicle control unit can be upgraded, so that the vehicle system upgrade instruction and the vehicle system upgrade information can be sent to the vehicle control unit to control the upgrade of the vehicle control unit. Therefore, some vehicle system upgrade methods disclosed in the present invention can upgrade the corresponding vehicle control unit according to the identification of the vehicle control unit, and use the same upgrade process and communication protocol for different vehicle control units, so that there is no need to formulate a specific upgrade process for each vehicle control unit, and then, the vehicle control system of the vehicle control unit can be upgraded in time. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that components and elements are not necessarily drawn to scale.
[0015] Figure 1 is a flow chart of some embodiments of the vehicle system upgrade method according to the present disclosure;
[0016] Figure 2is a schematic structural diagram of some embodiments of a vehicle system upgrade device according to the present disclosure;
[0017] Figure 3 It is a schematic diagram of the structure of an electronic device suitable for implementing some embodiments of the present disclosure. DETAILED DESCRIPTION
[0018] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0019] It should also be noted that, for ease of description, only the parts related to the invention are shown in the drawings. In the absence of conflict, the embodiments and features in the embodiments of the present disclosure can be combined with each other.
[0020] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0021] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".
[0022] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0023] The present disclosure will be described in detail below with reference to the accompanying drawings and in conjunction with embodiments.
[0024] Figure 1 The process 100 of some embodiments of the vehicle system upgrade method according to the present disclosure is shown. The vehicle system upgrade method comprises the following steps:
[0025] Step 101 , in response to receiving a vehicle system upgrade instruction, obtaining vehicle system upgrade information, a vehicle upgrade firmware file, and an identifier of a vehicle system to be upgraded.
[0026] In some embodiments, the execution subject of the vehicle system upgrade method may obtain the vehicle system upgrade information, the vehicle upgrade firmware file and the vehicle system identification to be upgraded from the storage terminal by wired connection or wireless connection in response to receiving the vehicle system upgrade instruction. Among them, the above-mentioned vehicle system upgrade instruction may be sent by a user terminal, representing the instruction to upgrade the vehicle control terminal. The above-mentioned user terminal may be a terminal that wants to upgrade the vehicle control terminal. The above-mentioned vehicle control terminal may be a terminal for controlling the driving of the vehicle. The above-mentioned storage terminal may be a terminal for storing the above-mentioned vehicle system upgrade information, the vehicle upgrade firmware file and the vehicle system identification to be upgraded. The above-mentioned vehicle system upgrade information may include but is not limited to at least one of the following: a system update package and an update version number. The above-mentioned system update package may be an update package for upgrading the above-mentioned vehicle control terminal. The above-mentioned update version number may be the version number corresponding to the above-mentioned system update package. The above-mentioned vehicle upgrade firmware file may be a firmware file for executing the vehicle system upgrade. The above-mentioned vehicle system identification to be upgraded can uniquely determine a vehicle control terminal.
[0027] As an example, the vehicle control terminal may be an ECU (Electronic Control Unit). The storage terminal may include but is not limited to at least one of the following: EEPROM (Electrically Erasable Programmable ROM), Flash, OTA (Over-The-Air), or cloud.
[0028] It should be noted that the above-mentioned wireless connection methods may include but are not limited to 3G / 4G connection, WiFi connection, Bluetooth connection, WiMAX connection, Zigbee connection, UWB (ultra wideband) connection, and other wireless connection methods currently known or to be developed in the future.
[0029] Step 102, inspect and process the vehicle upgrade firmware file to obtain an upgrade firmware security inspection result.
[0030] In some embodiments, the execution subject may perform an inspection process on the vehicle upgrade firmware file to obtain an upgrade firmware security inspection result. The vehicle upgrade firmware file may be inspected and processed by a preset inspection algorithm to obtain an upgrade firmware security inspection result. The upgrade firmware security inspection result may be information indicating that "there is a problem with the inspection" or information indicating that "there is no problem with the inspection".
[0031] As an example, the above-mentioned preset verification algorithm may be a SHA-256 (Secure Hash Algorithm 256) algorithm.
[0032] Step 103 , in response to determining that the upgrade firmware security check result satisfies a preset security check condition, obtaining the version information of the vehicle system to be upgraded from the vehicle control terminal corresponding to the vehicle system identifier to be upgraded.
[0033] In some embodiments, the execution subject may obtain the system version information of the vehicle to be upgraded from the vehicle control terminal corresponding to the system identifier of the vehicle to be upgraded in response to determining that the upgrade firmware security inspection result satisfies the preset security inspection condition. Among them, the preset security inspection condition may be: the upgrade firmware security inspection result is information indicating that "no problem was found in the inspection". The system version information of the vehicle to be upgraded may include but is not limited to at least one of the following: system version number and system update status information. The system version number may represent the version number of the vehicle control system of the vehicle control terminal. The system update status information may be information indicating that "system update can be performed" or information indicating that "system update cannot be performed".
[0034] Step 104, in response to determining that the vehicle system version information to be upgraded meets the preset upgrade conditions, a preset upgrade instruction and vehicle system upgrade information are sent to the vehicle control terminal to perform upgrade processing on the vehicle control terminal to obtain upgrade result information.
[0035] In some embodiments, the execution subject may, in response to determining that the vehicle system version information to be upgraded satisfies a preset upgrade condition, send a preset upgrade instruction and the vehicle system upgrade information to the vehicle control terminal to upgrade the vehicle control terminal and obtain upgrade result information. The preset upgrade condition may be: the system version number included in the vehicle system version information to be upgraded is less than the update version number included in the vehicle system upgrade information, and the system update status information included in the vehicle system version information is information indicating that "system update is available". The preset upgrade instruction may indicate that the execution subject wants to upgrade the vehicle control terminal. The upgrade result information may be information indicating "successful upgrade" or information indicating "failed upgrade".
[0036] Optionally, the execution subject may further execute the vehicle system upgrade method again in response to determining that the upgrade result information satisfies a preset restart condition, wherein the preset restart condition may be that the upgrade result information is information indicating "upgrade failure".
[0037] In some optional implementations of some embodiments, the execution subject sends the vehicle system upgrade instruction and the vehicle system upgrade information to the vehicle control terminal to perform upgrade processing on the vehicle control terminal to obtain the upgrade result information, which may include the following steps:
[0038] The first step is to send the preset upgrade instruction to the vehicle control terminal to generate upgrade response information, and receive the upgrade response information from the vehicle control terminal. The preset upgrade instruction can be sent to the vehicle control terminal to generate upgrade response information through a preset communication protocol. The upgrade response information can be information indicating "successful response" or information indicating "failed response".
[0039] As an example, the preset communication protocol may be a UDS (Unified Diagnostic Services) protocol.
[0040] In the second step, in response to determining that the upgrade response information satisfies the preset response condition, the vehicle control terminal is subjected to communication inspection processing to obtain a communication inspection result. The communication inspection processing can be performed on the vehicle control terminal through the preset communication protocol to obtain the communication inspection result. The preset response condition can be that the upgrade response information is information indicating "successful response". The communication inspection result can be information indicating "passed inspection" or information indicating "failed inspection".
[0041] In the third step, in response to determining that the communication test result meets the preset communication condition, the vehicle system upgrade information is sent to the vehicle control terminal for flashing to obtain upgrade completion information. The preset communication condition may be that the communication test result is information indicating "test passed". The upgrade completion information may be information indicating "upgrade success" or information indicating "upgrade failure".
[0042] In the fourth step, in response to determining that the upgrade completion information satisfies the preset completion condition, a preset system reset instruction is sent to the vehicle control terminal to reset the vehicle control terminal, and the upgrade completion information is determined as the upgrade result information. The preset completion condition may be that the upgrade completion information is information indicating "upgrade success". The preset system reset instruction may indicate that the execution subject wants the vehicle control terminal to be reset.
[0043] In some optional implementations of some embodiments, the execution subject sends the vehicle system upgrade information to the vehicle control terminal for flashing processing to obtain upgrade completion information, which may include the following steps:
[0044] The first step is to compile the vehicle system upgrade information to obtain the vehicle system upgrade compiled information. The vehicle system upgrade compiled information includes: a storage address information sequence. In practice, the vehicle system upgrade information can be compiled by a preset compiler to obtain the vehicle system upgrade compiled information. The vehicle system upgrade compiled information can be stored in segments. Each storage address information in the storage address information sequence can represent the storage address of each segment of data in the vehicle system upgrade compiled information.
[0045] As an example, the above-mentioned preset compiler may be but is not limited to at least one of the following: GCC (GNU Compiler Collection) or LLVM (Low Level Virtual Machine).
[0046] The second step is to perform a first inspection process on the vehicle system upgrade compilation information to obtain a first inspection result. The first inspection process can be performed on the vehicle system upgrade compilation information using a preset first inspection algorithm to obtain a first inspection result. The first inspection result can be information indicating that "the first inspection passed" or information indicating that "the first inspection failed".
[0047] As an example, the above-mentioned preset first verification algorithm may be a checksum algorithm.
[0048] In the third step, in response to determining that the above-mentioned first inspection result meets the first preset inspection condition, the above-mentioned vehicle system upgrade compilation information is subjected to a second inspection process to obtain a second inspection result. Among them, in response to determining that the above-mentioned first inspection result meets the first preset inspection condition, the above-mentioned vehicle system upgrade compilation information is subjected to a second inspection process to obtain a second inspection result, which may be: in response to determining that there is discontinuity of adjacent storage address information in the storage address information sequence included in the above-mentioned vehicle system upgrade compilation information, information representing "the second inspection failed" is determined as the above-mentioned second inspection result. In response to determining that each adjacent storage address information in the storage address information sequence included in the above-mentioned vehicle system upgrade compilation information is continuous, information representing "the second inspection passed" is determined as the above-mentioned second inspection result. The above-mentioned first preset inspection condition may be that the above-mentioned first inspection result is information representing "the first inspection passed".
[0049] In the fourth step, in response to determining that the second inspection result satisfies the second preset inspection condition, the vehicle system upgrade compilation information is sent to the vehicle control terminal, and the first data inspection result is received from the vehicle control terminal. The second preset inspection condition may be that the second inspection result is information indicating that "the second inspection has passed". The first data inspection result may be information indicating that "the first data inspection has passed" or information indicating that "the first data inspection has not passed".
[0050] Step 5: In response to determining that the first data verification result satisfies the third preset verification condition, the preset completion information is determined as the upgrade completion information. The third preset verification condition may be that the first data verification result is information indicating that "the first data verification has passed". The preset completion information may be information indicating that "the upgrade is completed".
[0051] In some optional implementations of some embodiments, the execution subject sending the vehicle system upgrade compilation information to the vehicle control terminal and receiving the first data verification result from the vehicle control terminal may include the following steps:
[0052] The first step is to split the vehicle system upgrade compilation information to obtain a compilation line information sequence. Each compilation line information in the compilation line information sequence includes: a compilation line data length value. The above-mentioned splitting of the vehicle system upgrade compilation information to obtain the compilation line information sequence may be: each line of data of the vehicle system upgrade compilation information is determined as a compilation line information to obtain the compilation line information sequence. The individual compilation line information in the compilation line information sequence may be arranged in ascending order of storage address.
[0053] In the second step, for each compile line information in the above compile line information sequence, the following sending sub-steps are performed:
[0054] The first sub-step is, in response to determining that the compile line data length value included in the compile line information is greater than or equal to a preset target threshold, sending the compile line information to the vehicle control terminal, and receiving a first compile inspection result from the vehicle control terminal. The vehicle control terminal may perform a compile inspection process on the compile line information through a preset compile inspection algorithm to obtain the first compile inspection result. The first compile inspection result may be information indicating that "the compile inspection passed" or information indicating that "the compile inspection failed".
[0055] As an example, the preset target threshold may be 4100. The preset compilation check algorithm may be a CRC (Cyclic Redundancy Check) algorithm.
[0056] The second sub-step is, in response to determining that the first compilation verification result satisfies the first preset compilation condition, performing a sequence number verification process on the compilation line information to obtain a sequence number verification result. The performing a sequence number verification process on the compilation line information to obtain a sequence number verification result may be: in response to determining that the compilation line information is the last compilation line information in the compilation line information sequence, determining information indicating that "sequence number verification passed" as the sequence number verification result. In response to determining that the compilation line information is the last compilation line information in the compilation line information sequence, determining information indicating that "sequence number verification failed" as the sequence number verification result. The first preset compilation condition may be that the first compilation verification result may be information indicating that "compilation verification passed".
[0057] Therefore, it can be determined that the above-mentioned compiled line information sequences are all transmitted to the above-mentioned vehicle control terminal.
[0058] The third sub-step is, in response to determining that the above-mentioned sequence number verification result satisfies the fifth preset verification condition, sending a preset transmission exit instruction to the above-mentioned vehicle control terminal, and receiving the above-mentioned first data verification result from the above-mentioned vehicle control terminal. The above-mentioned fifth preset verification condition may be that the above-mentioned compilation line information is information indicating that "sequence number verification is passed". The above-mentioned preset transmission exit instruction may indicate that the above-mentioned execution subject wants to exit the transmission. The above-mentioned vehicle control terminal may perform the first data verification processing on the above-mentioned compilation line information sequence through the above-mentioned preset compilation verification algorithm to obtain the above-mentioned first data verification result.
[0059] Optionally, the above execution entity may further perform the following steps:
[0060] In the first step, in response to determining that the compile line data length value included in the compile line information is less than the preset target threshold, the following fusion sub-steps are performed:
[0061] The first sub-step is to merge the compile line information and the next compile line information of the compile line information to obtain merged compile line information. The compile line information and the next compile line information of the compile line information can be concatenated in the order of storage addresses to obtain the merged compile line information.
[0062] The second sub-step is to determine the above-mentioned fusion compilation line information as the compilation line information, so as to perform the above-mentioned sending step again.
[0063] In the third step, in response to determining that the first compilation check result does not meet the first preset compilation condition, the compilation line information is retransmitted, and a second compilation check result is received from the vehicle control terminal. The compilation line information is retransmitted and the second compilation check result is received from the vehicle control terminal through the preset communication protocol. The second compilation check result can be information indicating "compilation check passed" or information indicating "compilation check failed".
[0064] In the fourth step, in response to determining that the serial number verification result does not satisfy the fifth preset verification condition, the sending step is executed again.
[0065] Therefore, by adopting the above-mentioned method of sending the compiled file to the vehicle control terminal, only part of the compiled file can be read each time, and part of the compiled file can be sent to the vehicle control terminal. As a result, there is no need to read all the compiled files at once, thereby reducing memory consumption, thereby reducing the possibility of freezing due to insufficient memory or reducing memory response speed, and further, the stability and security of the vehicle control system upgrade can be improved.
[0066] Considering the problems of the above conventional solutions, facing the above technical problem 2: filling all the discontinuous storage addresses with preset data will increase the storage space occupied by the compiled file, thereby causing a waste of storage space. Combined with the existing technical status, it can be decided to adopt the following solution.
[0067] Optionally, the above execution entity may further perform the following steps:
[0068] The first step is, in response to determining that the first inspection result does not satisfy the first preset inspection condition, sending the preset system reset instruction to the vehicle control terminal to reset the vehicle control terminal.
[0069] In the second step, in response to determining that the first data inspection result does not meet the third preset inspection condition, the vehicle system upgrade compilation information is sent to the vehicle control terminal again, and the second data inspection result is received from the vehicle control terminal. The specific implementation method of generating the second data inspection result and the technical effect brought about by it can refer to step 104 in the above embodiment, which will not be repeated here. The second data inspection result can be information indicating that "the second data inspection passed" or information indicating that "the second data inspection failed".
[0070] In the third step, in response to determining that the second data verification result satisfies the fourth preset verification condition, the preset completion information is determined as the upgrade completion information. The fourth preset verification condition may be that the second data verification result is information indicating that "the second data verification has passed". The preset completion information may be information indicating that "the upgrade is completed".
[0071] Optionally, the above execution entity may further perform the following steps:
[0072] In the first step, in response to determining that the second inspection result does not satisfy the second preset inspection condition, the following filling sub-steps are performed:
[0073] The first sub-step is to perform data filling processing on the above-mentioned vehicle system upgrade compilation information to obtain vehicle system upgrade filling information.
[0074] The second sub-step is to send the vehicle system upgrade filling information to the vehicle control terminal, and receive the third data verification result from the vehicle control terminal. The specific implementation method of generating the third data verification result and the technical effect brought about by it can refer to step 104 in the above embodiment, which will not be repeated here. The third data verification result can be information indicating that "the third data verification has passed" or information indicating that "the third data verification has not passed".
[0075] The third sub-step is, in response to determining that the third data verification result satisfies a fifth preset verification condition, determining the preset completion information as the upgrade completion information. The fifth preset verification condition may be that the third data verification result is information indicating that "the third data verification has passed".
[0076] In some optional implementations of some embodiments, the execution subject performs data filling processing on the vehicle system upgrade compilation information to obtain the vehicle system upgrade filling information, which may include the following steps:
[0077] The first step is to split the vehicle system upgrade compilation information to obtain an initial fill line information sequence. The splitting of the vehicle system upgrade compilation information to obtain the initial fill line information sequence may be: determining each line of data of the vehicle system upgrade compilation information as an initial fill line information to obtain the initial fill line information sequence.
[0078] In the second step, for each initial filling row information in the above initial filling row information sequence, the following generation sub-steps are performed:
[0079] The first sub-step is to generate filling header information, filling content information and filling verification information. First, the message header information that satisfies the above-mentioned preset communication protocol can be constructed as the above-mentioned filling header information. Then, the preset filling data can be determined as the above-mentioned filling content information. Finally, the message verification information that satisfies the above-mentioned preset communication protocol can be constructed as the above-mentioned filling verification information.
[0080] The second sub-step is to merge the filling header information, the filling content information, the filling check information and the initial filling row information to obtain the target filling row information. The filling header information, the filling content information, the filling check information and the initial filling row information can be merged according to the preset communication protocol to obtain the target filling row information.
[0081] The third step is to determine the generated target filling row information as the above-mentioned vehicle system upgrade filling information.
[0082] The relevant content of step 104, as an inventive point of an embodiment of the present disclosure, solves the second technical problem mentioned in the background technology, "causing waste of storage space". Among them, the factors that lead to waste of storage space are often as follows: using preset data to fill all discontinuous storage addresses will increase the storage space occupied by the compiled file. If the above factors are solved, the effect of reducing the waste of storage space can be achieved. In order to achieve this effect, the present disclosure can split the compiled file according to the storage segments, and then construct header information and verification information for each segment with discontinuous addresses, and then fill the segment data with preset values. In this way, a compiled file with continuous storage addresses can be obtained, so that when a pointer is used to access the compiled file, the security of pointer access can be improved, so that the vehicle control unit can be upgraded in time. And, by adopting the segmented filling method, it is not necessary to fill the data of each storage address in the storage space, so that the storage space occupied by the compiled file can be reduced, and then the waste of storage space can be reduced.
[0083] The above-mentioned embodiments of the present disclosure have the following beneficial effects: through the vehicle system upgrade method of some embodiments of the present disclosure, the vehicle control system of the vehicle control unit can be upgraded in time. Specifically, the reason why it is difficult to upgrade the vehicle control system of the vehicle control unit in time is that a specific upgrade process is formulated for each vehicle control unit, and only one vehicle control unit can be upgraded at a time. Before upgrading the next vehicle control unit, the upgrade process and communication protocol need to be designed again. Based on this, the vehicle system upgrade method of some embodiments of the present disclosure, first, in response to receiving a vehicle system upgrade instruction, obtains vehicle system upgrade information, vehicle upgrade firmware files and vehicle system identification to be upgraded. Thus, the vehicle system upgrade process can be started, and the corresponding vehicle control unit can be upgraded through the vehicle system identification to be upgraded. Secondly, the above-mentioned vehicle upgrade firmware file is inspected and processed to obtain the upgrade firmware security inspection result. Thus, it can be determined whether the execution subject is in a safe state and whether the vehicle control unit can be upgraded. Then, in response to determining that the above-mentioned upgrade firmware security inspection result meets the preset security inspection condition, the vehicle system version information to be upgraded is obtained from the vehicle control terminal corresponding to the above-mentioned vehicle system identification to be upgraded. Thus, it can be determined that the above-mentioned execution can upgrade the vehicle system, and further determine whether the vehicle control unit can be upgraded. Finally, in response to determining that the above-mentioned vehicle system version information to be upgraded meets the preset upgrade conditions, the vehicle system upgrade instruction and the vehicle system upgrade information are sent to the above-mentioned vehicle control terminal to upgrade the above-mentioned vehicle control terminal and obtain the upgrade result information. Thus, it can be determined that the vehicle control unit can be upgraded, so that the vehicle system upgrade instruction and the vehicle system upgrade information can be sent to the vehicle control unit to control the upgrade of the vehicle control unit. Therefore, some vehicle system upgrade methods disclosed in the present invention can upgrade the corresponding vehicle control unit according to the identification of the vehicle control unit, and use the same upgrade process and communication protocol for different vehicle control units, so that there is no need to formulate a specific upgrade process for each vehicle control unit, and then, the vehicle control system of the vehicle control unit can be upgraded in time.
[0084] Further references Figure 2 As an implementation of the methods shown in the above figures, the present disclosure provides some embodiments of a vehicle system upgrade device. These device embodiments are similar to Figure 1 Corresponding to the method embodiments shown, the vehicle system upgrading device can be specifically applied to various electronic devices.
[0085] like Figure 2As shown, the vehicle system upgrade device 200 of some embodiments includes: a first acquisition unit 201, a verification unit 202, a second acquisition unit 203 and a sending unit 204. The first acquisition unit 201 is configured to acquire a vehicle upgrade firmware file and a vehicle system identifier to be upgraded in response to receiving a vehicle system upgrade instruction; the verification unit 202 is configured to perform a verification process on the vehicle upgrade firmware file to obtain an upgrade firmware security verification result; the second acquisition unit 203 is configured to acquire the vehicle system version information to be upgraded from the vehicle control terminal corresponding to the vehicle system identifier to be upgraded in response to determining that the upgrade firmware security verification result meets the preset security verification condition; the sending unit 204 is configured to send the vehicle system upgrade instruction and the vehicle system upgrade information to the vehicle control terminal in response to determining that the vehicle system version information to be upgraded meets the preset upgrade condition, so as to perform an upgrade process on the vehicle control terminal and obtain the upgrade result information.
[0086] It is understandable that the various units described in the vehicle system upgrade device 200 are similar to those described in the reference Figure 1 Therefore, the operations, features and beneficial effects described above for the vehicle system upgrade method are also applicable to the vehicle system upgrade device 200 and the units contained therein, and will not be repeated here.
[0087] Reference below Figure 3 , which shows a schematic diagram of the structure of an electronic device 300 suitable for implementing some embodiments of the present disclosure. The electronic devices in some embodiments of the present disclosure may include but are not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle terminals (such as vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 3 The terminal device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0088] like Figure 3 As shown, the electronic device 300 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 301, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 302 or a program loaded from a storage device 308 into a random access memory (RAM) 303. In the RAM 303, various programs and data required for the operation of the electronic device 300 are also stored. The processing device 301, the ROM 302, and the RAM 303 are connected to each other via a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.
[0089] Typically, the following devices may be connected to the I / O interface 305: input devices 306 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 307 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 308 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 309. The communication devices 309 may allow the electronic device 300 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 3 The electronic device 300 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead. Figure 3 Each block shown in the figure may represent one device, or may represent multiple devices as required.
[0090] In particular, according to some embodiments of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, some embodiments of the present disclosure include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In some such embodiments, the computer program can be downloaded and installed from the network through the communication device 309, or installed from the storage device 308, or installed from the ROM 302. When the computer program is executed by the processing device 301, the above-mentioned functions defined in the method of some embodiments of the present disclosure are executed.
[0091] It should be noted that the computer-readable medium recorded in some embodiments of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In some embodiments of the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In some embodiments of the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0092] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.
[0093] The computer-readable medium may be included in the electronic device; or it may exist independently without being installed in the electronic device. The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device: in response to receiving a vehicle system upgrade instruction, obtains vehicle system upgrade information, vehicle upgrade firmware files and a vehicle system identifier to be upgraded; performs inspection processing on the vehicle upgrade firmware files to obtain an upgrade firmware security inspection result; in response to determining that the upgrade firmware security inspection result meets the preset security inspection condition, obtains the vehicle system version information to be upgraded from the vehicle control terminal corresponding to the vehicle system identifier to be upgraded; in response to determining that the vehicle system version information to be upgraded meets the preset upgrade condition, sends the vehicle system preset upgrade instruction and the vehicle system upgrade information to the vehicle control terminal to upgrade the vehicle control terminal and obtain upgrade result information.
[0094] Computer program code for performing the operations of some embodiments of the present disclosure may be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0095] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0096] The units described in some embodiments of the present disclosure may be implemented by software or by hardware. The described units may also be provided in a processor, for example, may be described as: a processor comprising a first acquisition unit, a verification unit, a second acquisition unit and a sending unit. The names of these units do not constitute limitations on the units themselves in certain circumstances, for example, the first acquisition unit may also be described as "a unit for acquiring vehicle system upgrade information, vehicle upgrade firmware files and identification of the vehicle system to be upgraded in response to receiving a vehicle system upgrade instruction".
[0097] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0098] The above descriptions are only some preferred embodiments of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the embodiments of the present disclosure is not limited to the technical solutions formed by a specific combination of the above-mentioned technical features, but should also cover other technical solutions formed by any combination of the above-mentioned technical features or their equivalent features without departing from the above-mentioned inventive concept. For example, the above-mentioned features are replaced with the technical features with similar functions disclosed in the embodiments of the present disclosure (but not limited to) and the technical solutions formed.
Claims
1. A vehicle system upgrade method, comprising: In response to receiving a vehicle system upgrade instruction, obtaining vehicle system upgrade information, a vehicle upgrade firmware file, and an identifier of a vehicle system to be upgraded; Performing inspection on the vehicle upgrade firmware file to obtain an upgrade firmware security inspection result; In response to determining that the upgrade firmware security check result satisfies a preset security check condition, obtaining the vehicle system version information to be upgraded from the vehicle control terminal corresponding to the vehicle system identifier to be upgraded; In response to determining that the vehicle system version information to be upgraded meets a preset upgrade condition, a preset upgrade instruction and the vehicle system upgrade information are sent to the vehicle control terminal to perform an upgrade process on the vehicle control terminal to obtain upgrade result information; The sending of the preset upgrade instruction and the vehicle system upgrade information to the vehicle control terminal to perform upgrade processing on the vehicle control terminal to obtain upgrade result information includes: sending the preset upgrade instruction to the vehicle control terminal to generate upgrade response information, and receiving the upgrade response information from the vehicle control terminal; In response to determining that the upgrade response information satisfies a preset response condition, performing communication verification processing on the vehicle control terminal to obtain a communication verification result; In response to determining that the communication inspection result satisfies a preset communication condition, sending the vehicle system upgrade information to the vehicle control terminal for flashing processing to obtain upgrade completion information; In response to determining that the upgrade completion information satisfies a preset completion condition, sending a preset system reset instruction to the vehicle control terminal to reset the vehicle control terminal, and determining the upgrade completion information as the upgrade result information; The step of sending the vehicle system upgrade information to the vehicle control terminal for flashing to obtain upgrade completion information includes: Compiling the vehicle system upgrade information to obtain vehicle system upgrade compiled information, wherein the vehicle system upgrade compiled information includes: a storage address information sequence; Performing a first inspection process on the vehicle system upgrade compilation information to obtain a first inspection result; In response to determining that the first inspection result satisfies a first preset inspection condition, performing a second inspection process on the vehicle system upgrade compilation information to obtain a second inspection result; In response to determining that the second inspection result satisfies a second preset inspection condition, sending the vehicle system upgrade compilation information to the vehicle control terminal, and receiving a first data inspection result from the vehicle control terminal; In response to determining that the first data verification result satisfies a third preset verification condition, determining preset completion information as the upgrade completion information; The step of sending the vehicle system upgrade compilation information to the vehicle control terminal and receiving the first data verification result from the vehicle control terminal comprises: Splitting the vehicle system upgrade compilation information to obtain a compilation line information sequence; For each compile line information in the compile line information sequence, the following sending sub-steps are performed: In response to determining that the compile line data length value included in the compile line information is greater than or equal to a preset target threshold, sending the compile line information to the vehicle control terminal, and receiving a first compile verification result from the vehicle control terminal; In response to determining that the first compile verification result satisfies a first preset compile condition, performing a sequence number verification process on the compile line information to obtain a sequence number verification result; In response to determining that the serial number inspection result satisfies a fifth preset inspection condition, sending a preset transmission exit instruction to the vehicle control terminal, and receiving the first data inspection result from the vehicle control terminal; In response to determining that the compile line data length value included in the compile line information is less than the preset target threshold, performing the following merging sub-steps: fusing the compile line information and the next compile line information of the compile line information to obtain fused compile line information; Determine the fused compile line information as the compile line information, so as to execute the sending sub-step again; In response to determining that the first compile check result does not meet the first preset compile condition, retransmitting the compile line information, and receiving a second compile check result from the vehicle control terminal; In response to determining that the sequence number verification result does not satisfy the fifth preset verification condition, the sending sub-step is performed again.
2. The method according to claim 1, wherein: The method further comprises: In response to determining that the first inspection result does not satisfy the first preset inspection condition, sending the preset system reset instruction to the vehicle control terminal to reset the vehicle control terminal; In response to determining that the first data verification result does not satisfy the third preset verification condition, again sending the vehicle system upgrade compilation information to the vehicle control terminal, and receiving a second data verification result from the vehicle control terminal; In response to determining that the second data verification result satisfies a fourth preset verification condition, preset completion information is determined as the upgrade completion information.
3. The method according to claim 2, wherein: The method further comprises: In response to determining that the second inspection result does not satisfy the second preset inspection condition, performing the following filling steps: Performing data filling processing on the vehicle system upgrade compilation information to obtain vehicle system upgrade filling information; sending the vehicle system upgrade filling information to the vehicle control terminal, and receiving a third data verification result from the vehicle control terminal; In response to determining that the third data verification result satisfies a fifth preset verification condition, preset completion information is determined as the upgrade completion information.
4. The method according to claim 3, wherein: The performing data filling processing on the vehicle system upgrade compilation information to obtain vehicle system upgrade filling information includes: Splitting the vehicle system upgrade compilation information to obtain an initial filling row information sequence; For each initial filling row information in the initial filling row information sequence, the following generation steps are performed: Generate filling header information, filling content information and filling verification information; The filling header information, the filling content information, the filling check information and the initial filling row information are merged to obtain target filling row information; The generated target filling row information is determined as the vehicle system upgrade filling information.
5. A vehicle system upgrade device, comprising: A first acquisition unit is configured to acquire vehicle system upgrade information, a vehicle upgrade firmware file, and an identifier of a vehicle system to be upgraded in response to receiving a vehicle system upgrade instruction; A testing unit is configured to test the vehicle upgrade firmware file to obtain a firmware upgrade security test result; A second acquisition unit is configured to acquire the vehicle system version information to be upgraded from the vehicle control terminal corresponding to the vehicle system identifier to be upgraded in response to determining that the upgrade firmware security inspection result meets the preset security inspection condition; a sending unit configured to send a preset upgrade instruction and the vehicle system upgrade information to the vehicle control terminal in response to determining that the vehicle system version information to be upgraded meets a preset upgrade condition, so as to perform an upgrade process on the vehicle control terminal and obtain upgrade result information; The sending of the preset upgrade instruction and the vehicle system upgrade information to the vehicle control terminal to perform upgrade processing on the vehicle control terminal to obtain upgrade result information includes: sending the preset upgrade instruction to the vehicle control terminal to generate upgrade response information, and receiving the upgrade response information from the vehicle control terminal; In response to determining that the upgrade response information satisfies a preset response condition, performing communication verification processing on the vehicle control terminal to obtain a communication verification result; In response to determining that the communication inspection result satisfies a preset communication condition, sending the vehicle system upgrade information to the vehicle control terminal for flashing processing to obtain upgrade completion information; In response to determining that the upgrade completion information satisfies a preset completion condition, sending a preset system reset instruction to the vehicle control terminal to reset the vehicle control terminal, and determining the upgrade completion information as the upgrade result information; The step of sending the vehicle system upgrade information to the vehicle control terminal for flashing to obtain upgrade completion information includes: Compiling the vehicle system upgrade information to obtain vehicle system upgrade compiled information, wherein the vehicle system upgrade compiled information includes: a storage address information sequence; Performing a first inspection process on the vehicle system upgrade compilation information to obtain a first inspection result; In response to determining that the first inspection result satisfies a first preset inspection condition, performing a second inspection process on the vehicle system upgrade compilation information to obtain a second inspection result; In response to determining that the second inspection result satisfies a second preset inspection condition, sending the vehicle system upgrade compilation information to the vehicle control terminal, and receiving a first data inspection result from the vehicle control terminal; In response to determining that the first data verification result satisfies a third preset verification condition, determining preset completion information as the upgrade completion information; The step of sending the vehicle system upgrade compilation information to the vehicle control terminal and receiving the first data verification result from the vehicle control terminal comprises: Splitting the vehicle system upgrade compilation information to obtain a compilation line information sequence; For each compile line information in the compile line information sequence, the following sending sub-steps are performed: In response to determining that the compile line data length value included in the compile line information is greater than or equal to a preset target threshold, sending the compile line information to the vehicle control terminal, and receiving a first compile verification result from the vehicle control terminal; In response to determining that the first compile verification result satisfies a first preset compile condition, performing a sequence number verification process on the compile line information to obtain a sequence number verification result; In response to determining that the serial number inspection result satisfies a fifth preset inspection condition, sending a preset transmission exit instruction to the vehicle control terminal, and receiving the first data inspection result from the vehicle control terminal; In response to determining that the compile line data length value included in the compile line information is less than the preset target threshold, performing the following merging sub-steps: fusing the compile line information and the next compile line information of the compile line information to obtain fused compile line information; Determine the fused compile line information as the compile line information, so as to execute the sending sub-step again; In response to determining that the first compile check result does not meet the first preset compile condition, retransmitting the compile line information, and receiving a second compile check result from the vehicle control terminal; In response to determining that the sequence number verification result does not satisfy the fifth preset verification condition, the sending sub-step is performed again.
6. An electronic device comprising: one or more processors; a storage device having one or more programs stored thereon; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 4.
7. A computer readable medium having a computer program stored thereon, wherein: When the computer program is executed by a processor, the method according to any one of claims 1 to 4 is implemented.
Citation Information
Patent Citations
Remote upgrading method, server and storage media of vehicle electronic equipment
CN108182072A
Automobile online upgrading method, system and device and readable storage medium
CN110716729A
ECU module refreshing verification method based on LIN line
CN114756260A