CN115809071A - Software upgrading method, device, system, equipment and storage medium - Google Patents

Software upgrading method, device, system, equipment and storage medium Download PDF

Info

Publication number
CN115809071A
CN115809071A CN202111082240.7A CN202111082240A CN115809071A CN 115809071 A CN115809071 A CN 115809071A CN 202111082240 A CN202111082240 A CN 202111082240A CN 115809071 A CN115809071 A CN 115809071A
Authority
CN
China
Prior art keywords
software
data
target
upgraded
upgrade
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.)
Pending
Application number
CN202111082240.7A
Other languages
Chinese (zh)
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.)
Beijing CHJ Automobile Technology Co Ltd
Original Assignee
Beijing CHJ Automobile Technology Co Ltd
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 Beijing CHJ Automobile Technology Co Ltd filed Critical Beijing CHJ Automobile Technology Co Ltd
Priority to CN202111082240.7A priority Critical patent/CN115809071A/en
Priority to PCT/CN2022/117114 priority patent/WO2023040695A1/en
Publication of CN115809071A publication Critical patent/CN115809071A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The disclosure relates to a software upgrading method, device, system, apparatus and storage medium. The software upgrading method comprises the following steps: receiving software upgrading data corresponding to target software; determining equipment to be upgraded corresponding to the target software; under the condition that the device to be upgraded supports the direct memory access technology, acquiring a target flash address corresponding to target software; and sending the data to be refreshed to the equipment to be upgraded, wherein the data to be refreshed comprises a target refresh address and software upgrading data. In the embodiment of the disclosure, the software upgrading data can bypass the CPU and be directly written into the target writing address, that is, the writing process of the software upgrading data does not occupy CPU resources, the saved CPU resources can be used for performing other operations, and the efficiency of the CPU is improved.

Description

Software upgrading method, device, system, equipment and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a software upgrading method, apparatus, system, device, and storage medium.
Background
The Over The Air (OTA) technology is a technology for remotely managing a mobile terminal device through an air interface of mobile communication. The OTA-based software upgrading method is widely applied to the field of vehicles by virtue of the advantages of reduction of recall cost, quick response to upgrading requirements, improvement of user experience and the like.
However, in the existing OTA-based software upgrading method, when a Central Processing Unit (CPU) of the upgrading device writes a software upgrading program into a secondary memory, multiple complex application layer protocols, such as File Transfer Protocol (FTP), hypertext Transfer Protocol (HTTP), and the like, need to be used, which are generally implemented by software, and the implementation of the software is very complex, which results in that the software upgrading occupies more system resources.
Disclosure of Invention
To solve the above technical problems, or to at least partially solve the above technical problems, the present disclosure provides a software upgrading method, apparatus, system, device, and storage medium.
In a first aspect, the present disclosure provides a software upgrading method, including:
receiving software upgrading data corresponding to target software;
determining equipment to be upgraded corresponding to target software;
under the condition that the device to be upgraded supports the direct memory access technology, acquiring a target flash address corresponding to target software;
and sending the data to be refreshed to the equipment to be upgraded, wherein the data to be refreshed comprises a target refresh address and software upgrading data.
In a second aspect, the present disclosure further provides a software upgrading method, including:
under the condition of supporting the direct memory access technology, receiving data to be refreshed sent by an upgrade management device, wherein the data to be refreshed comprises a target refresh address and software upgrade data corresponding to target software;
and writing the software upgrading data into a target flash address by adopting a direct memory access technology so as to upgrade the target software.
In a third aspect, the present disclosure further provides a software upgrading apparatus, including
The first receiving module is configured to receive software upgrading data corresponding to target software;
the determining module is configured to determine the equipment to be upgraded corresponding to the target software;
the acquisition module is configured to acquire a target flash address corresponding to target software under the condition that the device to be upgraded supports a direct memory access technology;
the first sending module is configured to send the data to be refreshed to the equipment to be upgraded, and the data to be refreshed comprises a target refresh address and software upgrading data.
In a fourth aspect, the present disclosure further provides a software upgrading apparatus, including:
the second receiving module is configured to receive data to be refreshed, which is sent by the upgrade management device, under the condition that the memory direct access technology is supported, wherein the data to be refreshed comprises a target refresh address and software upgrade data corresponding to target software;
and the writing module is configured to write the software upgrading data into the target flash address by adopting a direct memory access technology so as to upgrade the target software.
In a fifth aspect, the present disclosure further provides a software upgrading system, including: the device to be upgraded and the upgrade management device;
the device to be upgraded is used for receiving software upgrading data corresponding to the target software; determining equipment to be upgraded corresponding to the target software; under the condition that the device to be upgraded supports the direct memory access technology, acquiring a target flash address corresponding to target software; sending data to be refreshed to equipment to be upgraded, wherein the data to be refreshed comprises a target refresh address and software upgrading data;
the upgrading management equipment is used for receiving the data to be refreshed, which are sent by the upgrading management equipment, under the condition of supporting the direct memory access technology, wherein the data to be refreshed comprises a target refreshing address and software upgrading data corresponding to target software; and writing the software upgrading data into a target flash address by adopting a direct memory access technology so as to upgrade the target software.
In a sixth aspect, the present disclosure also provides a computing device comprising:
a processor;
a memory for storing executable instructions;
the processor is configured to read the executable instructions from the memory and execute the executable instructions to implement the software upgrading method of the first aspect or the software upgrading method of the second aspect.
In a seventh aspect, the present disclosure also provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the processor is enabled to implement the software upgrading method of the first aspect or the software upgrading method of the second aspect.
Compared with the prior art, the technical scheme provided by the embodiment of the disclosure has the following advantages:
the software upgrading method of the embodiment of the disclosure can receive software upgrading data corresponding to target software; determining equipment to be upgraded corresponding to the target software; under the condition that the device to be upgraded supports the direct memory access technology, acquiring a target flash address corresponding to target software; and sending the data to be refreshed to the equipment to be upgraded, wherein the data to be refreshed comprises a target refresh address and software upgrading data, so that the equipment to be upgraded adopts a direct memory access technology to write the software upgrading data into the target refresh address. Therefore, the software upgrading data can bypass the CPU and can be directly written into the target flash address, namely the writing process of the software upgrading data does not occupy CPU resources, the saved CPU resources can be used for performing other operations, and the efficiency of the CPU is improved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure.
In order to more clearly illustrate the embodiments or technical solutions in the prior art of the present disclosure, the drawings used in the description of the embodiments or prior art will be briefly described below, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without inventive exercise.
Fig. 1 is a schematic flowchart of a software upgrading method according to an embodiment of the present disclosure;
fig. 2 is a schematic flow chart of a software upgrading process provided by an embodiment of the present disclosure;
fig. 3 is a schematic flowchart of a software upgrading method according to an embodiment of the present disclosure;
fig. 4 is a schematic flow chart of a software upgrading process provided by an embodiment of the present disclosure;
fig. 5 is a schematic structural diagram of a software upgrading apparatus provided in an embodiment of the present disclosure;
fig. 6 is a schematic structural diagram of a software upgrading apparatus provided in an embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of a software upgrading system according to an embodiment of the present disclosure;
fig. 8 is a schematic workflow diagram of a software upgrading system according to an embodiment of the present disclosure;
fig. 9 is a schematic structural diagram of a computing device according to an embodiment of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but rather are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order, and/or performed in parallel. Moreover, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "include" and variations thereof as used herein are open-ended, i.e., "including but not limited to". The term "based on" is "based, at least in part, on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions for other terms will be given in the following description.
It should be noted that the terms "first", "second", and the like in the present disclosure are only used for distinguishing different devices, modules or units, and are not used for limiting the order or interdependence relationship of the functions performed by the devices, modules or units.
It is noted that references to "a", "an", and "the" modifications in this disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that "one or more" may be used unless the context clearly dictates otherwise.
The names of messages or information exchanged between devices in the embodiments of the present disclosure are for illustrative purposes only, and are not intended to limit the scope of the messages or information.
Fig. 1 is a schematic flowchart of a software upgrading method according to an embodiment of the present disclosure.
In some embodiments of the present disclosure, the method shown in fig. 1 may be applied to an upgrade management device of a vehicle, where the upgrade management device may be a main control device in the vehicle, and may be, for example, a driving computer.
As shown in fig. 1, the software upgrading method may include the following steps.
And S110, receiving software upgrading data corresponding to the target software.
Specifically, the target software is a software program to be upgraded of the device to be upgraded, and the specific implementation function of the target software is not limited herein, and for example, the target software may include interactive software, such as navigation software or audio playing software; the target software may also include automatic driving class control software, such as automatic parking garage software, automatic path planning software, or automatic collision warning software.
Specifically, the software upgrade data is a software upgrade package required in the process of updating the target software from the low version to the high version, and through the software upgrade data, the target software can realize software upgrade so as to achieve functions of improving performance or repairing bugs and the like.
Specifically, the software upgrade data sent by the server may be received using wireless communication technology. The software upgrade data on the server may be uploaded to the server by a developer of the target software or a manufacturer of the device vehicle to be upgraded, which is not limited herein.
And S120, determining equipment to be upgraded corresponding to the target software.
Specifically, a vehicle to be upgraded generally includes a plurality of area control devices, and software installed in different area control devices is different. Therefore, it is necessary to determine the area control device to which the target software belongs from the plurality of area control devices, and the area control device to which the target software belongs is the device to be upgraded of the device to be upgraded corresponding to the target software. The specific determination mode of the device to be upgraded can be set by a person skilled in the art according to the actual situation, and is not limited herein.
Optionally, determining the device to be upgraded corresponding to the target software may include: and inquiring equipment to be upgraded corresponding to the target software in the area control equipment-software corresponding relation table.
S130, under the condition that the device to be upgraded supports the direct memory access technology, obtaining a target flash address corresponding to the target software.
Specifically, the device to be upgraded may be one control node in the vehicle other than the upgrade management device. When the device to be upgraded supports Direct Memory Access (DMA), the device to be upgraded may include a DMA controller and a secondary storage. The specific detection mode of whether the device to be upgraded supports DMA may be set by a person skilled in the art according to an actual situation, and is not limited herein.
Optionally, detecting whether the device to be upgraded supports a direct memory access technology may include: and inquiring the DMA zone bit in the parameter information of the equipment to be upgraded, and detecting whether the equipment to be upgraded supports DMA according to the DMA zone bit. For example, when the DMA flag bit is 1, it may be determined that the device to be upgraded supports DMA; when the DMA flag bit is 0, the device to be upgraded is determined not to support DMA.
Optionally, detecting whether the device to be upgraded supports the direct memory access technology may include: and inquiring a statistical table of the DMA supporting area control device to detect whether the device to be upgraded supports DMA. For example, when the device to be upgraded is recorded in the statistical table of the device for controlling the DMA area, it may be determined that the device to be upgraded supports DMA; and when the device to be upgraded is not recorded in the statistical table of the device for controlling the DMA area, determining that the device to be upgraded does not support DMA.
Specifically, the target flush address is used to determine the specific location of the secondary memory to which the software upgrade data needs to be written. The obtaining manner of the target write address may be set by a person skilled in the art according to actual conditions, and is not limited herein.
Optionally, the obtaining of the target write address corresponding to the target software may include: and sending an address request aiming at the target software to the equipment to be upgraded so that the equipment to be upgraded feeds back a target flash address corresponding to the target software. Therefore, the target flash address corresponding to the target software can be dynamically acquired, and even after the equipment to be upgraded corresponding to the target software is changed due to faults and the like, the target flash address corresponding to the target software can be accurately determined.
Optionally, determining the target write address corresponding to the target software may further include: and inquiring an association relation table among the software, the area control equipment and the address, and determining a target flash address corresponding to the target software. Therefore, the target flash address corresponding to the target software can be quickly determined.
Specifically, the target flash address includes a memory address of the secondary memory corresponding to the target software and a starting write address of the software upgrade data in the secondary memory. The software upgrading package corresponding to the same target software can be divided into a plurality of pieces of software upgrading data, the memory addresses of the secondary memories corresponding to the software upgrading data are the same, but the initial writing addresses corresponding to the software upgrading data of different blocks are dynamically updated, that is, after the software upgrading data of this time is written into the secondary memories, the next new software upgrading data is written into the same secondary memories, but the initial writing addresses are the addresses behind the written positions of the software upgrading data of this time.
And S140, sending the data to be refreshed to the equipment to be upgraded.
The data to be flashed comprises a target flashing address and software upgrading data.
Specifically, the data to be flashed may be sent to the device to be upgraded over the bus. The bus may include one of a Controller Area Network CAN (CAN) bus, a FlexRay bus, an Ethernet (Ethernet) bus, a Local Interconnect Network (LIN) bus, and a Serial Peripheral Interface (SPI) bus.
Optionally, before sending the data to be refreshed to the device to be upgraded, a target bus corresponding to the device to be upgraded is determined. The obtaining mode of the target bus corresponding to the device to be upgraded may be set by a person skilled in the art according to an actual situation, and is not limited herein.
Optionally, the target bus corresponding to the device to be upgraded may be determined by querying the area control device-bus correspondence table.
Specifically, the specific implementation of sending the data to be flashed to the device to be upgraded may be set by a person skilled in the art according to an actual situation, and is not limited herein.
Optionally, before sending the data to be refreshed to the device to be upgraded, the method further includes: sending an upgrading request aiming at target software to equipment to be upgraded so that the equipment to be upgraded feeds back data transmission parameters of the equipment to be upgraded; sending the data to be flashed to the device to be upgraded comprises: and sending the data to be refreshed to the equipment to be upgraded according to the data transmission parameters.
The data transmission parameters include a maximum transmission unit size and a remaining buffer size. The maximum transmission unit size is the size of the maximum data packet which can be passed by the bus corresponding to the equipment to be upgraded; the size of the residual cache region is the size of the residual cache region in the cache region of the equipment to be upgraded.
Optionally, sending the data to be refreshed to the device to be upgraded according to the data transmission parameter includes:
and segmenting the data to be refreshed into a plurality of data packets to be refreshed, and sending the data packets to be refreshed to the equipment to be upgraded through the bus.
The size of the data packet to be refreshed is smaller than or equal to the size of the maximum transmission unit, and the size of the software upgrading data is smaller than or equal to the size of the residual cache area. Optionally, the flash data may further include a size of the remaining cache region, so that the device to be upgraded determines a relationship between the size of the software upgrade data and the size of the remaining cache region.
It can be understood that, when the size of the software upgrade package corresponding to the target software is larger than the size of the remaining cache region, the software upgrade package is divided into a plurality of pieces of software upgrade data, and S110-S140 are repeatedly executed until the software upgrade package is completely transmitted to the first external storage device.
It is also understood that the zone control devices corresponding to different software may be different, the remaining buffer sizes of the different zone control devices may be different, and the maximum transmission unit sizes of the buses corresponding to the different zone control devices may also be different. Therefore, when the target software to be upgraded is changed, the device to be upgraded corresponding to the target software may also be changed correspondingly. And the data to be refreshed is segmented into a plurality of data packets to be refreshed and then transmitted according to the maximum transmission unit size corresponding to the equipment to be upgraded and the size of the residual cache region, so that the probability of data transmission errors can be reduced, and a foundation is laid for accurately transmitting data to different equipment to be upgraded.
Specifically, under the condition that it is detected that the device to be upgraded corresponding to the target software supports the direct memory access technology, the data to be refreshed can be sent to the device to be upgraded, so that the device to be upgraded writes the software upgrading data into the target refreshing address by using the DMA.
It will be appreciated that since DMA technology allows data to be read and written directly between the zone control device and the memory, neither CPU intervention is required nor through the CPU. Therefore, after the device to be upgraded supporting the DMA receives the flash data, the software upgrading data can be directly written into the target address by bypassing the CPU. Therefore, in the process of writing the software upgrading data into the target address, the CPU can perform other work, the work delay of the CPU is avoided, and the work efficiency of the CPU is improved.
The software upgrading method of the embodiment of the disclosure can receive software upgrading data corresponding to target software; determining equipment to be upgraded corresponding to target software; under the condition that the device to be upgraded supports the direct memory access technology, acquiring a target flash address corresponding to target software; and sending the data to be refreshed to the equipment to be upgraded, wherein the data to be refreshed comprises a target refresh address and software upgrading data, so that the equipment to be upgraded adopts a direct memory access technology to write the software upgrading data into the target refresh address. Therefore, the software upgrading data can bypass the CPU and can be directly written into the target writing address, namely the writing process of the software upgrading data does not occupy CPU resources, the saved CPU resources can be used for carrying out other operations, and the efficiency of the CPU is improved.
In another embodiment of the present disclosure, optionally, in a case that it is detected that the device to be upgraded does not support the direct memory access technology, the software upgrade data is sent to the device to be upgraded.
Specifically, under the condition that it is detected that the device to be upgraded corresponding to the target software does not support the direct memory access technology, the software upgrading data can be sent to the device to be upgraded, so that the CPU of the device to be upgraded writes the software upgrading data into the target flash address of the secondary memory of the device to be upgraded based on the conventional access technology. Therefore, whether the equipment to be upgraded supports the DMA or not, the software upgrading data can be written into the target flash address, and the upgrading of the target software is completed.
In another embodiment of the present disclosure, optionally, before receiving the software upgrade data corresponding to the target software, the method further includes: checking whether a vehicle to which the equipment to be upgraded belongs meets a software upgrading condition; the receiving of the software upgrading data corresponding to the target software comprises the following steps: and receiving the software upgrading data under the condition that the vehicle meets the software upgrading condition.
Specifically, before checking whether the vehicle to which the device to be upgraded belongs meets the software upgrading condition, a software upgrading notification may be received, where checking whether the vehicle to which the device to be upgraded belongs meets the software upgrading condition includes: and under the condition of receiving the software upgrading notification, checking whether the vehicle to which the equipment to be upgraded belongs meets the software upgrading condition.
Specifically, the specific content of the software upgrade condition may be set by those skilled in the art according to the actual situation, and is not limited herein.
Optionally, the software upgrade condition comprises at least one of: the vehicle speed is a preset speed value, the residual battery capacity is greater than or equal to a preset capacity threshold value, and an ignition switch control terminal is in a closed state.
Illustratively, the current vehicle speed of the vehicle is obtained; when the current vehicle speed is not equal to the preset speed value, determining that the vehicle does not meet the software upgrading condition; and when the current vehicle speed is equal to the preset speed value, determining that the vehicle meets the software upgrading condition. For example, the preset speed value may be 0 or 20Km/h or less.
It can be understood that when the vehicle speed is the preset speed value, the vehicle is indicated to be in a stable driving state at present, and is not in a state with a high risk coefficient, such as sudden braking, sharp turning, uphill slope, or downhill slope, and the like, and the software is upgraded when the vehicle is in the stable state, so that the influence of the software upgrading process on the driving safety can be avoided.
When the residual battery capacity is greater than or equal to the preset capacity threshold, the residual battery capacity is large, and although part of the capacity can be consumed in the software upgrading process, the demand of the normal operation of the vehicle on the capacity can be met.
When the ignition switch control terminal is in a closed state, the vehicle is indicated to be in a state of not being started currently, and software upgrading is carried out at the moment, so that the situation that the driving safety is influenced in the software upgrading process can be avoided.
Therefore, under the condition that the vehicle to which the equipment to be upgraded belongs meets the software upgrading condition, the data to be refreshed is sent to the equipment to be upgraded so as to upgrade the target software, so that the target software can be upgraded when the vehicle is in a safe state, potential safety hazards are avoided, and the safety of people and vehicles is ensured.
Optionally, in the case that the vehicle does not satisfy the software upgrading condition, checking whether the vehicle satisfies the software upgrading condition again at preset time intervals until it is checked that the vehicle satisfies the software upgrading condition. Therefore, the upgrading data can be received in time when the vehicle is in a safe state, so that the target software can be upgraded as soon as possible.
In another embodiment of the present disclosure, optionally, after sending the data to be flashed to the device to be upgraded, the method may further include: calculating a check value corresponding to the data to be flashed; and sending a check value to the equipment to be upgraded so that the equipment to be upgraded judges whether the software upgrading data is completely received according to the check value.
Specifically, the specific calculation manner of the check value may be set by a person skilled in the art according to actual situations, and is not limited herein.
Optionally, a Hash Function (Hash Function) may be used to calculate a Hash value corresponding to the data to be written; and taking the hash value as a check value.
It can be understood that, by sending the check value to the device to be upgraded, the device to be upgraded can judge whether the data to be upgraded is received completely according to the check value. When the device to be upgraded judges that the received data to be refreshed is incomplete, feeding back a resending request to the upgrade management device, and resending the data to be refreshed by the upgrade management device in response to the resending request; and when the device to be upgraded judges that the received data to be refreshed is complete, feeding back a successful receiving notice to the upgrade management device, and deleting the data to be refreshed in the buffer area of the upgrade management device by the upgrade management device in response to the successful receiving notice.
And sending the data to be refreshed to the equipment to be upgraded again so as to ensure the complete transmission of the data to be refreshed.
Optionally, after sending the data to be refreshed to the device to be upgraded, the method may further include: receiving a receiving success notice sent by the equipment to be upgraded; in response to receiving the success notification, deleting the data to be flashed.
It can be understood that, when the reception success notification sent by the device to be upgraded is received, it indicates that the device to be upgraded has completely received the data to be refreshed, and at this time, deleting the data to be refreshed may increase the remaining space of the cache region of the upgrade management device, and the saved space of the cache region may be used to store other data.
In another embodiment of the disclosure, after the target software is determined to be upgraded, the vehicle to which the device to be upgraded belongs is controlled to restart.
Specifically, the specific implementation manner of determining whether the target software is upgraded or not may be set by a person skilled in the art according to actual situations, and is not limited herein.
Optionally, the vehicle may be controlled to restart after receiving an upgrade completion notification sent by the device to be upgraded.
It can be understood that after the vehicle is restarted, the target software after the upgrade is completed can start working, and better service is provided for users.
Hereinafter, a software upgrading method provided by the embodiment of the present disclosure will be described in detail based on a specific example.
Fig. 2 is a schematic flowchart of a software upgrading process according to an embodiment of the present disclosure.
As shown in fig. 2, the software upgrade process may specifically include the following steps.
And S2010, receiving a software upgrading notification.
S2020, checking whether the vehicle to which the equipment to be upgraded belongs meets the software upgrading condition. If not, executing S2030; if so, 2040 is performed.
And S2030, checking whether the vehicle meets the software upgrading condition again at preset time intervals until the vehicle meets the software upgrading condition.
S2040, receiving software upgrading data corresponding to the target software.
And S2050, determining equipment to be upgraded corresponding to the target software.
S2060, detecting whether the equipment to be upgraded supports the direct memory access technology. If not, executing S2070; if yes, go to S2080.
And S2070, sending the software upgrading data to the equipment to be upgraded.
Specifically, after sending the software upgrading data to the device to be upgraded, the CPU of the device to be upgraded writes the software upgrading data into the target write address of the secondary memory of the device to be upgraded based on the conventional access technology.
S2080, sending the data to be refreshed to the equipment to be upgraded.
The data to be flashed comprises a target flashing address and software upgrading data.
Specifically, after the data to be refreshed is sent to the device to be upgraded, the device to be upgraded can write the software upgrading data into the target refreshing address by adopting a direct memory access technology so as to upgrade the target software.
S2090, calculating a check value corresponding to the data to be flashed.
S2100, sending the check value to the equipment to be upgraded.
Specifically, after the check value is sent to the device to be upgraded, the device to be upgraded can judge whether the software upgrading data is completely received according to the check value, and the device to be upgraded sends a successful receiving notification to the upgrade management device after the device to be upgraded determines that the software upgrading data is completely received.
And S2110, receiving a receiving success notice sent by the equipment to be upgraded.
And S2120, responding to the receiving success notice, and deleting the data to be refreshed.
S2130, receiving an upgrade completion notification sent by the equipment to be upgraded.
S2140, controlling the vehicle where the equipment to be upgraded is located to restart.
According to the software upgrading method, the software upgrading data is written under the condition that the software upgrading condition is met, potential safety hazards cannot be caused by writing the software upgrading data in a flashing mode, and the safety factor of people and vehicles can be improved. And moreover, the DMA is adopted to bypass the CPU to directly write the software upgrading data into the target flash address, so that the process of writing the software upgrading data into the target flash address does not occupy CPU resources, and the CPU resources can be saved. And after the data to be refreshed is sent to the equipment to be upgraded, the calculation of the check value is carried out, so that the first equipment can judge whether the software data is completely received according to the check value, the data to be refreshed is sent to the equipment to be upgraded again when the data to be refreshed received by the equipment to be upgraded is incomplete, and the complete transmission of the data to be refreshed is ensured. In addition, in response to the reception of the successful notification to delete the data to be overwritten, the useless data can be removed from the cache area of the upgrade management device so as to be used for storing other data, thereby improving the utilization rate of the cache area of the upgrade management device. And the vehicle is controlled to restart after the target software is upgraded, so that the upgraded target software can be put into use as soon as possible.
Fig. 3 is a schematic flowchart of a software upgrading method according to an embodiment of the present disclosure.
In some embodiments of the present disclosure, the method shown in fig. 3 may be applied to a device to be upgraded of a vehicle, where the device to be upgraded may be a main control device different from an upgrade management device in the vehicle, and the device to be upgraded may be, for example, a running computer.
As shown in fig. 3, the software upgrading method may include the following steps.
And S310, receiving the data to be refreshed sent by the upgrade management equipment under the condition of supporting the direct memory access technology.
The data to be refreshed comprises a target refreshing address and software upgrading data corresponding to target software.
Specifically, the target refresh address in the data to be refreshed, which is sent by the upgrade management device, may be initially sent to the upgrade management device by the device to be upgraded. Optionally, before receiving the data to be flashed sent by the upgrade management device, the method may further include: receiving an address request aiming at target software sent by an upgrade management device; and responding to the address request, and feeding back a target flash address corresponding to the target software to the upgrade management equipment.
Specifically, the target write address may also be a target write address corresponding to the target software determined by the update management device querying an association table among the software, the area control device, and the address.
For the explanation of the target software, the target flash address, and the software upgrade data, reference is made to the foregoing descriptions, which are not repeated herein.
Specifically, the data to be refreshed sent by the upgrade management device may be received through a bus.
Optionally, before receiving the data to be refreshed sent by the upgrade management device, the method may further include: receiving an upgrading request aiming at target software sent by upgrading management equipment; and feeding back data transmission parameters of the equipment to be upgraded to the upgrade management equipment in response to the upgrade request so that the upgrade management equipment divides the data to be refreshed into a plurality of data packets to be refreshed, and sending the data packets to be refreshed to the equipment to be upgraded through the bus. The step of receiving the data to be refreshed sent by the upgrade management device comprises the following steps: and receiving a data packet to be refreshed sent by the upgrade management equipment.
The data transmission parameters include a maximum transmission unit size and a remaining buffer size. The size of the data packet to be flashed is smaller than or equal to the size of the maximum transmission unit, and the size of the software upgrading data is smaller than or equal to the size of the residual cache area. For the explanation of the maximum transmission unit size and the remaining buffer size, reference is made to the foregoing description, which is not repeated herein.
And S320, writing the software upgrading data into the target flash address by adopting a direct memory access technology so as to upgrade the target software.
Specifically, the device to be upgraded may include a DMA controller and a secondary memory. The DMA controller can write the software upgrading data in the cache region of the equipment to be upgraded into the secondary memory according to the target flash address, thereby realizing the upgrading of the target software.
It can be understood that, in the related art, the upgrade management device sends the flash data to the CPU of the device to be upgraded through the interface of the device to be upgraded, and then the CPU writes the software flash data into the secondary memory of the first device according to the target flash address. However, in the present disclosure, since the device to be upgraded supports DMA, after receiving the flash data, the DMA controller in the device to be upgraded can write the software upgrade data directly to the target flash address by bypassing the CPU. Therefore, in the process of writing the software upgrading data into the target flash address, the CPU can perform other work, the work delay of the CPU is avoided, and the work efficiency of the CPU is improved.
Optionally, under the condition that the memory direct access technology is not supported, after the software upgrading data sent by the upgrading management device is received, the CPU of the device to be upgraded writes the software upgrading data into the target write address of the secondary memory of the device to be upgraded based on the conventional access technology.
The software upgrading method provided by the embodiment of the disclosure can receive the data to be refreshed sent by the upgrade management device under the condition of supporting the direct memory access technology, and write the software upgrading data into the target refresh address by adopting the direct memory access technology so as to upgrade the target software. Therefore, the software upgrading data can bypass the CPU and can be directly written into the target writing address, namely the writing process of the software upgrading data does not occupy CPU resources, the saved CPU resources can be used for carrying out other operations, and the efficiency of the CPU is improved.
In other embodiments of the present disclosure, optionally, the target flash address includes a memory address of the secondary memory corresponding to the target software and a starting write address in the secondary memory.
Specifically, the memory address is used to determine which secondary memory in the first external memory device the software flash data is specifically written to. The initial write address is used for determining the specific position of the software flash data, which is started to be written in the secondary memory corresponding to the target software.
Optionally, writing the software upgrade data into the target write address by using a direct memory access technology includes: determining a secondary memory according to the memory address; and writing the software upgrading data into the secondary storage by adopting a direct memory access technology according to the initial writing address.
Specifically, the DMA controller may determine the secondary memory to which the software flash data is written based on the memory address; the DMA controller can also write the software upgrade data into the secondary memory by using DMA according to the initial write address.
In other embodiments of the present disclosure, optionally, before the direct memory access technology is adopted to write the software upgrade data into the target flash address to upgrade the target software, the method further includes: receiving a check value sent by the upgrade management equipment; and judging whether the software upgrading data is completely received or not according to the check value.
The method for updating the target software by writing the software updating data into the target flash address by adopting the direct memory access technology comprises the following steps: and under the condition that the software upgrading data is completely received, writing the software upgrading data into the target flash address by adopting a direct memory access technology so as to upgrade the target software.
Optionally, when it is determined that the software upgrade data is completely received, a reception success notification may be sent to the upgrade management device. As such, the upgrade management apparatus may delete the data to be flashed in the buffer of the upgrade management apparatus in response to the reception success notification.
Optionally, when it is determined that the software upgrade data is not completely received, a resending request is sent to the upgrade management device, so that the upgrade management device resends the data to be overwritten until it is detected that the software upgrade data is completely received.
It can be understood that, when the device to be upgraded detects that the received data to be refreshed is incomplete, the device to be upgraded requests the upgrade management device to resend the data to be refreshed again, which is beneficial to improving the transmission integrity of the data to be refreshed.
Optionally, writing the software upgrading data into the target flash address by using a direct memory access technology, so as to upgrade the target software, and then, the method may further include: and deleting the data to be flashed in the buffer area of the equipment to be upgraded.
It can be understood that, after the data to be refreshed is written into the target refresh address, deleting the data to be refreshed in the buffer area of the device to be upgraded can increase the remaining space of the buffer area of the device to be upgraded, and the saved space of the buffer area can be used for storing other data.
Hereinafter, a software upgrading method provided by the embodiment of the present disclosure will be described in detail based on a specific example.
Fig. 4 is a schematic flowchart of a software upgrading process according to an embodiment of the present disclosure.
As shown in fig. 4, the software upgrade process may specifically include the following steps.
And S410, receiving the data to be refreshed, which is sent by the upgrade management equipment, under the condition of supporting the direct memory access technology.
The data to be flashed comprises a target flashing address and software upgrading data.
And S420, receiving the check value sent by the upgrade management device.
And S430, judging whether the software upgrading data is completely received or not according to the check value. If not, go to 440; if so, 450 is performed.
And S440, sending a resending request to the upgrade management device so that the second external storage device resends the data to be refreshed until the software upgrade data is detected to be completely received.
S450, sending a receiving success notice to the upgrade management device.
And S460, writing the software upgrading data into the target flash address by adopting a direct memory access technology so as to upgrade the target software.
And S470, deleting the data to be flashed in the buffer area of the equipment to be upgraded.
And S480, receiving the software upgrading data sent by the upgrading management equipment under the condition that the direct memory access technology is not supported.
And S490, writing the software upgrading data into the target flash address of the secondary memory of the equipment to be upgraded based on the traditional access technology.
According to the software upgrading method, the DMA is adopted to bypass the CPU to directly write the software upgrading data into the target flash address, so that the CPU resource is not occupied in the process of writing the software upgrading data into the target flash address, and the CPU resource can be saved. And whether the software data is completely received can be judged according to the check value, so that when the received data to be refreshed is incomplete, the upgrading management equipment is requested to resend the data to be refreshed again, and complete transmission of the data to be refreshed is ensured. In addition, after the software upgrading data is written into the target flashing address, the data to be flashed in the buffer area of the equipment to be upgraded is deleted, and useless data can be removed from the buffer area of the equipment to be upgraded so as to be used for storing other data and improve the utilization rate of the buffer area of the equipment to be upgraded.
Fig. 5 is a schematic structural diagram of a software upgrading apparatus provided in an embodiment of the present disclosure.
In some embodiments of the present disclosure, the apparatus shown in fig. 5 may be applied to one of the main control devices of the vehicle, for example, one of the running computers of the vehicle.
As shown in fig. 5, the software upgrading apparatus may include:
a first receiving module 510 configured to receive software upgrade data corresponding to target software;
a determining module 520 configured to determine a device to be upgraded corresponding to the target software;
an obtaining module 530 configured to obtain a target write-through address corresponding to target software when it is detected that the device to be upgraded supports a direct memory access technology;
the first sending module 540 is configured to send data to be flashed to the device to be upgraded, where the data to be flashed includes the target flash address and the software upgrade data.
The software upgrading device of the embodiment of the disclosure can receive software upgrading data corresponding to target software; determining equipment to be upgraded corresponding to the target software; under the condition that the device to be upgraded supports the direct memory access technology, acquiring a target flash address corresponding to target software; and sending the data to be refreshed to the equipment to be upgraded, wherein the data to be refreshed comprises a target refresh address and software upgrading data, so that the equipment to be upgraded adopts a direct memory access technology to write the software upgrading data into the target refresh address. Therefore, the software upgrading data can bypass the CPU and can be directly written into the target writing address, namely the writing process of the software upgrading data does not occupy CPU resources, the saved CPU resources can be used for carrying out other operations, and the efficiency of the CPU is improved.
In other embodiments of the present disclosure, optionally, the apparatus may further include an inspection module;
the checking module can be configured to check whether a vehicle to which the equipment to be upgraded belongs meets the software upgrading condition before receiving the software upgrading data corresponding to the target software;
the first receiving module 510 may be specifically configured to receive the software upgrade data when the vehicle meets the software upgrade condition.
In other embodiments of the present disclosure, optionally, the software upgrade condition includes at least one of the following: the vehicle speed is a preset speed value, the residual battery capacity is greater than or equal to a preset capacity threshold value, and an ignition switch control terminal is in a closed state.
It should be noted that the software upgrading apparatus 500 shown in fig. 5 may execute each step in the method embodiments shown in fig. 1 and fig. 2, and implement each process and effect in the method embodiments shown in fig. 1 and fig. 2, which are not described herein again.
Fig. 6 is a schematic structural diagram of a software upgrading apparatus according to an embodiment of the present disclosure.
In some embodiments of the present disclosure, the apparatus shown in fig. 6 may be applied to one of the main control devices of the vehicle, for example, one of the traveling computers of the vehicle. The apparatus shown in fig. 5 and 6 may be applied to different master devices.
As shown in fig. 6, the software upgrading apparatus may include:
the second receiving module 610 is configured to receive data to be refreshed sent by the upgrade management device under the condition that the memory direct access technology is supported, where the data to be refreshed includes a target refresh address and software upgrade data corresponding to target software;
the write-in module 620 is configured to write the software upgrade data into the target write-in address by using a direct memory access technology, so as to upgrade the target software.
The software upgrading device provided by the embodiment of the disclosure can receive the data to be refreshed, which is sent by the upgrading management device, under the condition of supporting the direct memory access technology, and write the software upgrading data into the target refreshing address by adopting the direct memory access technology so as to upgrade the target software. Therefore, the software upgrading data can bypass the CPU and can be directly written into the target writing address, namely the writing process of the software upgrading data does not occupy CPU resources, the saved CPU resources can be used for carrying out other operations, and the efficiency of the CPU is improved.
In other embodiments of the present disclosure, optionally, the target flush address includes a memory address of the secondary memory corresponding to the target software and a starting write address of the software upgrade data in the secondary memory.
In other embodiments of the present disclosure, optionally, the apparatus may further include a third receiving module, and a determining module;
the third receiving module is configured to write the software upgrading data into the target flash address by adopting a direct memory access technology so as to receive the check value sent by the upgrading management equipment before upgrading the target software;
the judging module can be configured to judge whether the software upgrading data is completely received according to the check value;
the writing module 620 is specifically configured to write the software upgrade data into the target flash address by using a direct memory access technology under the condition that the software upgrade data is completely received, so as to upgrade the target software.
It should be noted that the software upgrading apparatus 600 shown in fig. 6 may execute each step in the method embodiments shown in fig. 3 and fig. 4, and implement each process and effect in the method embodiments shown in fig. 3 and fig. 4, which are not described herein again.
Fig. 7 is a schematic structural diagram of a software upgrading system according to an embodiment of the present disclosure.
In some embodiments of the present disclosure, the software upgrade system shown in fig. 7 may be applied in a vehicle for upgrading target software.
Referring to fig. 7, the software upgrade system includes: a device to be upgraded 710 and an upgrade management device 720;
the device to be upgraded 710 is used for receiving software upgrading data corresponding to the target software; determining 710 a device to be upgraded corresponding to the target software; under the condition that the device to be upgraded 710 is detected to support the direct memory access technology, acquiring a target flash address corresponding to target software; sending data to be flashed to the device to be upgraded 710, wherein the data to be flashed comprises a target flashing address and software upgrading data;
the upgrade management device 720 is configured to receive data to be refreshed sent by the upgrade management device 720 under the condition that the memory direct access technology is supported, where the data to be refreshed includes a target refresh address and software upgrade data corresponding to target software; and writing the software upgrading data into a target flash address by adopting a direct memory access technology so as to upgrade the target software.
In the software upgrading system of the embodiment of the disclosure, the upgrade management device may determine the target write-through address corresponding to the target software when detecting that the device to be upgraded corresponding to the target software supports the direct memory access technology, and send the data to be written through to the device to be upgraded, where the data to be written through includes the target write-through address and the software upgrading data, so that the device to be upgraded writes the software upgrading data through the direct memory access technology into the target write-through address. Therefore, the software upgrading data can bypass the CPU and can be directly written into the target writing address, namely the writing process of the software upgrading data does not occupy CPU resources, the saved CPU resources can be used for carrying out other operations, and the efficiency of the CPU is improved.
In another embodiment of the present disclosure, optionally, the upgrade management device is further configured to check whether a vehicle to which the device to be upgraded belongs meets a software upgrade condition;
the upgrade management device is specifically configured to receive software upgrade data when the vehicle satisfies a software upgrade condition.
Optionally, the software upgrade condition comprises at least one of:
the vehicle speed is a preset speed value, the residual battery capacity is greater than or equal to a preset capacity threshold value, and an ignition switch control terminal is in a closed state.
Specifically, the specific structure of the upgrade management device may be set by a person skilled in the art according to actual situations, and is not limited herein. Illustratively, the upgrade management device includes a second hash controller, a second cache controller, a second hardware controller, and a second protocol controller.
In another embodiment of the present disclosure, with continued reference to fig. 7, optionally, the target flush address includes a memory address of the secondary memory 711 corresponding to the target software and a starting write address of the software upgrade data in the secondary memory 711.
Optionally, the device to be upgraded is further configured to write the software upgrade data into the target write address by using a direct memory access technology, so as to receive the check value sent by the upgrade management device before upgrading the target software; judging whether the software upgrading data is completely received or not according to the check value;
the device to be upgraded is specifically used for writing the software upgrading data into the target flash address by adopting a direct memory access technology under the condition that the software upgrading data is completely received so as to upgrade the target software.
Specifically, the specific structure of the device to be upgraded 710 may be set by a person skilled in the art according to actual situations, and is not limited herein. Illustratively, the device to be upgraded 710 includes a secondary memory 711, a first DMA controller, a first hash controller, a first cache controller, a first hardware controller, and a first protocol controller.
It should be noted that the software upgrading system shown in fig. 7 has the same effect as the software upgrading method in the method embodiments shown in fig. 1 to fig. 4, and details are not repeated here.
Hereinafter, a software upgrading system provided by the embodiment of the present disclosure will be described in detail based on a specific example.
Fig. 8 is a schematic workflow diagram of a software upgrading system according to an embodiment of the present disclosure.
As shown in fig. 8, the software upgrade system workflow may specifically include the following steps.
S8010, the upgrade management device receives a software upgrade notification.
S8020, the upgrade management device checks whether the vehicle to which the device to be upgraded belongs meets the software upgrade condition. If not, executing S8030; if yes, go to 8040.
S8030, the upgrade management device checks whether the vehicle meets the software upgrade condition again at preset time intervals until the vehicle meets the software upgrade condition.
S8040, the upgrade management device receives software upgrade data corresponding to the target software.
S8050, the upgrading management device determines the device to be upgraded corresponding to the target software.
S8060, the upgrade management device detects whether the device to be upgraded supports the direct memory access technology. If not, executing S8070; if yes, go to S8090.
And S8070, the upgrade management device sends the software upgrade data to the device to be upgraded.
S8080, writing the software upgrading data into a target flash address of a secondary memory of the equipment to be upgraded by a CPU of the equipment to be upgraded based on a traditional access technology.
S8090, acquiring a target writing address corresponding to the target software.
And S8100, the upgrade management device sends the data to be refreshed to the device to be upgraded.
The data to be flashed comprises a target flashing address and software upgrading data.
And S8110, the device to be upgraded receives the data to be refreshed, which are sent by the upgrade management device.
And S8120, the upgrade management device calculates a check value corresponding to the data to be refreshed. And S8130, the upgrade management device sends the check value to the device to be upgraded.
And S8140, the equipment to be upgraded receives the check value sent by the upgrade management equipment.
And S8150, the equipment to be upgraded judges whether the software upgrading data are completely received according to the check value. If not, 8160 is executed; if so, 8170 is performed.
S8160, the device to be upgraded sends a resending request to the upgrade management device so that the second external storage device resends the data to be refreshed until the software upgrade data is detected to be completely received.
And S8170, the device to be upgraded sends a receiving success notice to the upgrade management device.
S8180, the device to be upgraded adopts a direct memory access technology to write the software upgrading data into the target flash address so as to upgrade the target software.
And S8190, deleting the data to be flashed in the buffer area of the equipment to be upgraded by the equipment to be upgraded.
S8200, the upgrade management device receives a successful receiving notice sent by the device to be upgraded.
S8210, the upgrade management device deletes the data to be refreshed in response to the receiving success notification.
S8220, the upgrade management device receives an upgrade completion notification sent by the device to be upgraded.
S8230, the upgrade management device controls the vehicle where the device to be upgraded is located to restart.
According to the software upgrading system, the upgrading management equipment performs the flash of the software upgrading data under the condition that the software upgrading conditions are met, the flash of the software upgrading data is avoided, potential safety hazards cannot be caused, and the safety factor of people and vehicles can be improved. Moreover, the device to be upgraded directly writes the software upgrading data into the target flashing address by bypassing the CPU through the DMA, so that the process of writing the software upgrading data into the target flashing address does not occupy CPU resources, and the CPU resources can be saved. And after the upgrade management device sends the data to be refreshed to the device to be upgraded, the upgrade management device calculates the check value, so that the first device can judge whether the software data is completely received according to the check value, and when the data to be refreshed received by the device to be upgraded is incomplete, the upgrade management device sends the data to be refreshed to the device to be upgraded again, and complete transmission of the data to be refreshed is ensured. In addition, the upgrade management device may remove the useless data from the cache area of the upgrade management device in response to the reception of the success notification to delete the data to be flashed, so as to be used to store other data, improving the utilization rate of the cache area of the upgrade management device. After the software upgrading data is written into the target flashing address by the equipment to be upgraded, the data to be flashed in the buffer area of the equipment to be upgraded is deleted, and useless data can be removed from the buffer area of the equipment to be upgraded so as to be used for storing other data and improve the utilization rate of the buffer area of the equipment to be upgraded.
Fig. 9 is a schematic structural diagram of a computing device according to an embodiment of the present disclosure.
In some embodiments of the present disclosure, the computing device shown in fig. 9 may be a device to be upgraded, or may be an upgrade management device.
As shown in fig. 9, the computing device may include a processor 901 and a memory 902 that stores computer program instructions.
Specifically, the processor 901 may include a Central Processing Unit (CPU), or an Application Specific Integrated Circuit (ASIC), or may be configured to implement one or more Integrated circuits of the embodiments of the present Application.
Memory 902 may include a mass storage for information or instructions. By way of example, and not limitation, memory 902 may include a Hard Disk Drive (HDD), floppy Disk Drive, flash memory, optical Disk, magneto-optical Disk, tape, or Universal Serial Bus (USB) Drive or a combination of two or more of these. Memory 902 may include removable or non-removable (or fixed) media, where appropriate. The memory 902 may be internal or external to the integrated gateway device, where appropriate. In a particular embodiment, the memory 902 is a non-volatile solid-state memory. In a particular embodiment, the Memory 902 includes a Read-Only Memory (ROM). The ROM may be mask-programmed ROM, programmable ROM (PROM), erasable PROM (Electrically Erasable PROM, EPROM), electrically Erasable PROM (Electrically Erasable PROM, EEPROM), electrically Alterable ROM (Electrically Alterable ROM, EAROM), or flash memory, or a combination of two or more of these, where appropriate.
The processor 901 may perform the steps in the method embodiments shown in fig. 1 and 2 when the computing device is an upgrade management device by reading and executing computer program instructions stored in the memory 902; when the computing device is a management device to be upgraded, the steps in the method embodiments shown in fig. 3 and 4 may be performed.
In one example, the computing device can also include a transceiver 903 and a bus 904. As shown in fig. 9, the processor 901, the memory 902 and the transceiver 903 are connected via a bus 904 to complete communication with each other.
The bus 904 includes hardware, software, or both. By way of example and not limitation, a BUS may include an Accelerated Graphics Port (AGP) or other Graphics BUS, an Enhanced Industrial Standard Architecture (EISA) BUS, a Front Side BUS (Front Side BUS, FSB), a Hyper Transport (HT) Interconnect, an Industrial Standard Architecture (ISA) BUS, an infinite bandwidth Interconnect, a Low Pin Count (LPC) BUS, a memory BUS, a microchannel Architecture (MCA) BUS, a Peripheral Control Interconnect (PCI) BUS, a PCI-Express (PCI-X) BUS, a Serial Advanced Technology Attachment (Attachment Technology), an Attachment BUS, a Video Electronics Standard Local Association (vldeo Electronics Association), or a combination of two or more of these buses, or other suitable combinations thereof. Bus 904 may include one or more buses, where appropriate. Although specific buses are described and shown in the embodiments of the application, any suitable buses or interconnects are contemplated by the application.
The disclosed embodiments also provide a computer-readable storage medium, which may store a computer program, and when the computer program is executed by a processor, the processor is enabled to implement the software upgrading method provided by the disclosed embodiments.
The storage medium may, for example, include a memory 902 of computer program instructions executable by a processor 901 of a computing device to perform a software upgrade method provided by embodiments of the present disclosure. Alternatively, the storage medium may be a non-transitory computer readable storage medium, for example, the non-transitory computer readable storage medium may be a ROM, a Random Access Memory (RAM), a Compact disc read only Memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, and the like.
It is noted that, in this document, relational terms such as "first" and "second," and the like, may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
The foregoing are merely exemplary embodiments of the present disclosure, which enable those skilled in the art to understand or practice the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (11)

