CN107402847B - Remote upgrading method and system for vehicle control unit software - Google Patents

Remote upgrading method and system for vehicle control unit software Download PDF

Info

Publication number
CN107402847B
CN107402847B CN201710631681.5A CN201710631681A CN107402847B CN 107402847 B CN107402847 B CN 107402847B CN 201710631681 A CN201710631681 A CN 201710631681A CN 107402847 B CN107402847 B CN 107402847B
Authority
CN
China
Prior art keywords
software
storage area
remote
upgrading
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710631681.5A
Other languages
Chinese (zh)
Other versions
CN107402847A (en
Inventor
童琪凯
沙伟
陶冉
朱云骁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Jianghuai Automobile Group Corp
Original Assignee
Anhui Jianghuai Automobile Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anhui Jianghuai Automobile Group Corp filed Critical Anhui Jianghuai Automobile Group Corp
Priority to CN201710631681.5A priority Critical patent/CN107402847B/en
Publication of CN107402847A publication Critical patent/CN107402847A/en
Application granted granted Critical
Publication of CN107402847B publication Critical patent/CN107402847B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses a remote upgrading method and a remote upgrading system for vehicle control unit software, wherein the method comprises the following steps: the method comprises the steps of pre-dividing a software storage area and a redundant software storage area, wherein the software storage area stores software of the vehicle control unit, the redundant software storage area stores remote upgrading software of the vehicle control unit, the vehicle control unit enters a guide area of the software storage area after being electrified and initialized to execute the software, whether an upgrading instruction exists is checked, whether the upgrading instruction is a remote upgrading instruction is judged, if yes, the remote upgrading software is written into the redundant software storage area, then program integrity verification is carried out on the written remote upgrading software, if complete, the vehicle control unit enters the guide area of the redundant software storage area after being reset to execute the remote upgrading software, and if incomplete, the vehicle control unit enters the guide area of the software storage area after being reset to execute the software. The invention can avoid the condition that the whole vehicle controller cannot run due to the failure of remote upgrade.

Description

Remote upgrading method and system for vehicle control unit software
Technical Field
The invention relates to the technical field of automobiles, in particular to a remote upgrading method and system for vehicle control unit software.
Background
With the new normal state of intellectualization and networking of automobile stepping, the functional requirements on the vehicle-mounted controller are gradually increased. In the prior art, in order to upgrade software of a vehicle control unit, the vehicle control unit is usually upgraded locally in an automobile experience store, however, a user needs to take out time specially for upgrading a program to go to the automobile experience store for upgrading, and user experience needs to be improved.
Disclosure of Invention
The invention provides a remote upgrading method and system for vehicle control unit software, which solve the problem that the prior art is inconvenient to remotely upgrade the vehicle control unit.
The invention provides a remote upgrading method of vehicle control unit software, which comprises the following steps:
the method comprises the following steps of pre-dividing a software storage area and a redundant software storage area, wherein the software storage area is used for storing software of the vehicle control unit, and the redundant software storage area is used for storing remote upgrading software of the vehicle control unit;
after the vehicle control unit is electrified and initialized, the vehicle control unit enters a boot area of a software storage area to execute software;
checking whether an upgrading instruction exists;
if yes, judging whether the upgrading instruction is a remote upgrading instruction or not;
if yes, the remote upgrading software is written to the redundant software storage area;
and carrying out program integrity verification on the flashed remote upgrade software, if the flashed remote upgrade software is complete, recording that the remote upgrade software is successfully flashed, entering a boot area of a redundant software storage area to execute the remote upgrade software after the vehicle controller is reset, and if the vehicle controller is incomplete, recording that the remote upgrade software is failed to be flashed, and entering the boot area of the software storage area to execute the software after the vehicle controller is reset.
Preferably, the software storage area is used for storing software of the vehicle control unit, and comprises a first boot area, a first interrupt vector table, a first software area and a first reserved area which are connected in sequence;
the redundant software storage area is used for storing remote upgrading software of the vehicle control unit and comprises a second guide area, a second reserved area, a second interrupt vector table and a second software area which are sequentially connected.
Preferably, the method further comprises:
after the whole vehicle controller is electrified and initialized, judging a storage area where currently executed software is located;
if the currently executed software is in the redundant software storage area, when a remote upgrade instruction is received, the flushing the remote upgrade software to the redundant software storage area comprises:
and flushing the remote upgrading software to the redundant software storage area.
Preferably, the method further comprises:
judging whether the upgrading instruction is a remote upgrading instruction or not, and if not, flushing the local upgrading software to a software storage area;
and carrying out program integrity verification on the refreshed local upgrade software, if the refreshed local upgrade software is complete, recording that the local upgrade software is successfully refreshed, entering a boot area of a software storage area after the vehicle controller is reset to execute the local upgrade software, and if the refreshed local upgrade software is incomplete, recording that the local upgrade software is failed to refresh, and stopping the vehicle controller in the boot area of the software storage area after the vehicle controller is reset.
Preferably, the method further comprises:
after the software is executed, checking whether a controller in a flash state exists, if so, prohibiting the vehicle control unit from checking whether an upgrading instruction exists, and if not, checking whether the upgrading instruction exists by the vehicle control unit.
Preferably, the method further comprises:
after the flash request is determined to be in the remote upgrading mode, checking whether the current running software is the latest version;
if not, judging whether the current vehicle state is a rewritable state, and if so, rewriting the remote upgrade software into the redundant software storage area.
Correspondingly, the invention also provides a remote upgrading system of the whole vehicle controller software, which comprises the following steps:
the storage module is divided into a software storage area and a redundant software storage area in advance, wherein the software storage area is used for storing software of the vehicle control unit, and the redundant software storage area is used for storing remote upgrading software of the vehicle control unit;
the initialization module is used for entering a boot area of the software storage area after the vehicle control unit is powered on and initialized so as to execute software;
the upgrading judgment module is used for checking whether an upgrading instruction exists;
the remote upgrading judging module is used for judging whether the upgrading instruction is a remote upgrading instruction or not when the upgrading instruction exists;
the flash module is used for flashing the remote upgrading software to the redundant software storage area when a remote upgrading instruction exists;
the integrity checking module is used for carrying out program integrity checking on the remote updating software which is written by brush;
the reset module is used for recording that the remote upgrading software is successfully written when the integrity check is passed, the vehicle controller enters the guide area of the redundant software storage area after being reset so as to execute the remote upgrading software, recording that the remote upgrading software is failed to be written when the integrity check is failed, and the vehicle controller enters the guide area of the software storage area after being reset so as to execute the software.
Preferably, the system further comprises:
the storage area judging module is used for judging the storage area where the currently executed software is located after the whole vehicle controller is electrified and initialized;
the flash module is specifically used for flashing the remote upgrade software to the redundant software storage area when a remote upgrade instruction is received if the currently executed software is in the redundant software storage area.
Preferably, the flash module is specifically configured to flash the local upgrade software into the software storage area when the upgrade instruction is not the remote upgrade instruction;
the reset module is specifically used for recording that the local upgrade software is successfully written in a flash mode when the integrity check is passed, the whole vehicle controller enters a guide area of the software storage area after being reset to execute the local upgrade software, when the integrity check is failed, the reset module records that the local upgrade software is failed in the flash mode, and the whole vehicle controller stays in the guide area of the software storage area after being reset.
Preferably, the system further comprises:
the version detection module is used for checking whether the currently running software is the latest version after the flash request is determined to be in the remote upgrading mode;
and the flash state determining module is used for judging whether the current finished automobile state is a flash state when the current running software is not the latest version, and if so, the remote upgrading software is flashed to the redundant software storage area through the flash module.
The invention provides a remote upgrading method and a system for vehicle control unit software, which comprises the following steps: a software storage area and a redundant software storage area are divided in advance, wherein the software storage area is used for storing the software of the vehicle control unit, the redundant software storage area is used for storing the remote upgrading software of the vehicle control unit, after the vehicle controller is electrified and initialized, the vehicle controller enters a boot area of a software storage area to execute software, then whether an upgrading instruction exists is checked, whether the upgrading instruction is a remote upgrading instruction is further judged, if so, the remote upgrade software is flushed to the redundant software storage area, so that the remote upgrade software can be stored in other storage areas, then the program integrity of the written remote upgrade software is checked, if the program integrity is checked, the vehicle controller enters a boot area of a redundant software storage area after being reset so as to execute the remote upgrade software, if the vehicle control unit is not complete, the vehicle control unit enters a boot area of the software storage area after being reset to execute the software. When the method is used for remotely upgrading the vehicle control unit, once the remote upgrading software is abnormal in the flashing process, the original software can be adopted to execute the related functions, so that the condition that the vehicle control unit cannot run due to the failure of remote upgrading is avoided.
Further, the remote upgrading method and system for the vehicle control unit software provided by the embodiment of the invention have the advantage that the software storage area and the redundant software storage area are arranged differently, so that the software storage area and the redundant software storage area are isolated from a physical space, for example, the two software storage areas are isolated by an interrupt vector table and the like, and data crosstalk is avoided.
Furthermore, the remote upgrading method and system for the vehicle control unit software provided by the embodiment of the invention further provide a local software upgrading method, and a professional maintenance person upgrades the vehicle control unit, and the professional maintenance person certainly ensures successful upgrading when performing vehicle upgrading maintenance, and based on cost considerations, a redundant software storage area special for local upgrading is not separately set when performing local upgrading.
Further, in the method and the system for remotely upgrading the software of the vehicle control unit according to the embodiments of the present invention, in order to improve the reliability of the vehicle control system, after the software is executed, whether the controller in a flash state exists is checked, if yes, the vehicle control unit is prohibited to check whether an upgrade instruction exists, and if not, the vehicle control unit checks whether the upgrade instruction exists. Therefore, the condition that the system is disordered due to the fact that a plurality of controllers carry out software upgrading at the same time can be effectively avoided.
Further, according to the remote upgrade method and system for the vehicle control unit software provided by the embodiment of the invention, after the flash request is determined to be in the remote upgrade mode, whether the currently running software is the latest version is checked; if not, judging whether the current vehicle state is a rewritable state, and if so, rewriting the remote upgrade software into the redundant software storage area. By judging whether the currently-operated software is the latest version or not, the situation that the software is repeatedly updated due to the fact that an operator does not know or forgets that the currently-operated software is the latest version can be effectively avoided. In addition, whether the current vehicle state is in a flash state or not is judged, so that the success rate of software flash can be effectively improved, and software updating is smoothly realized.
Drawings
In order to more clearly illustrate the embodiments of the present application or technical solutions in the prior art, the drawings needed to be used in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments described in the present invention, and other drawings can be obtained by those skilled in the art according to the drawings.
Fig. 1 is a first flowchart of a method for remotely upgrading vehicle control unit software according to an embodiment of the present invention;
FIG. 2a is a schematic structural diagram of a software storage area provided according to an embodiment of the present invention;
FIG. 2b is a schematic diagram of a structure of a redundant software storage area provided according to an embodiment of the present invention;
fig. 3 is a second flowchart of a method for remotely upgrading vehicle control unit software according to an embodiment of the present invention;
fig. 4 is a third flowchart of a method for remotely upgrading vehicle control unit software according to an embodiment of the present invention;
fig. 5 is a fourth flowchart of a method for remotely upgrading vehicle control unit software according to an embodiment of the present invention;
fig. 6 is a schematic diagram illustrating a skip of a flash status of a vehicle control unit according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of a system for remotely upgrading vehicle control unit software according to an embodiment of the present invention.
Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar parameters or elements having the same or similar functions throughout. The embodiments described below with reference to the drawings are illustrative only and should not be construed as limiting the invention.
The invention develops a remote upgrading method and system for vehicle controller software, in order to more conveniently update the software of the vehicle controller for users, bring convenience to vehicle factories in after-sale maintenance and remote diagnosis of vehicles, and improve market competitiveness of products. The key technology of remote upgrading is divided into encryption and decryption of codes of a remote upgrading controller by a server, a client and a vehicle-mounted remote intelligent terminal, safety of information on the whole information chain, software backup of the upgraded controller and the like. However, how to avoid the failure of software update to cause the controller to work abnormally is crucial for the controller of the automobile, especially for the vehicle controller: the automobile is not like a machine tool and other equipment having special maintenance personnel for daily maintenance, once the automobile fails to be remotely upgraded in a place without maintenance capability, such as a non-4S shop, the automobile cannot run and can only be dragged to a maintenance point for maintenance, and bad experience can be brought to a user.
According to the remote upgrading method and system for the vehicle control unit software, provided by the invention, as the software storage area and the redundant software storage area are divided in advance, once the remote upgrading software is abnormal in the process of flashing to the redundant software storage area, the original software of the vehicle control unit can be adopted to execute the related functions, and the condition that the vehicle control unit cannot run due to the failure of remote upgrading is avoided.
In order to better understand the technical scheme and technical effect of the present invention, the following detailed description will be made on specific embodiments with reference to a flow diagram. As shown in fig. 1, a first flowchart of a method for remotely upgrading vehicle control unit software according to an embodiment of the present invention may include the following steps:
and step S01, pre-dividing a software storage area and a redundant software storage area, wherein the software storage area is used for storing the software of the vehicle control unit, and the redundant software storage area is used for storing the remote upgrading software of the vehicle control unit.
In this embodiment, the memory of the vehicle controller is divided into two independent memory areas, one is a memory area of local software, and the other is a memory area of remote upgrade software. The software codes of the two storage areas are the same, except that 1 version data with an external EEPROM exists in each software, the parameter represents different software version states, the memory resources occupied by the two independent software are mutually independent, and the interrupt vector table is also independently backed up.
Specifically, as shown in fig. 2a, it is a schematic structural diagram of a software storage area provided according to an embodiment of the present invention, and as shown in fig. 2b, it is a schematic structural diagram of a redundant software storage area provided according to an embodiment of the present invention. The software storage area is used for storing software of the vehicle control unit and comprises a first guide area, a first interrupt vector table, a first software area and a first reserved area which are sequentially connected; the redundant software storage area is used for storing remote upgrading software of the vehicle control unit and comprises a second guide area, a second reserved area, a second interrupt vector table and a second software area which are sequentially connected. It should be noted that the structures of the software storage area and the redundant software storage area may be the same or different, and the above structure is more effective when adopted, for example, the software storage area and the redundant software storage area are isolated from a physical space, for example, an interrupt vector table and the like are isolated between the two software storage areas, so as to avoid data crosstalk. It should be noted that the first boot area and the second boot area may be the same boot area, and the first interrupt vector table and the first software area are different areas of the physical space from the second interrupt vector table and the second software area.
And step S02, the vehicle control unit enters a boot area of the software storage area after power-on initialization so as to execute the software. The prior art can be used and will not be described in detail here.
Step S03, check if there is an upgrade order.
In this embodiment, it may be specifically determined, by the BootLoader bootstrap program, whether a flush request exists currently, and if the flush request exists, an upgrade instruction exists.
It should be noted that the method further includes: and checking whether an upgrading instruction exists, and if not, executing the currently running software. I.e. the original software is run when there are no upgrade instructions.
And step S04, if yes, judging whether the upgrading instruction is a remote upgrading instruction.
In this embodiment, it is specifically determined whether the upgrade instruction is a remote upgrade instruction by reading EEPROM flag bit data.
If so, the remote upgrade software is flushed to the redundant software storage area, step S05.
In this embodiment, the remote upgrade software may be flashed to the redundant software storage area based on a flash process by an upper computer, and specifically, the upper computer may be a Telematics BOX (T-BOX). The vehicle-mounted T-BOX is mainly used for communicating with a background system/mobile phone APP to realize vehicle information display and control of the mobile phone APP, and in the embodiment, the vehicle-mounted T-BOX is mainly used for receiving remote upgrading software and writing the remote upgrading software to a redundant software storage area.
And step S06, performing program integrity check on the flashed remote upgrade software, recording that the remote upgrade software is successfully flashed if the remote upgrade software is complete, entering a boot area of a redundant software storage area to execute the remote upgrade software after the vehicle controller is reset, recording that the remote upgrade software is failed to be flashed if the vehicle controller is incomplete, and entering the boot area of the software storage area to execute the software after the vehicle controller is reset.
In the embodiment, the T-BOX is used as a flash upper computer, the whole vehicle controller enters a flash mode to complete software flash on the controller, the flash successful state is stored in the EEPROM after the flash is successful, the whole vehicle controller executes software stored in a software storage area after being reset if the flash is unsuccessful, data of flash failure is stored in the EEPROM, and the data of flash failure is reported to the T-BOX when the whole vehicle controller is powered on next time.
Further, after executing the software, for example, after executing the software in step S01 or step S06, it may also check whether there is a controller in a flash state, if so, prohibit the vehicle controller from checking whether there is an upgrade instruction, and if not, check whether there is an upgrade instruction. Therefore, the condition that the system is disordered due to the fact that a plurality of controllers carry out software upgrading at the same time can be avoided.
The invention provides a remote upgrading method for vehicle controller software, which comprises the following steps: a software storage area and a redundant software storage area are divided in advance, wherein the software storage area is used for storing the software of the vehicle control unit, the redundant software storage area is used for storing the remote upgrading software of the vehicle control unit, after the vehicle controller is electrified and initialized, the vehicle controller enters a boot area of a software storage area to execute software, then whether an upgrading instruction exists is checked, whether the upgrading instruction is a remote upgrading instruction is further judged, if so, the remote upgrade software is flushed to the redundant software storage area, so that the remote upgrade software can be stored in other storage areas, then the program integrity of the written remote upgrade software is checked, if the program integrity is checked, the vehicle controller enters a boot area of a redundant software storage area after being reset so as to execute the remote upgrade software, if the vehicle control unit is not complete, the vehicle control unit enters a boot area of the software storage area after being reset to execute the software. When the method is used for remotely upgrading the vehicle control unit, once the remote upgrading software is abnormal in the flashing process, the original software can be adopted to execute the related functions, so that the condition that the vehicle control unit cannot run due to the failure of remote upgrading is avoided.
Fig. 3 is a second flowchart of a method for remotely upgrading vehicle control unit software according to an embodiment of the present invention.
In this embodiment, the method further includes:
step S31, after the vehicle control unit is powered on and initialized, judging a storage area where the currently executed software is located;
if the currently executed software is in the redundant software storage area, when a remote upgrade instruction is received, the flushing the remote upgrade software to the redundant software storage area includes, in step S05:
the remote upgrading software is written into the redundant software storage area;
and step S06, performing program integrity check on the flashed remote upgrade software, recording that the remote upgrade software is successfully flashed if the remote upgrade software is complete, entering a boot area of a redundant software storage area to execute the remote upgrade software after the vehicle controller is reset, recording that the remote upgrade software is failed to be flashed if the vehicle controller is incomplete, and entering the boot area of the software storage area to execute the software after the vehicle controller is reset.
It should be noted that, when the remote upgrade software that is successfully upgraded is operated, if the remote upgrade request is received again, the remote upgrade software is flushed to the redundant software storage area instead of the software storage area, which takes into account that the software of the earliest version can certainly ensure the normal operation of the vehicle controller, only the optimized version still exists, if the software of the earliest version is overwritten, once the subsequent upgrade program is abnormal, for example, the first remote upgrade program has bug, the second remote upgrade program also has bug, once the second remote upgrade software overwrites the software of the earliest version, the vehicle controller may not normally operate, and therefore, the software of the earliest version needs to be retained to ensure the normal operation of the vehicle controller.
For example, after the power-on initialization of the vehicle control unit is completed, a remote upgrade program is executed, after a remote upgrade instruction is received, the T-BOX is used as a flash upper computer, the vehicle control unit enters a flash mode to complete the software flash of the controller, after the flash is successful, the flash successful state is stored in the EEPROM and reported to the T-BOX after the controller is reset, the software in a software storage area is executed, if the flash is unsuccessful, the flash failed state is stored in the EEPROM and reported to the T-BOX after the controller is reset, and the software in a redundant software storage area is executed.
According to the remote upgrading method for the vehicle control unit software, after the vehicle control unit is electrified and initialized, the storage area where the currently executed software is located is judged, if the currently executed software is in the redundant software storage area, once remote upgrading is carried out again, if a remote upgrading program is written into the redundant software storage area, the situation that the vehicle control unit cannot work due to writing failure possibly occurs, and therefore the problem can be effectively solved by taking the software storage area as the storage area of the remote upgrading software.
Fig. 4 is a third flowchart of a method for remotely upgrading vehicle control unit software according to an embodiment of the present invention.
In this embodiment, the method further includes:
and step S41, judging whether the upgrading instruction is a remote upgrading instruction, if not, flushing the local upgrading software to the software storage area.
Through the steps, the local upgrade software can be written into the software storage area when the local software is updated, so that the local updating function can be realized.
And step S42, performing program integrity verification on the refreshed local upgrade software, recording that the local upgrade software is successfully refreshed if the local upgrade software is complete, entering a boot area of a software storage area to execute the local upgrade software after the vehicle controller is reset, recording that the local upgrade software is failed to refresh if the vehicle controller is incomplete, and stopping in the boot area of the software storage area after the vehicle controller is reset.
The remote upgrading method of the vehicle control unit software provided by the embodiment of the invention also provides a local software upgrading method, because a vehicle owner drives the vehicle to a maintenance point for local updating, at the moment, professional maintenance personnel upgrade the vehicle control unit, and the professional maintenance personnel can complete the upgrading and deliver the vehicle to the vehicle owner after the vehicle upgrading maintenance is successfully carried out, based on the aspects of cost, skill proficiency and the like, a redundant software storage area special for local upgrading is not independently set during the local upgrading, in addition, in order to reduce the middle process of the software upgrading so as to improve the software upgrading efficiency, and clearly remind the maintenance personnel and the vehicle owner that the current upgrading fails, the redundant software storage area is not adopted during the local upgrading: when the upgrade fails, the vehicle controller is reset and stays in the guide area of the software storage area instead of directly running the original software, so that the situation that maintenance personnel and a vehicle owner cannot know the update failure due to carelessness and the like is avoided.
Fig. 5 is a fourth flowchart of a method for remotely upgrading vehicle control unit software according to an embodiment of the present invention.
In this embodiment, the method further includes:
in step S51, after determining that the flash request is the remote upgrade mode, it is checked whether the currently running software is the latest version. If the current running software is the latest version, the T-BOX CAN be informed of no need of flash by the CAN message.
In this embodiment, by determining whether the currently running software is the latest version, the occurrence of the situation that an operator repeatedly updates the currently running software due to not knowing or forgetting that the currently running software is the latest version can be effectively avoided. Specifically, the version data of the external EEPROM and the version data of the remote update software are compared to determine whether the currently running software is the latest version.
And step S52, if not, judging whether the current vehicle state is a rewritable state, if so, rewriting the remote upgrade software to the redundant software storage area.
Wherein, judge whether present whole car state is the logic that the state of can writing with a brush is the request of host computer, the condition that needs to be satisfied in writing with a brush includes: the whole vehicle is in a P/N gear, a mechanical hand brake or an electronic hand brake is in a braking state, the vehicle is in a standing state, a key is in a key on state, no charging state and a vehicle Ready state, and if the conditions are met, a user can select an upgrading controller request from a terminal interface; if the upgrading conditions are not met, upgrading is not allowed.
In an embodiment, as shown in fig. 6, a jump diagram of a flash status of a vehicle controller according to an embodiment of the present invention is provided, where a condition 1 is: a local PC upper computer refreshes a request, and refreshes successfully; the conditions 2 to 1 are: in the running process of the software, the local upgrading software is not refreshed through the upper computer of the local PC; (ii) a The condition 3 is: in the running process of the software, the local upgrading software is refreshed through a local PC upper computer successfully; condition 4 is: in the software operation, a remote upgrade request is successfully refreshed through the T-BOX upper computer; the condition 5-1 is: refreshing local upgrade software successfully through a PC upper computer in the operation of remote upgrade software; conditions 5-2 are: remotely updating the software by remotely flashing the software in the running process of the remotely updated software fails; the condition 6-1 is: when the remote upgrade software runs, a new remote upgrade request is successfully written through the T-BOX upper computer; conditions 6-2 are: the method comprises the following steps that local upgrade software is refreshed through a PC upper computer in the running process of remote upgrade software and fails; condition 7 is: and in the running process of the remote upgrading software, the local upgrading software is refreshed through the PC upper computer successfully.
According to the remote upgrading method for the vehicle control unit software, provided by the embodiment of the invention, after the flashing request is determined to be in a remote upgrading mode, whether the current running software is the latest version is checked; if not, judging whether the current vehicle state is a rewritable state, and if so, rewriting the remote upgrade software into the redundant software storage area. By judging whether the currently-operated software is the latest version or not, the situation that the software is repeatedly updated due to the fact that an operator does not know or forgets that the currently-operated software is the latest version can be effectively avoided. In addition, whether the current vehicle state is in a flash state or not is judged, so that the success rate of software flash can be effectively improved, and software updating is smoothly realized.
Correspondingly, the present invention further provides a remote upgrade system of vehicle controller software corresponding to the above method, as shown in fig. 7, which is a schematic structural diagram of the remote upgrade system of vehicle controller software provided according to the embodiment of the present invention, and the system may include:
the storage module is divided into a software storage area and a redundant software storage area in advance, wherein the software storage area is used for storing software of the vehicle control unit, and the redundant software storage area is used for storing remote upgrading software of the vehicle control unit.
And the initialization module is used for entering a boot area of the software storage area after the vehicle control unit is powered on and initialized so as to execute the software.
And the upgrading judgment module is used for checking whether an upgrading instruction exists.
And the remote upgrading judgment module is used for judging whether the upgrading instruction is the remote upgrading instruction or not when the upgrading instruction exists.
And the flash module is used for flashing the remote upgrading software to the redundant software storage area when a remote upgrading instruction exists.
And the integrity checking module is used for carrying out program integrity checking on the remote updating software which is written by brush.
The reset module is used for recording that the remote upgrading software is successfully written when the integrity check is passed, the vehicle controller enters the guide area of the redundant software storage area after being reset so as to execute the remote upgrading software, recording that the remote upgrading software is failed to be written when the integrity check is failed, and the vehicle controller enters the guide area of the software storage area after being reset so as to execute the software.
In addition, in order to avoid a situation that the vehicle control unit cannot work due to failure of the flush writing after the new remote update software is directly flushed in the redundant software storage area after the new software update instruction is received again when the remote update software is currently running, in order to solve the problem, the system may further include:
and the storage area judging module is used for judging the storage area where the currently executed software is located after the whole vehicle controller is powered on and initialized.
The flash module is specifically used for flashing the remote upgrade software to the redundant software storage area when a remote upgrade instruction is received if the currently executed software is in the redundant software storage area.
In other embodiments, in order to provide a function of local upgrade of software, the flush module is specifically configured to flush the local upgrade software to the software storage area when the upgrade instruction is not the remote upgrade instruction.
The reset module is specifically used for recording that the local upgrade software is successfully written in a flash mode when the integrity check is passed, the whole vehicle controller enters a guide area of the software storage area after being reset to execute the local upgrade software, when the integrity check is failed, the reset module records that the local upgrade software is failed in the flash mode, and the whole vehicle controller stays in the guide area of the software storage area after being reset. Therefore, the local upgrading function of the software for controlling the whole vehicle can be realized.
Further, in order to avoid the upgrade with the same version repeatedly, the system may further include:
and the version detection module is used for checking whether the currently running software is the latest version after the flash request is determined to be in the remote upgrading mode.
And the flash state determining module is used for judging whether the current finished automobile state is a flash state when the current running software is not the latest version, and if so, the remote upgrading software is flashed to the redundant software storage area through the flash module.
The version detection module is used for judging whether the currently-operated software is the latest version or not, so that the situation that an operator repeatedly updates the currently-operated software due to the fact that the operator does not know or forgets that the currently-operated software is the latest version can be effectively avoided. In addition, whether the current vehicle state is in a flash state or not is judged, so that the success rate of software flash can be effectively improved, and software updating is smoothly realized.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim.
Those skilled in the art will appreciate that the modules in the apparatus of an embodiment may be adaptively changed and disposed in one or more devices different from that of the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that although embodiments described herein include some features included in other embodiments, not other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It will be appreciated by those skilled in the art that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functions in a system for multi-operator remote manipulation of a single operator according to embodiments of the present invention. The present invention may also be embodied as apparatus or system programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present invention may be stored on computer-readable media or may be in the form of one or more signals. Such a signal may be downloaded from a website on the internet, provided on a carrier signal, or provided in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps or the like not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several systems, several of these systems may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.

Claims (9)

1. A remote upgrading method for vehicle controller software is characterized by comprising the following steps:
the method comprises the following steps of pre-dividing a software storage area and a redundant software storage area, wherein the software storage area is used for storing software of the vehicle control unit, and the redundant software storage area is used for storing remote upgrading software of the vehicle control unit;
after the vehicle control unit is electrified and initialized, the vehicle control unit enters a boot area of a software storage area to execute software;
checking whether an upgrading instruction exists;
if yes, judging whether the upgrading instruction is a remote upgrading instruction or not;
if yes, the remote upgrading software is written to the redundant software storage area;
the method comprises the steps of carrying out program integrity verification on the remote updating software which is written by the whole vehicle controller, recording that the remote updating software is successfully written by the whole vehicle controller after the whole vehicle controller is reset, entering a guide area of a redundant software storage area to execute the remote updating software, recording that the remote updating software is failed by the whole vehicle controller after the whole vehicle controller is reset, and entering the guide area of the software storage area to execute the software;
judging whether the upgrading instruction is a remote upgrading instruction or not, and if not, flushing the local upgrading software to a software storage area;
and carrying out program integrity verification on the refreshed local upgrade software, if the refreshed local upgrade software is complete, recording that the local upgrade software is successfully refreshed, entering a boot area of a software storage area after the vehicle controller is reset to execute the local upgrade software, and if the refreshed local upgrade software is incomplete, recording that the local upgrade software is failed to refresh, and stopping the vehicle controller in the boot area of the software storage area after the vehicle controller is reset.
2. The method of claim 1,
the software storage area is used for storing software of the vehicle control unit and comprises a first guide area, a first interrupt vector table, a first software area and a first reserved area which are sequentially connected;
the redundant software storage area is used for storing remote upgrading software of the vehicle control unit and comprises a second guide area, a second reserved area, a second interrupt vector table and a second software area which are sequentially connected.
3. The method of claim 1, further comprising:
after the whole vehicle controller is electrified and initialized, judging a storage area where currently executed software is located;
if the currently executed software is in the redundant software storage area, when a remote upgrade instruction is received, the flushing the remote upgrade software to the redundant software storage area comprises:
and flushing the remote upgrading software to the redundant software storage area.
4. The method of claim 1, further comprising:
after the software is executed, checking whether a controller in a flash state exists, if so, prohibiting the vehicle control unit from checking whether an upgrading instruction exists, and if not, checking whether the upgrading instruction exists by the vehicle control unit.
5. The method of claim 1, further comprising:
after the flash request is determined to be in the remote upgrading mode, checking whether the current running software is the latest version;
if not, judging whether the current vehicle state is a rewritable state, and if so, rewriting the remote upgrade software into the redundant software storage area.
6. The utility model provides a remote upgrade system of whole car controller software which characterized in that includes:
the storage module is divided into a software storage area and a redundant software storage area in advance, wherein the software storage area is used for storing software of the vehicle control unit, and the redundant software storage area is used for storing remote upgrading software of the vehicle control unit;
the initialization module is used for entering a boot area of the software storage area after the vehicle control unit is powered on and initialized so as to execute software;
the upgrading judgment module is used for checking whether an upgrading instruction exists;
the remote upgrading judging module is used for judging whether the upgrading instruction is the remote upgrading instruction or not when the upgrading instruction exists, and if not, the local upgrading software is written into the software storage area;
the flash module is used for flashing the remote upgrading software to the redundant software storage area when a remote upgrading instruction exists;
the integrity checking module is used for carrying out program integrity checking on the flash remote upgrade software or the local upgrade software;
the reset module is used for recording that the remote upgrading software is successfully written when the integrity check is passed, the vehicle controller enters the guide area of the redundant software storage area after being reset so as to execute the remote upgrading software, recording that the remote upgrading software is failed to be written when the integrity check is failed, and the vehicle controller enters the guide area of the software storage area after being reset so as to execute the software.
7. The system of claim 6, further comprising:
the storage area judging module is used for judging the storage area where the currently executed software is located after the whole vehicle controller is electrified and initialized;
the flash module is specifically used for flashing the remote upgrade software to the redundant software storage area when a remote upgrade instruction is received if the currently executed software is in the redundant software storage area.
8. The system of claim 6,
the reset module is specifically used for recording that the local upgrade software is successfully written in a flash mode when the integrity check is passed, the whole vehicle controller enters a guide area of the software storage area after being reset to execute the local upgrade software, when the integrity check is failed, the reset module records that the local upgrade software is failed in the flash mode, and the whole vehicle controller stays in the guide area of the software storage area after being reset.
9. The system of claim 6, further comprising:
the version detection module is used for checking whether the currently running software is the latest version after the flash request is determined to be in the remote upgrading mode;
and the flash state determining module is used for judging whether the current finished automobile state is a flash state when the current running software is not the latest version, and if so, the remote upgrading software is flashed to the redundant software storage area through the flash module.
CN201710631681.5A 2017-07-28 2017-07-28 Remote upgrading method and system for vehicle control unit software Active CN107402847B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710631681.5A CN107402847B (en) 2017-07-28 2017-07-28 Remote upgrading method and system for vehicle control unit software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710631681.5A CN107402847B (en) 2017-07-28 2017-07-28 Remote upgrading method and system for vehicle control unit software

Publications (2)

Publication Number Publication Date
CN107402847A CN107402847A (en) 2017-11-28
CN107402847B true CN107402847B (en) 2020-05-19

Family

ID=60402523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710631681.5A Active CN107402847B (en) 2017-07-28 2017-07-28 Remote upgrading method and system for vehicle control unit software

Country Status (1)

Country Link
CN (1) CN107402847B (en)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829079B (en) * 2018-04-26 2020-09-01 安徽江淮汽车集团股份有限公司 TCU automatic flashing system and method
CN110727255B (en) * 2018-07-17 2021-08-20 郑州宇通客车股份有限公司 Whole vehicle controller software upgrading test system and vehicle
CN109240731B (en) * 2018-08-29 2022-02-11 武汉光庭信息技术股份有限公司 Safe upgrading method and system for TBox
CN109344007B (en) * 2018-09-29 2022-04-12 安徽江淮汽车集团股份有限公司 Double-clutch transmission NVM data verification method and module
CN109673009B (en) * 2018-11-13 2022-06-21 浙江合众新能源汽车有限公司 Method and device for upgrading VCU software in air
CN109189461B (en) * 2018-11-27 2022-01-18 上海辛格林纳新时达电机有限公司 Procedure upgrading method for elevator control system, elevator control system and elevator equipment
CN111475179B (en) * 2019-01-23 2023-10-03 北京新能源汽车股份有限公司 Online software refreshing method and device, electronic control unit and upper computer
CN109947371B (en) * 2019-03-27 2022-04-29 北京经纬恒润科技股份有限公司 Data recording method, device, memory and T-BOX
CN110221851A (en) * 2019-05-06 2019-09-10 万向钱潮股份有限公司 A kind of electronic parking system program upgrade method
CN110532001A (en) * 2019-09-09 2019-12-03 阳光电源股份有限公司 Vehicle control device writes with a brush dipped in Chinese ink method, system, diagnostic device and vehicle control device
CN113220318A (en) * 2020-01-21 2021-08-06 广州汽车集团股份有限公司 Program updating method and device for motor controller and readable storage medium
CN111352646B (en) * 2020-02-21 2024-03-12 上海汽车工业(集团)总公司 MPU software upgrading method and upgrading system thereof
JP7459284B2 (en) * 2020-03-19 2024-04-01 ホアウェイ・テクノロジーズ・カンパニー・リミテッド VEHICLE SOFTWARE UPGRADE METHOD, RELATED SYSTEM, CONTROL SYSTEM, CLOUD SERVER, AND COMPUTER PROGRAM
CN111475191B (en) * 2020-04-04 2023-06-06 东风越野车有限公司 Automobile controller software upgrading system and method based on multi-core technology
CN111638999B (en) * 2020-05-29 2023-08-11 安徽江淮汽车集团股份有限公司 Rollback starting method, device and equipment of automobile combination instrument and storage medium
CN112052123A (en) * 2020-09-15 2020-12-08 重庆海德世拉索系统(集团)有限公司 Mechanism for avoiding system software upgrading failure of automobile electronic control unit
CN112559003B (en) * 2020-11-17 2023-03-03 东风汽车集团有限公司 Domain controller software upgrading method and device and domain controller
CN112988188A (en) * 2021-02-23 2021-06-18 上海龙感汽车电子有限公司 Software upgrading method applied to automobile steering wheel corner sensor
CN114296819A (en) * 2021-12-23 2022-04-08 上海易咖智车科技有限公司 Program flashing method and device of vehicle body controller, computer equipment and medium
CN116056045A (en) * 2023-03-31 2023-05-02 江铃汽车股份有限公司 AB point customer parking remote upgrading method and system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023876A (en) * 2009-09-14 2011-04-20 漳州科能电器有限公司 Embedded system capable of upgrading software on line and online upgrading method
CN104156249A (en) * 2014-08-18 2014-11-19 四川九成信息技术有限公司 Embedded software upgrading method
CN105808296A (en) * 2016-03-08 2016-07-27 江苏万帮德和新能源科技有限公司 Client side software startup method used for charging pile to safely upgrade own program
CN105930236A (en) * 2016-07-15 2016-09-07 深圳市沃特玛电池有限公司 Application program version returning method based on BMS Bootloaderupgrade
CN106850241A (en) * 2015-12-03 2017-06-13 联车(上海)信息科技有限公司 A kind of vehicle-mounted OBD terminals and its remote upgrade method
CN106897092A (en) * 2017-02-23 2017-06-27 深圳市英威腾电气股份有限公司 A kind of remote software upgrade method and controller

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023876A (en) * 2009-09-14 2011-04-20 漳州科能电器有限公司 Embedded system capable of upgrading software on line and online upgrading method
CN104156249A (en) * 2014-08-18 2014-11-19 四川九成信息技术有限公司 Embedded software upgrading method
CN106850241A (en) * 2015-12-03 2017-06-13 联车(上海)信息科技有限公司 A kind of vehicle-mounted OBD terminals and its remote upgrade method
CN105808296A (en) * 2016-03-08 2016-07-27 江苏万帮德和新能源科技有限公司 Client side software startup method used for charging pile to safely upgrade own program
CN105930236A (en) * 2016-07-15 2016-09-07 深圳市沃特玛电池有限公司 Application program version returning method based on BMS Bootloaderupgrade
CN106897092A (en) * 2017-02-23 2017-06-27 深圳市英威腾电气股份有限公司 A kind of remote software upgrade method and controller

Also Published As

Publication number Publication date
CN107402847A (en) 2017-11-28

Similar Documents

Publication Publication Date Title
CN107402847B (en) Remote upgrading method and system for vehicle control unit software
JP6390644B2 (en) Program update system, program update method, and computer program
US9836300B2 (en) Method for updating vehicle ECUs using differential update packages
US20160364225A1 (en) Centralized system for software updating vehicle components
US20160364230A1 (en) Telematics control unit comprising a differential update package
US20070074201A1 (en) Method and system for updating software and computer readable recording medium storing the method
CN106547574A (en) The outside download system and method for a kind of DSP programs and FPGA programs
CN103688268A (en) Vehicle unit and method for operating the vehicle unit
JP2010167997A (en) Rewriting system for vehicle
CN108108193A (en) A kind of easy-to-use firmware upgrade method of safety and system
US20120215407A1 (en) Vehicle Management and Control System
CN115061713A (en) Method and device for upgrading electronic equipment
CN105468390B (en) BOOT online upgrading device and method
CN112698857A (en) Data flashing method and device
CN115113905A (en) Firmware upgrading method and firmware upgrading device
CN112000358A (en) Charging pile upgrading method and intelligent charging pile
US11137995B2 (en) Updating firmware of a microcontroller
CN107943500A (en) A kind of combination instrument Oftware updating method
CN108762790A (en) Unmanned machine battery reboot process method, apparatus and storage medium
CN104598281A (en) Method for upgrading system of electronic device
CN111090443A (en) Method, equipment and storage medium for guaranteeing safe upgrade of linux system
CN114546455A (en) MCU software upgrading method and device for double partitions
US20180322014A1 (en) Method and system for fault handling during remote installation of software in a vehicle
CN107229457B (en) Electronic controller, guide loading method and device thereof and automobile
CN113553085B (en) Method, device, equipment and storage medium for online upgrading of embedded operating system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant