Instrument program startup method and apparatus, device, and storage medium
By only verifying some key programs of the vehicle's instrument system, the problem of excessively long startup time of the instrument system was solved, enabling fast startup and improving the user experience.
Patent Information
- Application Number
- PCT/CN2025/102322
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-24
- Filing Date
- 2025-06-20
- Publication Date
- 2026-01-02
AI Technical Summary
The vehicle's instrument cluster system performs a full program segment hash check during startup, resulting in an excessively long startup time and failing to meet users' requirements for fast startup.
When the instrument program starts, only some key programs are verified, including the integrity of the main boot program and the secondary boot program. The main program is started when the status and mode verification results are normal and in non-upgrade mode, reducing unnecessary verification steps.
While ensuring system safety, reduce the startup time of the vehicle's instrument system to improve the user experience.
Smart Images

Figure CN2025102322_02012026_PF_FP_ABST
Abstract
Description
Instrument program starting method, device, equipment and storage medium
[0001] The present application claims priority to the Chinese patent application No. 202410821176.7, filed on June 24, 2024, to the Chinese Patent Office, the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0002] Embodiments of the present application relate to the field of vehicle intelligent technology, for example, to an instrument program starting method, device, equipment and storage medium. BACKGROUND
[0003] With the development of vehicle intelligence, vehicle instrument systems also become more and more complex. In order to ensure the safety of system operation, the current common practice is to check the entire program segment when the system starts, such as hash check or checksum check. However, for such a complex system as an instrument, if the entire program segment is checked by hash check, it takes more than 10 seconds, so the entire system startup time cannot meet the user's requirement for fast startup. SUMMARY
[0004] Embodiments of the present application provide an instrument program starting method, device, equipment and storage medium, which can check only part of the key program when the vehicle instrument system starts, reduce the vehicle instrument system startup time while meeting the system operation safety requirements, and improve user experience.
[0005] In a first aspect, embodiments of the present application provide an instrument program starting method, applied to the scenario of starting an instrument program of a vehicle instrument system, wherein the instrument program includes a main boot program, a secondary boot program and a main program; wherein the secondary boot program includes a first secondary boot program and a second secondary boot program; the main program includes a first main program and a second main program; the first main program and the second main program are different versions of the same program; the method includes:
[0006] After receiving the instrument check instruction, the integrity of the first secondary boot program and the second secondary boot program is checked based on the main boot program, and the target secondary boot program is determined based on the integrity check result;
[0007] The current state and the current mode of the target secondary boot program are checked to obtain a state check result and a mode check result;
[0008] In the case that the state check result is a normal state and the mode check result is a non-upgrade mode, the main program corresponding to the target secondary boot program is started, and the instrument program starting step is completed.
[0009] In a second aspect, the embodiments of the present application provide an instrument program starting device, applied to a scenario of starting an instrument program of a vehicle instrument system, wherein the instrument program comprises a main boot program, a secondary boot program and a main program; the secondary boot program comprises a first secondary boot program and a second secondary boot program; the main program comprises a first main program and a second main program; the first main program and the second main program are different versions of the same program; the device comprises:
[0010] a secondary boot program determination module, configured to, after receiving an instrument verification instruction, verify the integrity of the first secondary boot program and the second secondary boot program based on the main boot program, and determine a target secondary boot program based on the integrity verification result;
[0011] a verification result determination module, configured to verify a current state and a current mode of the target secondary boot program to obtain a state verification result and a mode verification result;
[0012] a main program starting module, configured to, in a case where the state verification result is a normal state and the mode verification result is a non-upgrade mode, start the main program corresponding to the target secondary boot program, to complete an instrument program starting step.
[0013] In a third aspect, the embodiments of the present application provide a computer device, which comprises:
[0014] one or more processors;
[0015] a memory for storing one or more programs;
[0016] When the one or more programs are executed by the one or more processors, the one or more processors implement the instrument program starting method of any embodiment.
[0017] In a fourth aspect, the embodiments of the present application provide a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the instrument program starting method of any embodiment. BRIEF DESCRIPTION OF DRAWINGS
[0018] FIG. 1 is a flowchart of an instrument program starting method provided by the embodiments of the present application;
[0019] FIG. 2 is a flowchart of another instrument program starting method provided by the embodiments of the present application;
[0020] FIG. 3 is a structural schematic diagram of an instrument software system provided by the embodiments of the present application;
[0021] FIG. 4 is a structural schematic diagram of a main boot program module provided by the embodiments of the present application;
[0022] FIG. 5 is a structural diagram of a secondary boot program module according to an embodiment of the present application;
[0023] FIG. 6 is a work flow diagram of instrument program starting according to an embodiment of the present application;
[0024] FIG. 7 is a structural diagram of an instrument program starting device according to an embodiment of the present application;
[0025] FIG. 8 is a structural diagram of a computer device according to an embodiment of the present application. DETAILED DESCRIPTION
[0026] FIG. 1 is a flow diagram of an instrument program starting method according to an embodiment of the present application. The embodiment of the present application can be applied to the scenario of starting the program of a vehicle instrument system. The embodiment of the present application can be applied to the scenario of starting the instrument program of a vehicle instrument system. The instrument program includes a primary boot program, a secondary boot program and a main program. The secondary boot program includes a first secondary boot program and a second secondary boot program. The main program includes a first main program and a second main program. The first main program and the second main program are different versions of the same program. The method can be executed by an instrument program starting device. The device can be implemented by software and / or hardware.
[0027] As shown in FIG. 1, the instrument program starting method includes the following steps:
[0028] S110, after receiving an instrument verification instruction, verifying the integrity of the first secondary boot program and the second secondary boot program based on the primary boot program, and determining a target secondary boot program based on the integrity verification result.
[0029] The primary boot program can be a boot program in the instrument program that does not need to be verified. The primary boot program can be set by a person. The user can select some boot programs in the instrument program as the primary boot program. For example, some boot programs that are not prone to errors in the starting process can be selected as the primary boot program. In the starting process of the instrument program, it is not necessary to verify whether the primary boot program itself has errors, which can reduce the starting time of the software program. Correspondingly, the secondary boot program can be a boot program in the instrument program that needs to be verified. For example, the secondary boot program can also be selected by a person. For example, some boot programs that are prone to errors in the starting process can be selected as the secondary boot program. In the starting process of the instrument program, only the secondary boot program can be verified.
[0030] The instrument program can include a main bootloader, a secondary bootloader and a main program. The secondary bootloader includes a first secondary bootloader and a second secondary bootloader; the main program includes a first main program and a second main program. The first secondary bootloader can be a secondary bootloader of the first main program. Correspondingly, the second secondary bootloader can be a secondary bootloader of the second main program. The first main program and the second main program are different versions of the same program. The second main program can also be understood as a backup program of the first main program. In the verification process of the instrument program, if there is an error in the verification process of the first main program, the second main program can be enabled to ensure the normal start of the instrument program.
[0031] The integrity verification result can be a verification result of whether the secondary bootloader is complete. For example, since only one main program needs to be started, the integrity of one secondary bootloader can be verified first. If the integrity verification result is that the program is complete, the secondary bootloader that passes the verification can be used as the target secondary bootloader. For example, the integrity of the first secondary bootloader can be verified first. If the integrity verification result is that the program is complete, the first secondary bootloader can be used as the target secondary bootloader. The target secondary bootloader can be a secondary bootloader that passes the verification from the perspective of program integrity. The target secondary bootloader can be further verified from other perspectives. If the verification result is passed, the main program corresponding to the target secondary bootloader can be started.
[0032] S120, verifying the current state and the current mode of the target secondary bootloader to obtain a state verification result and a mode verification result.
[0033] The current state can be the current start state of the target secondary bootloader. The state verification result can be a verification result of whether the target secondary bootloader is successfully started. For example, the state verification result can be determined by a state identifier value corresponding to the target secondary bootloader. For example, the state identifier value of the target secondary bootloader can be a default value. If the target secondary bootloader is successfully started, the default value can be automatically adjusted to a start identifier value. The state verification result can be determined according to the state identifier value. If the state identifier value is the default value, the state verification result is determined to be an abnormal state. If the state verification result is the start identifier value, the state verification result is determined to be a normal state.
[0034] The mode check result can be a check result of whether the target boot program is in an upgrade mode. For example, the mode check result can be determined by a mode identifier value corresponding to the target secondary boot program. When the target secondary boot program is in the upgrade mode, the mode identifier value can be an upgrade mode identifier value; and when the target secondary boot program is in a non-upgrade mode, the mode identifier value can be a non-upgrade mode identifier value. When the target secondary boot program is in the upgrade mode, the mode identifier value can be automatically adjusted to the upgrade mode identifier value, and when the target secondary boot program is upgraded successfully, the mode identifier value can be automatically adjusted to the non-upgrade mode identifier value. When the mode identifier value is the upgrade mode identifier value, it can be determined that the mode check result is the upgrade mode, and when the mode identifier value is the non-upgrade mode identifier value, it can be determined that the mode check result is the non-upgrade mode. When the mode check result is the upgrade mode, subsequent program version upgrade needs to be performed, and thus normal program startup cannot be performed.
[0035] In a case where the state check result is the normal state and the mode check result is the non-upgrade mode, a main program corresponding to the target secondary boot program is started, and an instrument program startup step is completed.
[0036] In a case where the state check result is the normal state and the mode check result is the non-upgrade mode, it is indicated that the target boot program has been normally started and does not need to be upgraded, and thus, in a case where the state check result is the normal state and the mode check result is the non-upgrade mode, the main program corresponding to the target secondary boot program can be started, and the instrument program startup step can be completed.
[0037] The embodiment of the present application checks the integrity of the first boot program and the second boot program based on the main boot program after receiving the instrument check instruction, determines the target secondary boot program based on the integrity check result, checks the current state and the current mode of the target secondary boot program to obtain a state check result and a mode check result, and in a case where the state check result is the normal state and the mode check result is the non-upgrade mode, starts the main program corresponding to the target secondary boot program to complete the instrument program startup step. The embodiment of the present application solves the problem of long vehicle instrument system startup time in the related art, can check only part of key programs when starting, meets the requirement of system operation safety, reduces the vehicle instrument system startup time, and improves user experience.
[0038] FIG. 2 is a flowchart of another instrument program starting method according to an embodiment of the present application. The embodiment of the present application can be applied to the scenario of starting the program of the vehicle instrument system. The instrument program includes a main bootstrap program, a secondary bootstrap program, and a main program. The secondary bootstrap program includes a first secondary bootstrap program and a second secondary bootstrap program. The main program includes a first main program and a second main program. The first main program and the second main program are different versions of the same program. The embodiment is based on the above-mentioned embodiment and explains how to check the integrity of the first secondary bootstrap program and the second secondary bootstrap program based on the main bootstrap program, determine the target secondary bootstrap program based on the integrity check result, and check the current state and the current mode of the target secondary bootstrap program to obtain the state check result and the mode check result. The device can be realized by software and / or hardware and integrated into a computer device with application development function.
[0039] As shown in FIG. 2, the instrument program starting method includes the following steps:
[0040] S210, after receiving the instrument check instruction, obtaining the first program identification information and the first program check value of the first secondary bootstrap program, and determining the first preset check value corresponding to the first secondary bootstrap program based on the first program identification information.
[0041] The main bootstrap program can be a bootstrap program in the instrument program that does not need to be checked. The main bootstrap program can be set by a person. The user can select some bootstrap programs in the instrument program as the main bootstrap program. For example, some bootstrap programs that are not prone to errors during the starting process can be selected as the main bootstrap program. In the starting process of the instrument program, it is not necessary to check whether the main bootstrap program itself has errors, which can reduce the starting time of the software program. Correspondingly, the secondary bootstrap program can be a bootstrap program in the instrument program that needs to be checked. For example, the secondary bootstrap program can also be selected by a person. For example, some bootstrap programs that are prone to errors during the starting process can be selected as the secondary bootstrap program. In the starting process of the instrument program, only the secondary bootstrap program can be checked.
[0042] The instrument program can include a main bootstrap program, a secondary bootstrap program, and a main program. The secondary bootstrap program includes a first secondary bootstrap program and a second secondary bootstrap program. The main program includes a first main program and a second main program. The first secondary bootstrap program can be the secondary bootstrap program of the first main program. Correspondingly, the second secondary bootstrap program can be the secondary bootstrap program of the second main program. The first main program and the second main program are different versions of the same program. The second main program can also be understood as the backup program of the first main program. In the checking process of the instrument program, if there is an error in the checking process of the first main program, the second main program can be enabled to ensure the normal starting of the instrument program.
[0043] The first program identification information can be unique identity information of the first boot program. The first program identification information can be set by a human being or determined automatically after program upgrade. The first program check value can be a check value of the first boot program used for program check. The first program check value can be set by a human being or determined automatically after program upgrade. The first preset check value can be a reference check value used for checking the first boot program. For example, a check value corresponding to the first program identification information can be matched from a preset database, and the matched check value can be taken as the first preset check value.
[0044] S220, in the case where the first program check value and the first preset check value are the same, taking the first boot program as the target secondary boot program.
[0045] In some embodiments, the first program check value and the first preset check value can be compared, and if the two check values are the same, it indicates that the first boot program check is successful. Therefore, in the case where the first program check value and the first preset check value are the same, the first boot program can be taken as the target secondary boot program. The target secondary boot program can be a secondary boot program that is successfully checked from the check value perspective.
[0046] Optionally, in the case where the first program check value and the first preset check value are not the same, the second program identification information and the second program check value of the second boot program can also be obtained; based on the second program identification information, the second preset check value corresponding to the second boot program is determined; and in the case where the second program check value and the second preset check value are the same, the second boot program is taken as the target secondary boot program.
[0047] Optionally, in the case where the second program check value and the second preset check value are not the same, program startup failure information can also be displayed on a preset display interface.
[0048] S230, obtaining a state identification value of the target secondary boot program, and determining the state check result according to the state identification value.
[0049] The state identification value can be an identification value indicating the startup state of the target secondary boot program. The mode check result can be a check result of whether the target boot program is in an upgrade mode. For example, the state identification value of the target secondary boot program can be a default value, which can be automatically adjusted to a startup identification value in the case where the target secondary boot program is successfully started, and then the state check result can be determined according to the state identification value. For example, in the case where the state identification value is the default value, the state check result is determined to be an abnormal state, and in the case where the state check result is the startup identification value, the state check result can be determined to be a normal state.
[0050] Optionally, in the case that the state check result is an abnormal state, the second main program can be started.
[0051] In the case that the state check result is an abnormal state, it indicates that the first boot program fails to start, i.e. the first main program cannot be started through the first boot program, and in order to ensure the normal start of the instrument program, the second main program can be started.
[0052] S240, in the case that the state check result is the normal state, the mode identification value of the target secondary boot program is obtained, and the mode check result is determined according to the mode identification value.
[0053] The mode identification value can be an identification value for indicating whether the target secondary boot program is currently in an upgrade mode. For example, in the case that the target secondary boot program is in the upgrade mode, the mode identification value can be an upgrade mode identification value. In the case that the target secondary boot program is in a non-upgrade mode, the mode identification value thereof can be a non-upgrade mode identification value. For example, in the case that the target secondary boot program is in the upgrade mode, the mode identification value thereof can be automatically adjusted to the upgrade mode identification value, and when the boot program is successfully upgraded, the mode identification value thereof can be automatically adjusted to the non-upgrade mode identification value. Therefore, the mode check result can be determined according to the mode identification value. For example, in the case that the mode identification value is the upgrade mode identification value, it can be determined that the mode check result is the upgrade mode, and in the case that the mode identification value is the non-upgrade mode identification value, it can be determined that the mode check result is the non-upgrade mode. In the case that the mode check result is the upgrade mode, subsequent program version upgrade needs to be performed, and therefore the program start cannot be normally performed.
[0054] Optionally, in the case that the mode check result is the upgrade mode, an upgrade program for the second main program is started, so that the second main program upgrades the program data based on the upgrade program. The program upgrade can be an upgrade of the entire instrument program, and after the upgrade, the start step of the instrument program can be restarted. By starting the upgrade program for the second main program in the case that the mode check result is the upgrade mode, in the case of power failure in the middle, the integrity of the target secondary boot program can still be ensured, and the upgrade state can still be normally entered and re-upgraded.
[0055] S250, in the case that the state check result is the normal state and the mode check result is the non-upgrade mode, the main program corresponding to the target secondary boot program is started, and the instrument program start step is completed.
[0056] In the case that the state check result is normal state and the mode check result is non-upgrade mode, it indicates that the target boot program has been normally started and does not need to be upgraded, and therefore, the main program corresponding to the target secondary boot program can be started in the case that the state check result is normal state and the mode check result is non-upgrade mode, to complete the instrument program starting step.
[0057] In order to better understand the embodiments of the present application, an example is provided as follows:
[0058] The instrument software system is divided into three parts: the main boot program area, the secondary boot program area and the main program area. For example, FIG. 3 is a structural schematic diagram of an instrument software system provided by an embodiment of the present application. As shown in FIG. 3: the secondary boot program area and the main program area each contain two sides A and B. In design, the main boot program, the secondary boot program and the main program are three independent projects, and they are independent of each other without interaction, reducing system coupling and improving system stability and security. The programs are introduced as follows:
[0059] Main boot program:
[0060] The main boot program is only responsible for determining whether to start the secondary boot program side A or the secondary boot program side B, checking the integrity of the secondary boot program and performing jump. The main boot program is relatively stable and will not change, and therefore the main boot program is stored in the One Time Programmable (OTP) area, which is a one-time programmable area and a safe area of the system and will not be damaged. The system is directly diverted to the OTP area to run the main boot program upon power-on.
[0061] The main boot program contains the following key data, which needs to be saved after power failure, and these data also need to be updated when the state changes. The present application saves these state data in the Data Flash:
[0062] BootFlag: boot program AB side identification bit, used to determine whether to jump to the A side or the B side of the secondary boot program;
[0063] BootSigA and BootSigB: check values of the secondary boot program A side and B side; when the program is upgraded, the header of the upgraded version needs to contain the check value, and the check value is updated after successful upgrade.
[0064] The present application only checks the integrity of the secondary boot program. For the instrument controller, there is a strict requirement for the start-up time. When the user unlocks the vehicle and opens the driver's door to enter the vehicle, the instrument controller needs to display the information required by the user. If the entire system software including the boot program and the application are checked, the required time process test data is shown in Table 1:
[0065]
[0066] Based on the test data in Table 1, the instrument controller only checks the secondary boot program.
[0067] The main boot program flow is as follows:
[0068] The main boot program is stored in the OTP area, and the system directly enters the trusted program entry after power on.
[0069] Read the BootFlag value, judge the running secondary boot program AB face identification, and assume the value is A face.
[0070] Check the integrity of the secondary boot program A face, compare the check value with the stored BootSigA value, if equal, jump to the boot program A face entry.
[0071] If not equal, check the integrity of the secondary boot program B face, compare the check value with the stored BootSigB value, if equal, jump to the boot program B face entry.
[0072] If not equal, it means that the secondary boot program is wrong, and the program exits.
[0073] Figure 4 is a structural schematic diagram of a main boot program module provided by an embodiment of the application.
[0074] The main boot program module is described as shown in Table 2:
[0075]
[0076] The main boot program only involves checking and program jumping, only contains necessary drivers and algorithm library, occupies small program space, and has short running time. It meets the requirements of fast start of the instrument system.
[0077] Secondary boot program:
[0078] The main responsibility of the secondary boot program is to judge whether the upgrade mode is triggered, and the non-upgrade mode directly jumps to the main program, and the upgrade mode upgrades the corresponding area. The secondary boot program is divided into A face and B face. Since the secondary boot program contains an upgrade module, there is a possibility of changing the upgrade protocol or upgrade requirement, so the secondary boot program is backed up as AB two faces. The secondary boot program A face corresponds to the main program A face, and the secondary boot program B face corresponds to the main program B face.
[0079] The secondary boot program contains the following key data, which needs to be saved after power failure, and these data also need to be updated when the state changes. The application saves these state data in the Data Flash:
[0080] Reboot_Flag: record system startup state, Reboot_Flag value is default for failure. When the watchdog or other reasons cause system reboot, Reboot_Flag is still failure, when the whole instrument system is correctly started, Reboot_Flag is set to success. By detecting the startup state, it can be judged whether the system startup is normal.
[0081] Status_Flag: status flag; when the following several cases occur, the status flag is recorded as error:
[0082] Upgrade data download failure: (download failure, still failure after retrying 3 times);
[0083] Upgrade data verification failure: (verification failure, still failure after retrying 3 times);
[0084] Upgrade data flashing failure: (flashing failure, still failure after retrying 3 times);
[0085] System startup failure: (detect Reboot_Flag state);
[0086] When it is detected that the status flag value is error, it indicates that the current running area has a problem, then switch to another side to run, to ensure that the system can still run normally.
[0087] During upgrading, the received upgrade package will be upgraded data verification, data flashing state detection during upgrading, and data verification after upgrading is completed. If any of the above processes fails, an error will be recorded. The identification bit is judged every time the system is started, to ensure the normal running of the main program. Although there is no integrity check of the main program in the main boot program, the correct running of the main program is ensured through the identification bit.
[0088] ModeFlag: startup mode flag bit, judge whether it is in upgrade mode, after successful upgrading, it is rewritten to normal startup mode;
[0089] The secondary boot program flow is:
[0090] Suppose it is turned to the secondary boot program A entrance, the secondary boot program B and A running flow is the same. Read the Status_Flag value, judge the main program running state, if error, jump to the main program B entrance.
[0091] If running correctly, judge the ModeFlag value, check the startup mode, if it is upgrade mode, perform B side upgrading, and keep A side.
[0092] Fig. 5 is a structure schematic diagram of a secondary boot program module provided by an embodiment of the application.
[0093] The description of the secondary boot program module is shown in Table 3:
[0094]
[0095] The secondary boot program only judges the flag bit in the non-upgrade mode, and the starting time is very short, which meets the requirement of fast starting of the instrument system. In the upgrade mode, only necessary drivers are included, so as to reduce the program occupation space.
[0096] The main program:
[0097] After the instrument system is started and the first frame of screen is displayed, the system starting state Reboot_Flag is set as success.
[0098] The main program flow is as follows:
[0099] Suppose that the main program A entrance is turned to, and the main program B and A have the same running flow. After the first frame of screen is displayed, the system starting state Reboot_Flag is set as success.
[0100] For example, FIG. 6 is a work flow diagram for starting the instrument program according to an embodiment of the present application. As shown in FIG. 6, the work flow for starting the instrument program includes the following steps:
[0101] For the main boot program, the secondary boot program AB face flag is acquired first (suppose that the current is A face), the secondary boot program A face integrity is checked, in the case of A face integrity, the secondary boot program A face entrance is jumped to, in the case of A face not being complete, the secondary boot program A face failure is recorded, the secondary boot program B face integrity is checked again, in the case of B face integrity, the secondary boot program B face entrance is jumped to, in the case of B face not being complete, the secondary boot program B face failure is recorded, and the program starting step is ended.
[0102] For the secondary boot program A face, the running state is checked first, if the running state is not normal, the B face main program entrance is jumped to; if the running state is normal, the subsequent starting mode is checked, whether it is the upgrade mode is determined, if not, the A face main program entrance is jumped to, if yes, the B face upgrade is performed.
[0103] Correspondingly, for the secondary boot program B face, the running state is checked first, if the running state is not normal, the A face main program entrance is jumped to; if the running state is normal, the subsequent starting mode is checked, whether it is the upgrade mode is determined, if not, the B face main program entrance is jumped to, if yes, the A face upgrade is performed.
[0104] The embodiment of the application obtains the first program identification information and the first program check value of the first boot program after receiving the instrument check instruction, determines the first preset check value corresponding to the first boot program based on the first program identification information, takes the first boot program as the target secondary boot program in the case that the first program check value is the same as the first preset check value, obtains the state identification value of the target secondary boot program, and determines the state check result according to the state identification value, obtains the mode identification value of the target secondary boot program in the case that the state check result is the normal state, and determines the mode check result according to the mode identification value, starts the main program corresponding to the target secondary boot program in the case that the state check result is the normal state and the mode check result is the non-upgrade mode, and completes the instrument program starting step. The embodiment of the application solves the problem of long starting time of the vehicle instrument system in the related art, can check only part of the key programs when starting, reduces the starting time of the vehicle instrument system while meeting the requirement of system operation safety, and improves the user experience.
[0105] Fig. 7 is a structural schematic diagram of an instrument program starting device provided by the embodiment of the application. The embodiment of the application can be applied to the scene of starting the program of the vehicle instrument system, wherein the instrument program includes a main boot program, a secondary boot program and a main program; the secondary boot program includes a first boot program and a second boot program; the main program includes a first main program and a second main program; the first main program and the second main program are different versions of the same program; and the device can be realized by software and / or hardware, and integrated in a computer device with application development function.
[0106] As shown in Fig. 7, the instrument program starting device includes a road information obtaining module 310, a check result determining module 320 and a main program starting module 330.
[0107] The secondary boot program determining module 310 is configured to check the integrity of the first boot program and the second boot program based on the main boot program after receiving the instrument check instruction, and determine the target secondary boot program based on the integrity check result; the check result determining module 320 is configured to check the current state and the current mode of the target secondary boot program to obtain the state check result and the mode check result; and the main program starting module 330 is configured to start the main program corresponding to the target secondary boot program in the case that the state check result is the normal state and the mode check result is the non-upgrade mode, and complete the instrument program starting step.
[0108] The embodiment of the present application verifies the integrity of the first boot program and the second boot program based on the main boot program after receiving the instrument verification instruction, and determines the target secondary boot program based on the integrity verification result; the current state and the current mode of the target secondary boot program are verified to obtain a state verification result and a mode verification result; in the case that the state verification result is a normal state and the mode verification result is a non-upgrade mode, the main program corresponding to the target secondary boot program is started, and the instrument program starting step is completed. The embodiment of the present application solves the problem of long vehicle instrument system starting time in the related art, can verify only part of the key program when starting, reduces the vehicle instrument system starting time while meeting the system operation safety requirement, and improves the user experience.
[0109] In some embodiments, the secondary boot program determination module 310 includes a first program determination unit configured to: obtain first program identification information and a first program verification value of the first boot program; determine a first preset verification value corresponding to the first boot program based on the first program identification information; and in the case that the first program verification value and the first preset verification value are the same, take the first boot program as the target secondary boot program.
[0110] In some embodiments, the secondary boot program determination module 310 further includes a second program determination unit configured to: in the case that the first program verification value and the first preset verification value are not the same, obtain second program identification information and a second program verification value of the second boot program; determine a second preset verification value corresponding to the second boot program based on the second program identification information; and in the case that the second program verification value and the second preset verification value are the same, take the second boot program as the target secondary boot program.
[0111] In some embodiments, the verification result determination module 320 is configured to: obtain a state identification value of the target secondary boot program, and determine the state verification result according to the state identification value; wherein the state verification result includes a normal state and an abnormal state; in the case that the state verification result is the normal state, obtain a mode identification value of the target secondary boot program, and determine the mode verification result according to the mode identification value; wherein the mode verification result includes an upgrade mode and a non-upgrade mode.
[0112] In some embodiments, the instrument program starting apparatus further includes an abnormal state processing module configured to: in the case that the state verification result is the abnormal state, start the second main program.
[0113] In some embodiments, the instrument program starting apparatus further comprises a program upgrading module configured to, in the case that the mode verification result is the upgrading mode, start an upgrading program for the second main program, so that the second main program upgrades program data based on the upgrading program.
[0114] In some embodiments, the instrument program starting apparatus further comprises a starting state display module configured to, in the case that the second program verification value and the second preset verification value are not identical, display program starting failure information on a preset display interface.
[0115] The instrument program starting apparatus provided by the embodiments of the present application can execute the instrument program starting method provided by any of the embodiments of the present application, and has the corresponding function modules and beneficial effects of the execution method.
[0116] FIG. 8 is a structural schematic diagram of a computer device provided by an embodiment of the present application. FIG. 8 shows a block diagram of an exemplary computer device 12 suitable for implementing the embodiments of the present application. The computer device 12 shown in FIG. 8 is an example. The computer device 12 can be any terminal device with computing capability, and can be configured in an instrument program starting apparatus.
[0117] As shown in FIG. 8, the computer device 12 is in the form of a general-purpose computing device. The components of the computer device 12 can include one or more processors or processing units 16, a system memory 28, and a bus 18 that connects the different system components (including the system memory 28 and the processing unit 16).
[0118] The bus 18 can be one or more of several types of bus structures including a memory bus or memory controller, a peripheral bus, a graphics acceleration bus, a processor or local bus using any of a variety of bus architectures including Industry Standard Architecture (ISA), Micro Channel Architecture (MCA), Enhanced ISA (EISA), Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
[0119] The computer device 12 typically includes a variety of computer system readable media. Such media can be any available media that is accessible by the computer device 12 and includes both volatile and non-volatile media, removable and non-removable media.
[0120] System memory 28 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache 32. Computer device 12 can further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 can be provided for reading from and writing to a non-removable, non-volatile magnetic media (typically called a "hard drive"). A magnetic disk drive can also be provided for reading from and writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive can be provided for reading from or writing to a removable, non-volatile optical disk (e.g., a "compact disk" or "CD", "DVD", or other optical media). In these instances, each can be connected to bus 18 by one or more data media interfaces. As will be further depicted and described below, memory can include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the application.
[0121] Program / utility 40 having a set (at least one) of program modules 42 can be stored in system memory 28 by way of example, such programs / modules include an operating system, one or more application programs, other program modules, and program data, each or some combination thereof, which can include implementation of a network environment. Program modules 42 generally carry out the functions and / or methodologies of embodiments of the application as described herein.
[0122] Computer device 12 can also communicate with one or more external devices 14 such as a keyboard, a pointing device, a display 24, etc.; one or more devices that enable a user to interact with computer device 12; and / or any devices (e.g., network card, modem, etc.) that enable computer device 12 to communicate with one or more other computing devices. Such communication can occur via Input / Output (I / O) interface(s) 22. Still yet, computer device 12 can communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or the Internet) through network adapter 20. As depicted, network adapter 20 communicates with the other components of computer device 12 via bus 18. It should be appreciated that other hardware and / or software modules can be used in conjunction with computer device 12. Examples include microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.
[0123] Processing unit 16 performs various function applications and data processing by running programs stored in system memory 28, such as implementing the instrument program starting method provided by the embodiments of the present application, which is applied to the scenario of starting an instrument program of a vehicle instrument system, wherein the instrument program includes a main boot program, a secondary boot program, and a main program; wherein the secondary boot program includes a first secondary boot program and a second secondary boot program; the main program includes a first main program and a second main program; the first main program and the second main program are different versions of the same program; and the method includes:
[0124] Upon receiving the instrument verification instruction, verifying the integrity of the first secondary boot program and the second secondary boot program based on the main boot program, and determining a target secondary boot program based on the integrity verification result;
[0125] verifying the current state and the current mode of the target secondary boot program to obtain a state verification result and a mode verification result;
[0126] In the case that the state verification result is a normal state and the mode verification result is a non-upgrade mode, starting the main program corresponding to the target secondary boot program to complete the instrument program starting step.
[0127] The embodiment provides a computer readable storage medium, which stores a computer program, and the program is executed by a processor to implement an instrument program starting method provided by any embodiment of the application, and is applied to a scenario of starting an instrument program of a vehicle instrument system, wherein the instrument program comprises a main boot program, a secondary boot program and a main program; the secondary boot program comprises a first secondary boot program and a second secondary boot program; the main program comprises a first main program and a second main program; the first main program and the second main program are different versions of the same program; and the method comprises the following steps of:
[0128] After receiving the instrument verification instruction, the integrity of the first secondary boot program and the second secondary boot program is verified based on the main boot program, and a target secondary boot program is determined based on a verification result of the integrity.
[0129] The current state and the current mode of the target secondary boot program are verified to obtain a state verification result and a mode verification result.
[0130] In a case where the state verification result is a normal state and the mode verification result is a non-upgrade mode, a main program corresponding to the target secondary boot program is started, and an instrument program starting step is completed.
[0131] The computer storage medium of the embodiment of the application can adopt any combination of one or more computer readable media. The computer readable medium can be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium can be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or component, or any combination thereof. Examples of the computer readable storage medium include, for example, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read only memory (ROM), an erasable programmable read only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read only memory (CD-ROM), an optical storage device, a magnetic storage device, or any appropriate combination thereof. In this document, the computer readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, device or component.
[0132] A computer readable signal medium can include a propagated data signal with computer executable code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal can take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium can be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate or transport programming code.
[0133] Program code embodied on a computer readable medium can be transmitted using any appropriate medium, including but not limited to wireless, wire line, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0134] Computer program code for carrying out operations for aspects of the present application can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).
[0135] Those skilled in the art will appreciate that the infrastructure of the present application as described above can be implemented with general computing devices, which can be centralized on a single computing device or distributed over a network of multiple computing devices. Alternatively, they can be implemented with program codes executable by a computing device, which can be stored in a storage device for execution by the computing device, or they can be implemented as individual integrated circuit modules, or a plurality of the modules or steps can be implemented as a single integrated circuit module. Thus, the present application is not limited to any particular combination of hardware and software.
Claims
1. An instrument program startup method, applied in a scenario of starting the instrument program of a vehicle instrument system, wherein, The instrument program includes a main boot program, a secondary boot program, and a main program; wherein, the secondary boot program includes a first boot program and a second boot program; the main program includes a first main program and a second main program; the first main program and the second main program are different versions of the same program; the method includes: Upon receiving the instrument calibration command, the integrity of the first and second boot programs is verified based on the main boot program, and the target secondary boot program is determined based on the integrity verification result. The current state and current mode of the target secondary bootstrap program are verified to obtain the state verification result and the mode verification result. If the status verification result is normal and the mode verification result is non-upgrade mode, start the main program corresponding to the target secondary boot program to complete the instrument program startup steps.
2. The method according to claim 1, wherein, The step of verifying the integrity of the first and second boot programs based on the main boot program, and determining the target secondary boot program based on the integrity verification result, includes: Obtain the first program identifier information and the first program verification value of the first boot program; Based on the first program identification information, a first preset verification value corresponding to the first boot program is determined; If the first program verification value and the first preset verification value are the same, the first boot program will be used as the target second boot program.
3. The method according to claim 2, wherein, The step of verifying the integrity of the first and second boot programs based on the main boot program, and determining the target secondary boot program based on the integrity verification result, further includes: If the first program verification value and the first preset verification value are different, obtain the second program identification information and the second program verification value of the second boot program; Based on the second program identification information, the second preset verification value corresponding to the second boot program is determined; If the second program verification value and the second preset verification value are the same, the second boot program will be used as the target boot program.
4. The method according to claim 1, wherein, The process of verifying the current state and current mode of the target sub-bootstrap program to obtain state verification results and mode verification results includes: Obtain the status identifier value of the target secondary bootloader, and determine the status verification result based on the status identifier value; wherein, the status verification result includes normal status and abnormal status; If the status verification result is the normal status, the mode identifier value of the target secondary bootloader is obtained, and the mode verification result is determined based on the mode identifier value; wherein, the mode verification result includes upgrade mode and non-upgrade mode.
5. The method according to claim 4, further comprising: If the status verification result is an abnormal status, the second main program is started.
6. The method according to claim 4, further comprising: If the mode verification result is the upgrade mode, the upgrade program for the second main program is started so that the second main program can upgrade its program data based on the upgrade program.
7. The method according to claim 3, further comprising: If the second program verification value and the second preset verification value are different, a program startup failure message will be displayed on the preset display interface.
8. An instrument program initiation device, applied in a scenario of initiating the instrument program of a vehicle instrument system, wherein, The instrument program includes a main boot program, a secondary boot program, and a main program; wherein, the secondary boot program includes a first boot program and a second boot program; the main program includes a first main program and a second main program; the first main program and the second main program are different versions of the same program; the device includes: The secondary boot program determination module is configured to, upon receiving an instrument calibration command, verify the integrity of the first and second boot programs based on the main boot program, and determine the target secondary boot program based on the integrity verification result. The verification result determination module is configured to verify the current state and current mode of the target secondary boot program, and obtain the state verification result and the mode verification result. The main program startup module is configured to start the main program corresponding to the target secondary boot program and complete the instrument program startup steps when the status verification result is normal and the mode verification result is non-upgrade mode.
9. A computer device, comprising: One or more processors; Memory, used to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the instrument program startup method as described in any one of claims 1-7.
10. A computer-readable storage medium storing a computer program that, when executed by a processor, implements the instrument program startup method as described in any one of claims 1-7.
Citation Information
Patent Citations
Program verification method and device and program upgrading method and device
CN111625840A
Vehicle ECU data updating verification method and device
CN117149507A
Application program starting method and device, electronic equipment and storage medium
CN117235707A
Instrument program starting method and device, equipment and storage medium
CN118796284A
Information processing apparatus, and method of controlling the same
US20200104211A1