1. A method of upgrading software, comprising:
receiving software upgrading data corresponding to target software;
determining equipment to be upgraded corresponding to the target software;
under the condition that the device to be upgraded supports the direct memory access technology, acquiring a target flash address corresponding to the target software;
and sending data to be refreshed to the equipment to be upgraded, wherein the data to be refreshed comprises the target refresh address and the software upgrading data.
2. The software upgrading method according to claim 1, wherein before the receiving the software upgrading data corresponding to the target software, the method further comprises:
checking whether the vehicle to which the equipment to be upgraded belongs meets the software upgrading condition;
wherein, the receiving of the software upgrading data corresponding to the target software comprises:
receiving the software upgrade data if the vehicle satisfies the software upgrade condition.
3. The software upgrade method according to claim 2, the software upgrade condition comprising at least one of:
the vehicle speed is a preset speed value, the residual battery capacity is greater than or equal to a preset capacity threshold value, and an ignition switch control terminal is in a closed state.
4. A method of upgrading software, comprising:
receiving data to be refreshed sent by upgrade management equipment under the condition of supporting a direct memory access technology, wherein the data to be refreshed comprises a target refresh address and software upgrade data corresponding to target software;
and writing the software upgrading data into the target flash address by adopting the direct memory access technology so as to upgrade the target software.
5. The software upgrading method according to claim 4, wherein the target flashing address comprises a memory address of a secondary memory corresponding to the target software and a starting writing address of the software upgrading data in the secondary memory.
6. The software upgrading method according to claim 4, wherein before the writing the software upgrading data into the target flash address by using the direct memory access technology to upgrade the target software, the method further comprises:
receiving a check value sent by the upgrade management device;
judging whether the software upgrading data is completely received or not according to the check value;
the writing the software upgrading data into the target flash address by adopting the direct memory access technology to upgrade the target software includes:
and under the condition that the software upgrading data is completely received, writing the software upgrading data into the target flash address by adopting the direct memory access technology so as to upgrade the target software.
7. A software upgrading apparatus, comprising:
the first receiving module is configured to receive software upgrading data corresponding to target software;
the determining module is configured to determine the equipment to be upgraded corresponding to the target software;
the acquisition module is configured to acquire a target flash address corresponding to the target software under the condition that the device to be upgraded is detected to support a direct memory access technology;
the first sending module is configured to send data to be refreshed to the device to be upgraded, and the data to be refreshed comprises the target refresh address and the software upgrading data.
8. A software upgrading apparatus, comprising:
the second receiving module is configured to receive data to be refreshed, which is sent by the upgrade management device, under the condition that the memory direct access technology is supported, wherein the data to be refreshed comprises a target refresh address and software upgrade data corresponding to target software;
and the writing module is configured to write the software upgrading data into the target flash address by adopting the direct memory access technology so as to upgrade the target software.
9. A software upgrade system, comprising: the device to be upgraded and the upgrade management device;
the device to be upgraded is used for receiving software upgrading data corresponding to target software; determining equipment to be upgraded corresponding to the target software; under the condition that the device to be upgraded supports the direct memory access technology, acquiring a target flash address corresponding to the target software; sending data to be refreshed to the equipment to be upgraded, wherein the data to be refreshed comprises the target refresh address and the software upgrading data;
the upgrading management equipment is used for receiving data to be refreshed sent by the upgrading management equipment under the condition of supporting a direct memory access technology, wherein the data to be refreshed comprises a target refreshing address and software upgrading data corresponding to target software; and writing the software upgrading data into the target flash address by adopting the direct memory access technology so as to upgrade the target software.
10. A computing device, comprising:
a processor;
a memory for storing executable instructions;
wherein the processor is configured to read the executable instructions from the memory and execute the executable instructions to implement the software upgrading method of any one of the preceding claims 1-3 or the software upgrading method of any one of the claims 4-6.
11. A computer-readable storage medium, characterized in that the storage medium stores a computer program which, when executed by a processor, causes the processor to implement the software upgrade method of any one of the preceding claims 1-3, or the software upgrade method of any one of the claims 4-6.
CN202111082240.7A 2021-09-15 2021-09-15 Software upgrading method, device, system, equipment and storage medium Pending CN115809071A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111082240.7A CN115809071A (en) 2021-09-15 2021-09-15 Software upgrading method, device, system, equipment and storage medium
PCT/CN2022/117114 WO2023040695A1 (en) 2021-09-15 2022-09-05 Software upgrade method, apparatus and system, and device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111082240.7A CN115809071A (en) 2021-09-15 2021-09-15 Software upgrading method, device, system, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN115809071A true CN115809071A (en) 2023-03-17

