Vehicle controller capability test method, device, equipment, storage medium and product
By modifying the vehicle controller's software package to generate test cases and refreshing the software, its verification capability was identified, solving the problem of the vehicle controller's inability to be verified in the EU market, reducing after-sales service costs and improving efficiency.
Patent Information
- Application Number
- CN202511070890.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-31
- Publication Date
- 2025-11-07
AI Technical Summary
The lack of software upgrade verification capabilities for vehicle controllers in the EU and EU-like markets leads to high after-sales service costs, and existing technologies cannot effectively identify their verification capabilities.
By acquiring the vehicle controller's software package, modifying the files within the package to generate test cases, and then refreshing the software based on these test cases, the refresh feedback information is obtained to determine the controller's verification capability.
Verify the vehicle controller's verification capabilities to avoid hardware replacements due to software issues, saving on material and labor costs and reducing customer complaints, thereby improving after-sales service efficiency and customer satisfaction.
Smart Images

Figure CN120909262A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of capability testing, and in particular to a capability testing method, device, equipment, storage medium and product of a vehicle controller. BACKGROUND
[0002] Before entering the European Union and the EU-like market, a vehicle controller supporting software upgrade in the vehicle needs to have a verification capability, which is used to verify the authenticity and integrity of a software package obtained during the software upgrade process through a diagnostic instrument. For a certain vehicle controller, if the vehicle controller does not have the verification capability, the vehicle controller is not allowed to perform software upgrade in the European Union and the EU-like after-sales market according to the requirements of the corresponding regulations; if the vehicle controller has software problems, the vehicle controller can only be solved by replacing parts, which will greatly increase the cost of after-sales service. SUMMARY
[0003] Embodiments of the present application provide a capability testing method, device, equipment, storage medium and product of a vehicle controller. The technical solution is as follows:
[0004] In one aspect, a capability testing method of a vehicle controller is provided, and the method comprises:
[0005] When performing software flashing on the vehicle controller, a software package of the vehicle controller is obtained, the software comprising a first file and a second file, the first file being used to store original data to be flashed into the vehicle controller, and the second file being used to store a signature value of a hash value of the original data;
[0006] Any file in the software package is tampered with to obtain a plurality of test cases of the vehicle controller, the test cases comprising a third file corresponding to the first file and a fourth file corresponding to the second file;
[0007] The vehicle controller is flashed based on the plurality of test cases through the vehicle controller to obtain flashing feedback information of the vehicle controller;
[0008] Based on the flashing feedback information, a capability testing result of the vehicle controller is determined, the capability testing result being used to indicate whether the vehicle controller has a verification capability of verifying the validity and integrity of the test cases.
[0009] In one possible implementation, the flashing of the vehicle controller based on the plurality of test cases through the vehicle controller to obtain the flashing feedback information of the vehicle controller comprises:
[0010] For any test case, the fourth file in the test case is decrypted by the vehicle controller to obtain a first hash value of the original data;
[0011] A hash value of the third file in the test case is determined to obtain a second hash value of the original data;
[0012] Based on the first hash value and the second hash value of the original data, the refresh feedback information of the vehicle controller is determined.
[0013] In another possible implementation, the refresh feedback information of the vehicle controller is obtained by performing software refresh on the vehicle controller based on the plurality of test cases through the vehicle controller, including:
[0014] The second file is decrypted to obtain a third hash value of the original data;
[0015] A hash value of the first file is determined to obtain a fourth hash value of the original data;
[0016] Based on the third hash value and the fourth hash value of the original data, prompt information is displayed, and the prompt information is used to prompt whether to perform software refresh on the vehicle controller;
[0017] When the confirmation instruction of the prompt information is received, the refresh feedback information of the vehicle controller is obtained by performing software refresh on the vehicle controller based on the plurality of test cases through the vehicle controller.
[0018] In another possible implementation, the original data includes a part number, an application version identifier and a calibration version identifier of the vehicle controller;
[0019] The prompt information is displayed based on the third hash value and the fourth hash value of the original data, including:
[0020] In a case where the third hash value and the fourth hash value of the part number of the vehicle controller are different, first prompt information is displayed, and the first prompt information is used to prompt whether to perform software refresh in a case where the part number of the vehicle controller is inconsistent;
[0021] In a case where the third hash value and the fourth hash value of the application version identifier of the vehicle controller are the same, second prompt information is displayed, and the second prompt information is used to prompt whether to perform software refresh in a case where the application version identifier of the vehicle controller is the same;
[0022] In a case where the third hash value and the fourth hash value of the calibration version identifier of the vehicle controller are the same, a third prompt information is displayed, the third prompt information being used to prompt whether to perform software refreshing in a case where the calibration version identifiers of the vehicle controller are the same.
[0023] In another possible implementation, the original data includes driving data, application data and calibration data of the vehicle controller.
[0024] The tampering of any file in the software package obtains a plurality of test cases of the vehicle controller, including:
[0025] The tampering of the driving data of the vehicle controller in the first file obtains a test case, the tampering of the application data of the vehicle controller in the first file obtains a test case, and the tampering of the calibration data of the vehicle controller in the first file obtains a test case, the third file is a file obtained by tampering the first file, and the fourth file is the same as the second file.
[0026] The tampering of the signature value of the hash value of the driving data of the vehicle controller in the second file obtains a test case, the tampering of the signature value of the hash value of the application data of the vehicle controller in the second file obtains a test case, and the tampering of the signature value of the hash value of the calibration data of the vehicle controller in the second file obtains a test case, the fourth file is a file obtained by tampering the second file, and the third file is the same as the first file.
[0027] In another possible implementation, the upgrade feedback information includes a feedback time and a feedback error code.
[0028] The determining of the capability test result of the vehicle controller based on the upgrade feedback information includes:
[0029] In a case where the feedback time is the same as a theoretical feedback time and the feedback error code is the same as a theoretical feedback error code, the capability test result is determined to be that the vehicle controller has the check capability.
[0030] In another aspect, a capability test device of a vehicle controller is provided, and the device includes:
[0031] An acquisition module is configured to acquire a software package of a vehicle controller when the vehicle controller is subjected to software refreshing, the software including a first file and a second file, the first file being used to store original data to be flashed into the vehicle controller, and the second file being used to store signature values of hash values of the original data.
[0032] tamper the any file in the software package to obtain a plurality of test cases of the vehicle controller, the test cases comprising a third file corresponding to the first file and a fourth file corresponding to the second file;
[0033] refresh the vehicle controller based on the plurality of test cases to obtain refresh feedback information of the vehicle controller;
[0034] determine a capability test result of the vehicle controller based on the refresh feedback information, the capability test result being used to indicate whether the vehicle controller has a checking capability of checking validity and integrity of the test cases.
[0035] In a possible implementation, the refresh module is configured to, for any test case, decrypt the fourth file in the test case by using the vehicle controller to obtain a first hash value of the original data; determine a hash value of the third file in the test case to obtain a second hash value of the original data; and determine the refresh feedback information based on the first hash value and the second hash value of the original data.
[0036] In another possible implementation, the refresh module is configured to decrypt the second file to obtain a third hash value of the original data; determine a hash value of the first file to obtain a fourth hash value of the original data; display prompt information based on the third hash value and the fourth hash value of the original data, the prompt information being used to prompt whether to perform software refresh on the vehicle controller; and when receiving a confirmation instruction of the prompt information, perform software refresh on the vehicle controller based on the plurality of test cases by using the vehicle controller to obtain refresh feedback information of the vehicle controller.
[0037] In another possible implementation, the original data comprises a part number, an application version identifier, and a calibration version identifier of the vehicle controller.
[0038] The refreshing module is configured to display a first prompt information in a case where the third hash value and the fourth hash value of the part number of the vehicle controller are different, the first prompt information being used to prompt whether the software refreshing is performed in a case where the part number of the vehicle controller is inconsistent; display a second prompt information in a case where the third hash value and the fourth hash value of the application version identifier of the vehicle controller are same, the second prompt information being used to prompt whether the software refreshing is performed in a case where the application version identifier of the vehicle controller is same; and display a third prompt information in a case where the third hash value and the fourth hash value of the calibration version identifier of the vehicle controller are same, the third prompt information being used to prompt whether the software refreshing is performed in a case where the calibration version identifier of the vehicle controller is same.
[0039] In another possible implementation, the original data includes driving data, application data and calibration data of the vehicle controller.
[0040] The tampering module is configured to tamper with the driving data of the vehicle controller in the first file to obtain a test case, tamper with the application data of the vehicle controller in the first file to obtain a test case, and tamper with the calibration data of the vehicle controller in the first file to obtain a test case, the third file being a file obtained by tampering with the first file, and the fourth file being same as the second file.
[0041] The tampering module is configured to tamper with the signature value of the hash value of the driving data of the vehicle controller in the second file to obtain a test case, tamper with the signature value of the hash value of the application data of the vehicle controller in the second file to obtain a test case, and tamper with the signature value of the hash value of the calibration data of the vehicle controller in the second file to obtain a test case, the fourth file being a file obtained by tampering with the second file, and the third file being same as the first file.
[0042] In another possible implementation, the upgrade feedback information includes a feedback time and a feedback error code.
[0043] The test module is configured to determine that the capability test result is that the vehicle controller has the check capability in a case where the feedback time is same as a theoretical feedback time and the feedback error code is same as a theoretical feedback error code.
[0044] In another aspect, a computer device is provided, which includes a processor and a memory, the memory storing at least one program code, the at least one program code being loaded and executed by the processor to implement the vehicle controller capability test method described above.
[0045] In another aspect, a computer readable storage medium is provided, the storage medium having stored therein at least one program code, the at least one program code being loaded and executed by a processor to implement the capability testing method of the vehicle controller.
[0046] In another aspect, a computer program product is provided, the product storing at least one program code, the at least one program code being used to be executed by a processor to implement the capability testing method of the vehicle controller.
[0047] In the embodiments of the present application, when the vehicle controller is software refreshed, the test case is obtained by tampering with the software package of the vehicle controller; if the vehicle controller has a check test, the vehicle controller will error and terminate the software refresh process when the software refresh is based on the test case; therefore, by obtaining the refresh feedback information of the vehicle controller, it can be identified whether the vehicle controller has the check ability of the validity and integrity of the test case. Based on the above analysis, it can be identified that the vehicle controller has the check ability, so that when the vehicle enters the European Union and the European Union market, the vehicle controller hardware caused by the software problem of the vehicle controller can be avoided, the material cost, the labor cost and the cost of customer complaints caused by disassembling the vehicle are saved, and the after-sales service efficiency and the after-sales satisfaction of the vehicle are improved.
[0048] It should be understood that the foregoing general description and the following detailed description are only exemplary and are not limiting on the disclosure. BRIEF DESCRIPTION OF DRAWINGS
[0049] Figure 1 is a schematic diagram of a capability testing system of a vehicle controller according to an example embodiment of the present application;
[0050] Figure 2 is a flowchart of a capability testing method of a vehicle controller according to an example embodiment of the present application;
[0051] Figure 3 is a schematic diagram of a capability testing method of a vehicle controller according to an example embodiment of the present application;
[0052] Figure 4 is a flowchart of a capability testing method of a vehicle controller according to another example embodiment of the present application;
[0053] Figure 5 is a flowchart of a capability testing method of a vehicle controller according to another example embodiment of the present application;
[0054] Figure 6 is a flowchart of a capability testing method of a vehicle controller according to another example embodiment of the present application;
[0055] Figure 7 FIG. 1 is a block diagram of a capability testing device of a vehicle controller according to an example embodiment of the present application;
[0056] Figure 8 FIG. 2 is a block diagram of a computer device according to an example embodiment of the present application. DETAILED DESCRIPTION
[0057] In order to make the technical solutions and advantages of the present application clearer, the embodiments of the present application are described in further detail below.
[0058] The terms "first", "second", "third", and "fourth" and the like in the description and claims of the present application and the accompanying drawings are used to distinguish different objects, and are not used to describe a particular order. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a list of steps or units is not limited to the listed steps or units, but can optionally include other steps or units not listed or can optionally include other steps or units inherent to such processes, methods, products, or devices.
[0059] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data for analysis, stored data, displayed data, etc.), and signals involved in the present application are all authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data need to comply with relevant laws, regulations, and standards in relevant countries and regions. For example, the positioning information of the vehicle involved in the present application is obtained under sufficient authorization.
[0060] Reference should be made to Figure 1 FIG. 1 is a block diagram of a capability testing system of a vehicle controller 102 according to an example embodiment of the present application. The capability testing system of the vehicle controller 102 includes a computer device 101 and the vehicle controller 102, and the computer device 101 is installed with a diagnostic application (APP). The diagnostic APP is used to determine the capability testing result of the vehicle controller 102, and the capability testing result is used to indicate whether the vehicle controller 102 has the capability of verifying the validity and integrity of the test case.
[0061] The vehicle controller 102 can be any controller in the vehicle. For example, the vehicle controller 102 can be at least one of an Electronic Control Unit (ECU), a Microcontroller Unit (MCU), a brake control unit, a body control unit, a drive control unit, an auxiliary driving system control unit, a navigation control unit, an airbag control unit, a transmission control unit, an air conditioning control unit, a vehicle stability control unit, and the like. The vehicle of the embodiments of the present application can be a new energy vehicle or a fuel vehicle. The new energy vehicle can be a pure electric vehicle, a plug-in hybrid electric vehicle, a fuel cell electric vehicle, and the like. The computer device 101 can be a Personal Computer (PC), a notebook computer, a tablet computer, or a diagnostic instrument, and the like.
[0062] Please refer to Figure 2 which shows a flowchart of a capability testing method of a vehicle controller according to an example embodiment of the present application. Please refer to Figure 2 The method comprises the following steps.
[0063] In step 201, when performing software flashing on the vehicle controller, the computer device acquires a software package of the vehicle controller, the software comprising a first file and a second file. The first file is used to store original data to be flashed into the vehicle controller, and the second file is used to store a signature value of a hash value of the original data.
[0064] The first file can be a Crystallographic Binary File (CBF) file, and the original data stored in the first file is provided by a supplier of the vehicle controller. The format of the first file can be.hex or.s19. The original data comprises part information and content information of the vehicle controller. The part information comprises a part number, a software version identifier, and a calibration version identifier. The software version identifier can be a version identifier of control software installed in the vehicle controller, and the software version identifier can be a software version number. The calibration version identifier can be a version identifier of calibration data of the vehicle controller, and the calibration version identifier can be a calibration version number. The part information can further comprise a communication mode of the vehicle controller and a part number of the control software, and the like.
[0065] The content information includes driving data, application data, and calibration data. The driving data refers to a set of key parameters generated, collected, and processed by the vehicle controller in real time during the control of the vehicle. The application data refers to a set of data generated by the control software installed in the vehicle controller. The calibration data is an optimized value obtained by adjusting the internal parameters of the vehicle controller through the collection of actual vehicle data, and is mainly used to improve the performance of the vehicle under different working conditions. Correspondingly, the first file includes a CBF file corresponding to the driving data, a CBF file corresponding to the application data, and a CBF file corresponding to the calibration data.
[0066] The computer device includes a data acquisition tool for acquiring raw data. Accordingly, the step of the computer device acquiring the first file of the vehicle controller can be: the computer device acquires raw data based on the data acquisition tool, and encapsulates the raw data into a CBF file to obtain the first file.
[0067] The second file can be a Rivest-Shamir-Adleman (RSA) file, and the raw data includes driving data, application data, and calibration data. Accordingly, the second file includes an RSA file corresponding to the driving data, an RSA file corresponding to the application data, and an RSA file corresponding to the calibration data.
[0068] The second file is used to store the signature value of the hash value of the raw data. Accordingly, the step of the computer device acquiring the second file of the vehicle controller can be: the computer device signs the hash value of the first file by a private key to obtain the second file. For example, the computer device obtains the second file by signing the hash value of the first file based on the private key through a signature system inside the vehicle dealer; or, the computer device obtains the second file by signing the hash value of the first file based on the private key through a signature tool.
[0069] Step 202: The computer device tampers any file in the software package to obtain a plurality of test cases of the vehicle controller, and the test cases include a third file corresponding to the first file and a fourth file corresponding to the second file.
[0070] When the vehicle controller is software refreshed, the computer device sends a first file to the vehicle controller through the 36 service, the first file is used to store original data; and then carries a second file through 3101D002 or 3101DD02, the second file is used to store the signature value of the hash value of the original data. The vehicle controller receives the first file and the second file, determines the hash value of the original data in the first file, decrypts the signature value of the hash value of the original data in the second file through the public key to obtain the hash value of the original data, determines whether the two hash values obtained are consistent, and if so, enters the next step of the refreshing process; if not, an error is reported and the refreshing process is terminated. Therefore, the computer device can modify the original data in the first file or the signature value of the hash value of the original data in the second file, and verify whether the vehicle controller can detect an exception and stop the refreshing process. Wherein, the software refreshing can also be called software upgrading.
[0071] For example, please refer to Figure 3 , the vehicle controller is ECU; the computer device obtains a CBF file, the CBF file includes original data of the ECU, determines the hash value of the original data, signs the hash value of the original data through the private key to obtain an RSA file, and sends the RSA file and the CBF file to the ECU; the ECU decrypts the RSA file through the public key to obtain the hash value of the original data; and the ECU determines the hash value of the original data in the CBF file, and determines whether to terminate the refreshing process by determining whether the decrypted hash value of the original data and the determined hash value of the original data are the same.
[0072] Correspondingly, the step can be implemented through the following steps (1) to (6), including:
[0073] (1) The computer device tampers with the drive data of the vehicle controller in the first file to obtain a test case.
[0074] The diagnosis APP of the computer device includes a tampering program, and the computer device tampers with the drive data through the tampering program to obtain a test case. For example, the computer device adds data to the drive data through the tampering program to obtain a test case; for example, the computer device adds 2 bytes of data to the drive data through the tampering program, and the other remains unchanged. Or the computer device deletes part of the data in the drive data through the tampering program to obtain a test case; or the computer device modifies the data in the drive data through the tampering program to obtain a test case.
[0075] The computer device keeps other data unchanged when tampering with the drive data, that is, keeps the application data and the calibration data of the vehicle controller in the first file unchanged, and keeps the signature value of the hash value of the drive data, the signature value of the hash value of the application data, and the signature value of the hash value of the calibration data in the second file unchanged.
[0076] (2) The computer device tampers with the application data of the vehicle controller in the first file to obtain a test case.
[0077] The diagnosis APP of the computer device includes a tampering program, and the computer device tampers with the application data through the tampering program to obtain a test case. For example, the computer device adds data in the application data through the tampering program to obtain a test case; or the computer device deletes part of the data in the application data through the tampering program to obtain a test case; or the computer device modifies the data in the application data through the tampering program to obtain a test case.
[0078] The computer device keeps other data unchanged when tampering with the application data, that is, keeps the drive data and the calibration data of the vehicle controller in the first file unchanged, and keeps the signature value of the hash value of the drive data, the signature value of the hash value of the application data, and the signature value of the hash value of the calibration data in the second file unchanged.
[0079] (3) The computer device tampers with the calibration data of the vehicle controller in the first file to obtain a test case.
[0080] The diagnosis APP of the computer device includes a tampering program, and the computer device tampers with the calibration data through the tampering program to obtain a test case. For example, the computer device adds data in the calibration data through the tampering program to obtain a test case; or the computer device deletes part of the data in the calibration data through the tampering program to obtain a test case; or the computer device modifies the data in the calibration data through the tampering program to obtain a test case.
[0081] The computer device keeps other data unchanged when tampering with the calibration data, that is, keeps the drive data and the application data of the vehicle controller in the first file unchanged, and keeps the signature value of the hash value of the drive data, the signature value of the hash value of the application data, and the signature value of the hash value of the calibration data in the second file unchanged.
[0082] For the above steps (1) to (3), the third file is a file obtained by tampering with the first file, and the fourth file is the same as the second file.
[0083] (4) The computer device tampers with the signature value of the hash value of the drive data of the vehicle controller in the second file to obtain a test case.
[0084] The diagnostic APP of the computer device includes a tampering program, and the computer device tampers the signature value of the hash value of the drive data through the tampering program to obtain a test case. For example, the computer device adds a signature value to the signature value of the hash value of the drive data through the tampering program to obtain a test case; or the computer device deletes the signature value of the hash value of the drive data through the tampering program to obtain a test case; or the computer device modifies the signature value of the hash value of the drive data through the tampering program to obtain a test case.
[0085] When the computer device tampers the signature value of the hash value of the drive data, other data remains unchanged, that is, the drive data, application data and calibration data of the vehicle controller in the first file remain unchanged, and the signature value of the hash value of the application data in the second file remains unchanged and the signature value of the hash value of the calibration data in the second file remains unchanged.
[0086] (5) The computer device tampers the signature value of the hash value of the application data of the vehicle controller in the second file to obtain a test case.
[0087] The diagnostic APP of the computer device includes a tampering program, and the computer device tampers the signature value of the hash value of the application data through the tampering program to obtain a test case. For example, the computer device adds a signature value to the signature value of the hash value of the application data through the tampering program to obtain a test case; or the computer device deletes the signature value of the hash value of the application data through the tampering program to obtain a test case; or the computer device modifies the signature value of the hash value of the application data through the tampering program to obtain a test case.
[0088] When the computer device tampers the signature value of the hash value of the application data, other data remains unchanged, that is, the drive data, application data and calibration data of the vehicle controller in the first file remain unchanged, and the signature value of the hash value of the drive data in the second file remains unchanged and the signature value of the hash value of the calibration data in the second file remains unchanged.
[0089] (6) The computer device tampers the signature value of the hash value of the calibration data of the vehicle controller in the second file to obtain a test case.
[0090] The diagnostic APP of the computer device includes a tampering program, and the computer device tampers the signature value of the hash value of the calibration data through the tampering program to obtain a test case. For example, the computer device adds a signature value to the signature value of the hash value of the calibration data through the tampering program to obtain a test case; or the computer device deletes the signature value of the hash value of the calibration data through the tampering program to obtain a test case; or the computer device modifies the signature value of the hash value of the calibration data through the tampering program to obtain a test case.
[0091] The computer device keeps other data unchanged when tampering with the signature value of the hash value of the calibration data, that is, keeps the drive data, application data, and calibration data of the vehicle controller in the first file unchanged, and keeps the signature value of the hash value of the drive data in the second file unchanged and the signature value of the hash value of the application data in the second file unchanged.
[0092] For steps (4)-(6) above, the fourth file is a file obtained by tampering with the second file, and the third file is the same as the first file.
[0093] Since only one type of data is changed each time, the computer device generates multiple test cases through the diagnostic APP, and then attempts software refreshing of the multiple test cases in sequence. As long as there is a change, the vehicle controller is expected to recognize data anomalies and report an error to terminate the refreshing process.
[0094] In the embodiments of the present application, the computer device modifies only one place at a time when tampering with the software package, keeping other contents unchanged, so as to accurately test the verification capability of the vehicle controller.
[0095] It should be noted that the computer device executes the refreshing process based on each test case as soon as it is obtained, or the computer device obtains multiple test cases and then executes the refreshing process for the multiple test cases in sequence.
[0096] Step 203: The computer device performs software refreshing on the vehicle controller based on the multiple test cases through the vehicle controller, and obtains refreshing feedback information of the vehicle controller.
[0097] For any test case, the computer device decrypts the second file in the test case through the vehicle controller to obtain a first hash value of the original data; determines a hash value of the tampered first file in the test case to obtain a second hash value of the original data; and determines the refreshing feedback information based on the first hash value and the second hash value of the original data.
[0098] In one possible implementation, when the first hash value and the second hash value of the original data are different, the computer device determines that the refreshing feedback information is refreshing failure; and the refreshing feedback information includes a feedback opportunity and a feedback error code; the feedback opportunity is the verification phase; and the feedback error code is an error code corresponding to verification failure. When the first hash value and the second hash value of the original data are the same, the computer device determines that the refreshing feedback information is refreshing success.
[0099] Before the computer device performs the software refreshing on the vehicle controller based on the plurality of test cases to obtain the refreshing feedback information of the vehicle controller, the computer device can further verify the first file and the second file to determine the correctness of the first file and the second file, and only when it is determined that the first file and the second file are correct, the step 203 is performed. The process can be as follows:
[0100] The computer device decrypts the second file to obtain a third hash value of the original data, determines a hash value of the first file to obtain a fourth hash value of the original data, displays prompt information based on the third hash value and the fourth hash value of the original data, and the prompt information is used to prompt whether to perform the software refreshing on the vehicle controller. When a confirmation instruction of the prompt information is received, the computer device performs the software refreshing on the vehicle controller based on the plurality of test cases through the vehicle controller to obtain the refreshing feedback information of the vehicle controller.
[0101] The original data includes a part number of the vehicle controller, an application version identifier and a calibration version identifier. Correspondingly, the step of displaying the prompt information by the computer device based on the third hash value and the fourth hash value of the original data can be implemented by the following steps (1) and (3), comprising:
[0102] (1) When the third hash value and the fourth hash value of the part number of the vehicle controller are different, the computer device displays first prompt information, and the first prompt information is used to prompt whether to perform the software refreshing on the vehicle controller.
[0103] For example, please refer to Figure 4 When the computer device performs the software refreshing on the vehicle controller, the computer device generates a test refreshing file according to the test cases, saves the refreshing file under a fixed folder (for example, a newly created storage path), and then closes the CBF error correction capability and the RSA error correction capability of the computer device, and then automatically loads the refreshing file to perform the software refreshing process.
[0104] The computer device obtains the original CBF file and the RSA file, and then displays a setting interface, the setting interface including a first setting option, a second setting option and a third setting option. The first setting option is used to set a reset time, the second setting option is used to set AB partition information, and the third setting option is used to set rollback information. The user can input 11 seconds in the first setting option, input whether there is AB partition in the second setting option, and input whether to rollback in the third setting option. The computer device obtains the reset time, the AB partition information and the rollback information, and performs the test setting on the computer device based on the reset time, the AB partition information and the rollback information.
[0105] The computer device determines a report name of a test report to be generated, the naming manner of the report name of the test report is R156TestReport_(ECU name)_part number_supplier code.txt, whether there is a test report with the same name as the test report to be generated under the detection directory, in the case that there is a test report with the same name as the test report to be generated under the directory, a fourth prompt information is displayed, the fourth prompt information is used to prompt whether to continue testing on the original report, and the fourth prompt information includes a continue testing option and a exit testing option, in response to the exit testing option being triggered, the computer device exits the refreshing process and returns to the CBF file refreshing menu, and the user can select the CBF file based on the CBF refreshing menu, in response to the continue testing option being triggered, the computer device determines a test report updating manner, the test report updating manner includes covering a historical test report or updating on the historical test report, and the test report updating manner can be selected by the user.
[0106] For example, please refer to Figure 5 After the computer device determines the test report updating manner, a start refreshing option is displayed, in response to the start refreshing option being triggered, whether the third hash value and the fourth hash value of the part number of the vehicle controller are determined, in the case that the third hash value and the fourth hash value of the part number of the vehicle controller are not the same, the computer device displays a first prompt information, the first prompt information can be that the part number of the vehicle controller in the CBF file is inconsistent with the part number of the current vehicle controller, the part number of the current vehicle controller is AAAA, the part number of the vehicle controller in the CBF file is BBBB, whether to continue refreshing, in response to the user selecting to stop refreshing, the computer device returns to the file selection interface, so that the user selects the CBF file based on the file selection interface. In response to the user selecting to continue refreshing, whether the third hash value and the fourth hash value of the application version identifier of the vehicle controller are determined, and in the case that the third hash value and the fourth hash value of the part number of the vehicle controller are the same, whether the third hash value and the fourth hash value of the application version identifier of the vehicle controller are determined, in the case that the third hash value and the fourth hash value of the application version identifier of the vehicle controller are the same, step (2) is executed.
[0107] In the case that the third hash value and the fourth hash value of the application version identifier of the vehicle controller are not the same, the computer device displays a use case menu of a test case completed refreshing in the test report, the use case menu includes a completed test case according to the capability test result, and a verification capability identifier is displayed; for example, the vehicle controller corresponding to the completed test case has a verification capability, and an OK corresponding verification capability identifier is displayed; the vehicle controller corresponding to the completed test case does not have a verification capability, and an NOK corresponding verification capability identifier is displayed.
[0108] And, the corresponding position of the verification capability identifier of the vehicle controller corresponding to the test case is empty, and the verification capability identifier of the vehicle controller corresponding to the test case is interrupted as communication failure; and the unselected refresh file does not display the verification capability identifier of the vehicle controller corresponding to the test case.
[0109] For example, please continue to refer to Figure 5 For example, please continue to refer to
[0110] The use case menu further includes a traversal button. In response to the traversal button being triggered, the computer device prompts the user to make a supplementary selection. For example, for normal refresh: the one that needs to replace another version, whether to make a supplementary selection is displayed. In the case that the user selects to make a supplementary selection, a file selection interface is displayed, and the user can select a refresh file based on the file selection interface, and then execute a refresh process. In the case that the user selects not to make a supplementary selection, the test case selection interface is returned, so that the user reselects a test case. Alternatively, in the case that the user selects not to make a supplementary selection, the computer device determines whether to contain traversal of the version identifier ascending and descending. In the case that the user selects yes, the traversal is tested in turn in order, and finally normal refresh 1, normal refresh 2, test case 030_1 and test case 030_2 are tested. In the traversal mode, a refresh progress is displayed, and the NRC is automatically confirmed for 2 seconds. After confirmation, a stop button is displayed for 2 seconds. After timeout, it is automatically skipped.
[0111] (2) In the case that the third hash value and the fourth hash value of the application version identifier of the vehicle controller are the same, the computer device displays second prompt information, and the second prompt information is used to prompt that the application version identifier of the vehicle controller is the same, whether to perform software refresh.
[0112] The second prompt information can be that the application version identifier of the vehicle controller in the test case is the same as the original application version identifier of the vehicle controller, the application version identifier before refreshing is xx, the application version identifier after refreshing is xx, and whether to continue refreshing. In the case that the user selects to stop the refreshing process, the file selection interface is returned, so that the user reselects the CBF file based on the file selection interface. In the case that the user selects to continue the refreshing process, the computer device determines whether the third hash value and the fourth hash value of the calibration version identifier of the vehicle controller are the same, and in the case that the third hash value and the fourth hash value of the calibration version identifier of the vehicle controller are the same, step (3) is performed; in the case that the third hash value and the fourth hash value of the calibration version identifier of the vehicle controller are not the same, a use case menu of the test case that has completed refreshing in the test report is displayed.
[0113] (3) In the case that the third hash value and the fourth hash value of the calibration version identifier of the vehicle controller are the same, the computer device displays third prompt information, and the third prompt information is used to prompt whether to perform software refreshing in the case that the calibration version identifier of the vehicle controller is the same.
[0114] The second prompt information can be that the calibration version identifier of the vehicle controller in the test case is the same as the original calibration version identifier of the vehicle controller, the calibration version identifier before refreshing is xx, the calibration version identifier after refreshing is xx, and whether to continue refreshing. In the case that the user selects to stop the refreshing process, the file selection interface is returned, so that the user reselects the CBF file based on the file selection interface. In the case that the user selects to continue the refreshing process, the computer device displays a use case menu of the test case that has completed refreshing in the test report.
[0115] Step 204: The computer device determines the capability test result of the vehicle controller based on the refreshing feedback information, and the capability test result is used to indicate whether the vehicle controller has the checking capability of checking the validity and integrity of the test case.
[0116] The upgrade feedback information includes a feedback time and a feedback error code. Correspondingly, the step of determining the capability test result of the vehicle controller based on the upgrade feedback information can be: in the case that the feedback time is the same as the theoretical feedback time and the feedback error code is the same as the theoretical feedback error code, the computer device determines that the capability test result is that the vehicle controller has the checking capability; in the case that the feedback time is not the same as the theoretical feedback time or the feedback error code is not the same as the theoretical feedback error code, the computer device determines that the capability test result is that the vehicle controller does not have the checking capability.
[0117] For example, for the first test case, the computer device expects that the vehicle controller reports a flash exception at 36 or 37 or 3101D002 / DD02 when the vehicle controller is maliciously modifying the drive raw data during the 36 transmission or after the 36 transmission at the next step 37 service to 36 verification, or verifying the signature value of the drive, i.e., 36 or 37 or 3101D002 / DD02.
[0118] For example, referring to Figure 6 , the computer device selects a test case, determines whether there is a complete record of the test case in the test report; in the case that there is a complete record of the test case in the test report, the computer device displays a fifth prompt information, the fifth prompt information is used to prompt that the test case has been tested, whether to delete the historical test data of the test case and continue testing; in the case that the user selects no, the computer device returns to the test case selection interface; in the case that the user selects yes or there is no complete record of the test case in the test report, the computer device determines the flash feedback information based on the first hash value and the second hash value of the original data; for example, the computer device determines whether the first hash value of the application version identifier in the CBF and the second hash value of the application version identifier in the test case are the same, and determines whether the first hash value of the calibration version identifier in the CBF and the second hash value of the calibration version identifier in the test case are the same; in the case that the first hash value of the application version identifier in the CBF and the second hash value of the application version in the test case are not the same, or the first hash value of the calibration version identifier in the CBF and the second hash value of the calibration version identifier in the test case are not the same, the computer device obtains the flash feedback information, the flash feedback information is used to indicate that the flash fails.
[0119] After the computer device determines the flash feedback information, the computer device waits for reset based on the reset time; and in the process of waiting for reset, the computer device displays a sixth prompt information, the sixth prompt information is used to prompt that the reset is in progress, and then displays the flash feedback information. Moreover, the vehicle controller executes the flash process in the programming session mode; after the computer device displays the sixth prompt information, the computer device sends an exit instruction to the vehicle controller, the exit instruction is used to control the vehicle controller to exit the programming session mode and enter the normal running mode. For example, the exit instruction can be 7DF 10 81.
[0120] Moreover, the computer device also reads the application version identifier and the calibration version identifier in the CBF and the application version identifier and the calibration version identifier in the test case, and generates a test report based on the application version identifier and the calibration version identifier in the CBF and the application version identifier and the calibration version identifier in the test case.
[0121] Before or after generating the test report, the computer device re-reads the application version identifier and the calibration version identifier of the vehicle controller, updates the current application version identifier and the calibration version identifier of the vehicle controller to the re-read application version identifier and the calibration version identifier, so as to facilitate subsequent refreshing.
[0122] After the computer device generates the test report, the seventh prompt information is displayed, the seventh prompt information is used for prompting whether to continue testing other test cases; in a case where a user selects to continue testing other test cases, the test case selection interface is returned; in a case where the user selects to stop testing, the testing is ended.
[0123] In the embodiment of the present application, when the software of the vehicle controller is refreshed, the test cases are obtained by tampering with the software package of the vehicle controller; if the vehicle controller has a verification test, the vehicle controller will be wrong and terminate the software refreshing process when the software is refreshed based on the test cases; therefore, by obtaining the refreshing feedback information of the vehicle controller, it can be identified whether the vehicle controller has the verification capability of verifying the validity and integrity of the test cases. Based on the above analysis, it can be identified that the vehicle controller has the verification capability, so that when the vehicle enters the European Union and the European Union market, the vehicle controller hardware caused by the software problem of the vehicle controller can be avoided, the material cost, the labor cost and the cost of customer complaints caused by disassembling the vehicle are saved, and the after-sales service efficiency and the after-sales satisfaction of the vehicle are improved.
[0124] Please refer to Figure 7 which shows a block diagram of a capability testing device of a vehicle controller according to an example embodiment of the present application. The device comprises:
[0125] The obtaining module 701 is configured to obtain a software package of the vehicle controller when the software of the vehicle controller is refreshed, the software comprising a first file and a second file, the first file being configured to store original data to be flashed into the vehicle controller, and the second file being configured to store a signature value of a hash value of the original data.
[0126] The tampering module 702 is configured to tamper with any file in the software package to obtain a plurality of test cases of the vehicle controller, the test cases comprising a third file corresponding to the first file and a fourth file corresponding to the second file.
[0127] The refreshing module 703 is configured to refresh the software of the vehicle controller based on the plurality of test cases by the vehicle controller to obtain refreshing feedback information of the vehicle controller.
[0128] The test module 704 is configured to determine a capability test result of the vehicle controller based on the refresh feedback information, and the capability test result is used to indicate whether the vehicle controller has a checking capability of checking validity and integrity of the test case.
[0129] In a possible implementation, the refresh module 703 is configured to, for any test case, decrypt, by the vehicle controller, a fourth file in the test case to obtain a first hash value of the original data; determine a hash value of the third file in the test case to obtain a second hash value of the original data; and determine the refresh feedback information based on the first hash value and the second hash value of the original data.
[0130] In another possible implementation, the refresh module 703 is configured to decrypt the second file to obtain a third hash value of the original data; determine a hash value of the first file to obtain a fourth hash value of the original data; display prompt information based on the third hash value and the fourth hash value of the original data, the prompt information being used to prompt whether to perform software refresh on the vehicle controller; and when receiving a confirmation instruction of the prompt information, perform software refresh on the vehicle controller based on the plurality of test cases by the vehicle controller to obtain refresh feedback information of the vehicle controller.
[0131] In another possible implementation, the original data includes a part number, an application version identifier and a calibration version identifier of the vehicle controller.
[0132] The refresh module 703 is configured to, in a case where the third hash value and the fourth hash value of the part number of the vehicle controller are different, display first prompt information, the first prompt information being used to prompt whether to perform software refresh on the vehicle controller in a case where the part number of the vehicle controller is inconsistent; in a case where the third hash value and the fourth hash value of the application version identifier of the vehicle controller are same, display second prompt information, the second prompt information being used to prompt whether to perform software refresh on the vehicle controller in a case where the application version identifier of the vehicle controller is same; and in a case where the third hash value and the fourth hash value of the calibration version identifier of the vehicle controller are same, display third prompt information, the third prompt information being used to prompt whether to perform software refresh on the vehicle controller in a case where the calibration version identifier of the vehicle controller is same.
[0133] In another possible implementation, the original data includes driving data, application data and calibration data of the vehicle controller.
[0134] The tampering module 702 is configured to tamper with the drive data of the vehicle controller in the first file to obtain a test case, tamper with the application data of the vehicle controller in the first file to obtain a test case, and tamper with the calibration data of the vehicle controller in the first file to obtain a test case. The third file is a file obtained by tampering with the first file, and the fourth file is the same as the second file.
[0135] The tampering module 702 is configured to tamper with the signature value of the hash value of the drive data of the vehicle controller in the second file to obtain a test case, tamper with the signature value of the hash value of the application data of the vehicle controller in the second file to obtain a test case, and tamper with the signature value of the hash value of the calibration data of the vehicle controller in the second file to obtain a test case. The fourth file is a file obtained by tampering with the second file, and the third file is the same as the first file.
[0136] In another possible implementation, the upgrade feedback information includes a feedback time and a feedback error code.
[0137] The test module 704 is configured to determine that the capability test result is that the vehicle controller has the checking capability, in a case where the feedback time is the same as a theoretical feedback time and the feedback error code is the same as a theoretical feedback error code.
[0138] In the embodiments of the present application, when the vehicle controller is software refreshed, a test case is obtained by tampering with a software package of the vehicle controller. If the vehicle controller has a checking test, the vehicle controller will be erroneous and terminate the software refreshing process when the vehicle controller is software refreshed based on the test case. Therefore, the checking capability of the vehicle controller for checking the validity and integrity of the test case can be identified by obtaining the refreshing feedback information of the vehicle controller. Based on the above analysis, it can be known that the checking capability of the vehicle controller can be identified in the embodiments of the present application, so that the vehicle controller hardware caused by the software problem of the vehicle controller can be avoided when the vehicle enters the European Union and the European Union market, and the material cost, the labor cost, and the cost of complaints of customers caused by disassembling the vehicle are saved, and the after-sales service efficiency and the after-sales satisfaction of the vehicle are improved.
[0139] It should be noted that the vehicle controller capability testing apparatus provided by the above embodiment is only used for testing the capability of the vehicle controller by using the above-mentioned division of the functional modules, and in actual application, the above-mentioned functions can be completed by different functional modules according to the needs, that is, the internal structure of the computer device is divided into different functional modules to complete all or part of the above-mentioned functions. In addition, the vehicle controller capability testing apparatus and the vehicle controller capability testing method provided by the above embodiment belong to the same concept, and the specific implementation process is described in the method embodiment, which will not be described here.
[0140] Figure 8 is a structural diagram of a computer device according to an embodiment of the present application. The computer device 800 can be a portable mobile terminal, such as a smart phone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III), an MP4 player (Moving Picture Experts Group Audio Layer IV), a notebook computer or a desktop computer. The computer device 800 can also be referred to as a user device, a portable terminal, a laptop terminal, a desktop terminal, and other names.
[0141] Generally, the computer device 800 includes a processor 801 and a memory 802.
[0142] The processor 801 can include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like. The processor 801 can be implemented in the form of at least one of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), a PLA (Programmable Logic Array). The processor 801 can also include a main processor and a coprocessor. The main processor is a processor for processing data in an awake state, also known as a CPU (Central Processing Unit). The coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 801 can be integrated with a GPU (Graphics Processing Unit) for rendering and drawing content required to be displayed by the display screen. In some embodiments, the processor 801 can further include an AI (Artificial Intelligence) processor for processing machine learning related computing operations.
[0143] The memory 802 can include one or more computer-readable storage media that can be non-transitory. The memory 802 can also include a high-speed random access memory, and a nonvolatile memory such as one or more disk storage devices, flash storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 802 is used to store at least one program code for being executed by the processor 801 to implement the capability testing method of the vehicle controller provided by the method embodiments in the present application.
[0144] In some embodiments, the computer device 800 can also optionally include a peripheral device interface 803 and at least one peripheral device. The processor 801, the memory 802, and the peripheral device interface 803 can be connected through a bus or a signal line. Each peripheral device can be connected to the peripheral device interface 803 through a bus, a signal line, or a circuit board. Specifically, the peripheral device includes at least one of a radio frequency circuit 804, a display screen 805, a camera assembly 806, an audio circuit 807, and a power supply 808.
[0145] The peripheral interface 803 can be used to connect at least one I / O (Input / Output) related peripheral device to the processor 801 and the memory 802. In some embodiments, the processor 801, the memory 802 and the peripheral interface 803 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 801, the memory 802 and the peripheral interface 803 can be implemented on a separate chip or circuit board, and the present embodiments are not limited in this regard.
[0146] The radio frequency circuit 804 is used to receive and send RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuit 804 communicates with a communication network and other communication devices through electromagnetic signals. The radio frequency circuit 804 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals into electrical signals. Optionally, the radio frequency circuit 804 includes an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identity module card, and the like. The radio frequency circuit 804 can communicate with other terminals through at least one wireless communication protocol. The wireless communication protocol includes but is not limited to the World Wide Web, a metropolitan area network, an intranet, various generations of mobile communication networks (2G, 3G, 4G and 5G), a wireless local area network and / or a WiFi (Wireless Fidelity) network. In some embodiments, the radio frequency circuit 804 can also include NFC (Near Field Communication) related circuitry, and the present application is not limited in this regard.
[0147] The display screen 805 is configured to display a UI (User Interface). The UI can include graphics, text, icons, video, and any combination thereof. When the display screen 805 is a touch display screen, the display screen 805 is further configured to capture touch signals on or above the surface of the display screen 805. The touch signals can be input to the processor 801 as control signals for processing. In this case, the display screen 805 can also be configured to provide virtual buttons and / or virtual keyboard, also known as soft buttons and / or soft keyboard. In some embodiments, the display screen 805 can be one, disposed on the front panel of the computer device 800; in other embodiments, the display screen 805 can be at least two, respectively disposed on different surfaces of the computer device 800 or in a folding design; in other embodiments, the display screen 805 can be a flexible display screen, disposed on a curved surface or a folding surface of the computer device 800. Even, the display screen 805 can also be disposed in an irregular shape, i.e., a special-shaped screen. The display screen 805 can be made of LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode), etc.
[0148] The camera assembly 806 is configured to capture images or videos. Optionally, the camera assembly 806 includes a front camera and a rear camera. Typically, the front camera is disposed on the front panel of the terminal, and the rear camera is disposed on the back of the terminal. In some embodiments, the rear camera is at least two, which are any one of a main camera, a depth-of-field camera, a wide-angle camera, and a telephoto camera, to realize the background blur function by fusing the main camera and the depth-of-field camera, the panoramic shooting and VR (Virtual Reality) shooting function by fusing the main camera and the wide-angle camera, or other fusion shooting functions. In some embodiments, the camera assembly 806 can further include a flash. The flash can be a single-color-temperature flash or a dual-color-temperature flash. The dual-color-temperature flash refers to the combination of a warm light flash and a cold light flash, which can be used for light compensation under different color temperatures.
[0149] The audio circuit 807 can include a microphone and a speaker. The microphone is used to collect sound waves of the user and the environment, and convert the sound waves into an electrical signal input to the processor 801 for processing, or input to the radio frequency circuit 804 to realize voice communication. For the purpose of stereo sound collection or noise reduction, the microphone can be multiple, respectively arranged at different parts of the computer device 800. The microphone can also be an array microphone or an omnidirectional collection type microphone. The speaker is used to convert the electrical signal from the processor 801 or the radio frequency circuit 804 into sound waves. The speaker can be a conventional diaphragm speaker, or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, not only can it convert electrical signals into sound waves that humans can hear, but it can also convert electrical signals into sound waves that humans cannot hear for ranging purposes. In some embodiments, the audio circuit 807 can also include a headphone jack.
[0150] The power supply 808 is used to supply power to various components in the computer device 800. The power supply 808 can be alternating current, direct current, disposable battery or rechargeable battery. When the power supply 808 includes a rechargeable battery, the rechargeable battery can be a wired charging battery or a wireless charging battery. The wired charging battery is a battery charged through a wired line, and the wireless charging battery is a battery charged through a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0151] In some embodiments, the computer device 800 further includes one or more sensors 809. The one or more sensors 809 include, but are not limited to, an acceleration sensor 810, a gyroscope sensor 811, a pressure sensor 812, an optical sensor 813, and a proximity sensor 814.
[0152] The acceleration sensor 810 can detect the acceleration in three coordinate axes of the coordinate system established by the computer device 800. For example, the acceleration sensor 810 can be used to detect the components of the gravitational acceleration in three coordinate axes. The processor 801 can control the display screen 805 to display the user interface in a landscape view or a portrait view according to the gravitational acceleration signal collected by the acceleration sensor 810. The acceleration sensor 810 can also be used for game or user motion data collection.
[0153] The gyroscope sensor 811 can detect the body direction and rotation angle of the computer device 800, and the gyroscope sensor 811 can cooperate with the acceleration sensor 810 to collect 3D actions of the user on the computer device 800. The processor 801 can realize the following functions according to the data collected by the gyroscope sensor 811: motion sensing (such as changing the UI according to the user's tilt operation), image stabilization when shooting, game control, and inertial navigation.
[0154] The pressure sensor 812 can be arranged at the side frame of the computer device 800 and / or the lower layer of the display screen 805. When the pressure sensor 812 is arranged at the side frame of the computer device 800, the holding signal of the user to the computer device 800 can be detected, and the left-hand or right-hand recognition or shortcut operation can be performed by the processor 801 according to the holding signal collected by the pressure sensor 812. When the pressure sensor 812 is arranged at the lower layer of the display screen 805, the operability control on the UI interface can be controlled by the processor 801 according to the pressure operation of the user to the display screen 805. The operability control includes at least one of a button control, a scroll bar control, an icon control, and a menu control.
[0155] The optical sensor 813 is used to collect the ambient light intensity. In an embodiment, the processor 801 can control the display brightness of the display screen 805 according to the ambient light intensity collected by the optical sensor 813. Specifically, when the ambient light intensity is high, the display brightness of the display screen 805 is increased; when the ambient light intensity is low, the display brightness of the display screen 805 is decreased. In another embodiment, the processor 801 can also dynamically adjust the shooting parameters of the camera assembly 806 according to the ambient light intensity collected by the optical sensor 813.
[0156] The proximity sensor 814, also referred to as a distance sensor, is usually arranged at the front panel of the computer device 800. The proximity sensor 814 is used to collect the distance between the user and the front of the computer device 800. In an embodiment, when the proximity sensor 814 detects that the distance between the user and the front of the computer device 800 gradually decreases, the display screen 805 is switched from the bright screen state to the off-screen state by the processor 801; when the proximity sensor 814 detects that the distance between the user and the front of the computer device 800 gradually increases, the display screen 805 is switched from the off-screen state to the bright screen state by the processor 801.
[0157] Those skilled in the art can understand that the structure shown in the above embodiments does not constitute a limitation on the computer device 800, and the computer device 800 can include more or fewer components than those shown in the figure, or combine certain components, or adopt a different component arrangement. Figure 8 The structure shown in the above embodiments does not constitute a limitation on the computer device 800, and the computer device 800 can include more or fewer components than those shown in the figure, or combine certain components, or adopt a different component arrangement.
[0158] The embodiment of the present application further provides a computer readable storage medium, and at least one program code is stored in the computer readable storage medium. The at least one program code is loaded and executed by a processor to implement the capability testing method of the vehicle controller.
[0159] The embodiment of the present application further provides a computer program product, and at least one program code is stored in the computer program product. The at least one program code is loaded and executed by a processor to implement the capability testing method of the vehicle controller as shown in each of the above embodiments.
[0160] In some embodiments, the computer program product related to the embodiment of the present application can be deployed on a computer device for execution, or on multiple computer devices located in one place for execution, or on multiple computer devices distributed in multiple places and interconnected through a communication network for execution. The multiple computer devices distributed in multiple places and interconnected through a communication network can constitute a blockchain system.
[0161] Those skilled in the art can understand that all or part of the steps of the above-mentioned embodiments can be completed by hardware, or by program instructing relevant hardware to complete, and the program can be stored in a computer readable storage medium. The storage medium mentioned above can be a read-only memory, a magnetic disk or an optical disk.
[0162] The above is only to facilitate those skilled in the art to understand the technical solutions of the present application, and is not used to limit the present application. Any modification, equivalent replacement, improvement, etc. within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A method of testing capabilities of a vehicle controller, characterized by, The method comprises: When performing software refreshing on a vehicle controller, a software package of the vehicle controller is acquired, the software comprising a first file and a second file, the first file being used to store original data to be flashed into the vehicle controller, and the second file being used to store a signature value of a hash value of the original data; Any file in the software package is tampered with to obtain a plurality of test cases of the vehicle controller, the test cases comprising a third file corresponding to the first file and a fourth file corresponding to the second file; The vehicle controller is refreshed based on the plurality of test cases by the vehicle controller to obtain refreshing feedback information of the vehicle controller; Based on the refreshing feedback information, a capability test result of the vehicle controller is determined, the capability test result being used to indicate whether the vehicle controller has a checking capability of checking validity and integrity of the test cases.
2. The method of claim 1, wherein, The refreshing of the vehicle controller based on the plurality of test cases by the vehicle controller to obtain the refreshing feedback information of the vehicle controller comprises: For any test case, the fourth file in the test case is decrypted by the vehicle controller to obtain a first hash value of the original data; A hash value of the third file in the test case is determined to obtain a second hash value of the original data; Based on the first hash value and the second hash value of the original data, the refreshing feedback information is determined.
3. The method of claim 1, wherein, The refreshing of the vehicle controller based on the plurality of test cases by the vehicle controller to obtain the refreshing feedback information of the vehicle controller comprises: The second file is decrypted to obtain a third hash value of the original data; A hash value of the first file is determined to obtain a fourth hash value of the original data; Based on the third hash value and the fourth hash value of the original data, prompt information is displayed, the prompt information being used to prompt whether to perform software refreshing on the vehicle controller; When a confirmation instruction of the prompt information is received, the vehicle controller is refreshed based on the plurality of test cases by the vehicle controller to obtain the refreshing feedback information of the vehicle controller.
4. The method of claim 3, wherein, The original data comprises a part number, an application version identifier and a calibration version identifier of the vehicle controller; The display of the prompt information based on the third hash value and the fourth hash value of the original data comprises: In a case where the third hash value and the fourth hash value of the part number of the vehicle controller are different, first prompt information is displayed, the first prompt information being used to prompt whether to perform software refreshing in a case where the part number of the vehicle controller is inconsistent; In a case where the third hash value and the fourth hash value of the application version identifier of the vehicle controller are the same, second prompt information is displayed, the second prompt information being used to prompt whether to perform software refreshing in a case where the application version identifier of the vehicle controller is the same; In a case where the third hash value and the fourth hash value of the calibration version identifier of the vehicle controller are the same, third prompt information is displayed, the third prompt information being used to prompt whether to perform software refreshing in a case where the calibration version identifiers of the vehicle controller are the same.
5. The method of claim 1, wherein, The original data includes driving data, application data and calibration data of the vehicle controller. The tampering of any file in the software package obtains a plurality of test cases of the vehicle controller, including: The tampering of the driving data of the vehicle controller in the first file obtains a test case; the tampering of the application data of the vehicle controller in the first file obtains a test case; the tampering of the calibration data of the vehicle controller in the first file obtains a test case, the third file is a file obtained by tampering the first file, and the fourth file is the same as the second file; The tampering of the signature value of the hash value of the driving data of the vehicle controller in the second file obtains a test case; the tampering of the signature value of the hash value of the application data of the vehicle controller in the second file obtains a test case; the tampering of the signature value of the hash value of the calibration data of the vehicle controller in the second file obtains a test case, the fourth file is a file obtained by tampering the second file, and the third file is the same as the first file.
6. The method of claim 1, wherein, The upgrade feedback information includes a feedback time and a feedback error code; The determination of the capability test result of the vehicle controller based on the upgrade feedback information includes: In a case where the feedback time is the same as a theoretical feedback time and the feedback error code is the same as a theoretical feedback error code, it is determined that the capability test result is that the vehicle controller has the checking capability.
7. An apparatus for testing capabilities of a vehicle controller, characterized by The device includes: An acquisition module is configured to acquire a software package of a vehicle controller when performing software refreshing on the vehicle controller, the software including a first file and a second file, the first file being used to store original data to be flashed into the vehicle controller, and the second file being used to store a signature value of a hash value of the original data; A tampering module is configured to tamper any file in the software package to obtain a plurality of test cases of the vehicle controller, the test cases including a third file corresponding to the first file and a fourth file corresponding to the second file; A refreshing module is configured to perform software refreshing on the vehicle controller based on the plurality of test cases by the vehicle controller to obtain refreshing feedback information of the vehicle controller. A test module is configured to determine a capability test result of the vehicle controller based on the refreshing feedback information, the capability test result being used to indicate whether the vehicle controller has a checking capability of checking validity and integrity of the test cases.
8. A computer device, comprising: The computer device includes a processor and a memory, the memory storing at least one program code, the at least one program code being loaded and executed by the processor to implement the capability test method of the vehicle controller according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The storage medium stores at least one program code, and the at least one program code is loaded and executed by the processor to implement the capability test method of the vehicle controller as claimed in any one of claims 1 to 6.
10. A computer program product, characterised in that, The product stores at least one program code, and the at least one program code is used to be executed by the processor to implement the capability test method of the vehicle controller as claimed in any one of claims 1 to 6.