Family

ID=85481890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111082240.7A Pending CN115809071A (en) 2021-09-15 2021-09-15 Software upgrading method, device, system, equipment and storage medium

Country Status (2)

Country Link
CN (1) CN115809071A (en)
WO (1) WO2023040695A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116009925B (en) * 2023-03-24 2023-07-14 合肥力高动力科技有限公司 Sub-battery management unit program refreshing method of battery management system
CN117406698B (en) * 2023-12-12 2024-03-01 广汽埃安新能源汽车股份有限公司 ECU fault processing method and device in brushing process

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10803970B2 (en) * 2011-11-14 2020-10-13 Seagate Technology Llc Solid-state disk manufacturing self test
CN109873722B (en) * 2019-02-27 2023-01-10 深圳大学 Firmware remote upgrading method and device, computer equipment and storage medium
CN111752583B (en) * 2020-06-11 2024-05-14 Oppo广东移动通信有限公司 Firmware upgrading method, device, electronic equipment and computer readable storage medium
CN112612490A (en) * 2020-12-17 2021-04-06 华人运通(上海)云计算科技有限公司 Vehicle upgrading method, vehicle and storage medium

Also Published As

Publication number Publication date
WO2023040695A1 (en) 2023-03-23

Similar Documents

Publication Publication Date Title
WO2023040695A1 (en) Software upgrade method, apparatus and system, and device and storage medium
CN110582071B (en) In-vehicle device, information processing method, and recording medium
JP6444263B2 (en) Content distribution system and content distribution method
JP7106650B2 (en) COMMUNICATION MODE SELECTION METHOD, APPARATUS, VEHICLE, AND PROGRAM
CN111147564A (en) Data file transmission method, system and communication terminal
CN109673009B (en) Method and device for upgrading VCU software in air
CN108989432B (en) User-mode file sending method, user-mode file receiving method and user-mode file receiving and sending device
JP6902722B2 (en) Program update system, control system, mobile, program update method and program
KR20170010810A (en) Method, device and user equipment for reading/writing data in nand flash
CN105704794A (en) Telematics control system and method
CN116032861A (en) Message processing method and device
CN111737161B (en) File transmission method, terminal and storage medium of Flash memory
JP7167726B2 (en) Communication terminal equipment and base station equipment
JP6369397B2 (en) Information communication system for vehicles
CN110677466A (en) Application program downloading method, device, gateway and storage medium
JP6369396B2 (en) Information communication system for vehicles
JP2017011373A (en) Vehicular information communication system
CN115277413B (en) Upgrading method and device of vehicle controller, vehicle and storage medium
CN114064221A (en) Interrupt processing method, device, system, equipment and storage medium
JP6330855B2 (en) Vehicle information communication system and application program
JP2017213990A (en) Information communication system for vehicle and application program
JP4821867B2 (en) Communication device and communication program
CN114721717B (en) Dual-system-based mobile phone management system mdm instruction calling method and device
JP6327291B2 (en) Information communication system for vehicles
WO2022113261A1 (en) Information collection system, server, vehicle, method, and computer-readable medium

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