Nothing Special   »   [go: up one dir, main page]

CN107357595B - Bus-based multi-driver firmware online updating system - Google Patents

Bus-based multi-driver firmware online updating system Download PDF

Info

Publication number
CN107357595B
CN107357595B CN201610301553.XA CN201610301553A CN107357595B CN 107357595 B CN107357595 B CN 107357595B CN 201610301553 A CN201610301553 A CN 201610301553A CN 107357595 B CN107357595 B CN 107357595B
Authority
CN
China
Prior art keywords
firmware
driver
update
packet
module
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
CN201610301553.XA
Other languages
Chinese (zh)
Other versions
CN107357595A (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.)
Shanghai Anpu Mingzhi Automation Equipment Co ltd
Original Assignee
Shanghai Anpu Mingzhi Automation Equipment 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 Shanghai Anpu Mingzhi Automation Equipment Co ltd filed Critical Shanghai Anpu Mingzhi Automation Equipment Co ltd
Priority to CN201610301553.XA priority Critical patent/CN107357595B/en
Publication of CN107357595A publication Critical patent/CN107357595A/en
Application granted granted Critical
Publication of CN107357595B publication Critical patent/CN107357595B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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 invention relates to a bus-based multi-driver firmware online updating system, which comprises an updating server, a communication bus and at least one driver, wherein the updating server is respectively connected with each driver through the communication bus; the update server performs automatic search, driver firmware version identification, firmware update, error code retransmission and offline inquiry on the online drivers, and provides an online driver list for selecting a plurality of or a single driver to update the firmware; the driver returns a version number of the driver, a response packet after firmware updating processing, an error code and a response packet after disconnection inquiring processing according to an instruction of the updating server. Compared with the prior art, the invention has the advantages of safety, stability, effectiveness and the like.

Description

Bus-based multi-driver firmware online updating system
Technical Field
The present invention relates to a driver firmware update system, and more particularly, to a bus-based multi-driver firmware online update system.
Background
In a large-scale automated pipeline, a plurality of drivers need to be connected by using a bus such as CAN, ethernet, RS485/422, and each driver receives an action instruction through the bus, so that accurate actions are completed. Due to technology upgrades or improvements, the functionality of the drive is upgraded by requiring unscheduled updates to the firmware of the drive. However, in order to update the driver firmware, the drivers must be retired from the bus, and even the drivers need to be fetched from the pipeline, and firmware update is performed separately for each driver. Thus, a great amount of time is wasted, and a great potential safety hazard is brought to the subsequent normal use.
Disclosure of Invention
The present invention is directed to a secure, stable, and efficient bus-based online firmware update system that overcomes the above-described deficiencies of the prior art.
The aim of the invention can be achieved by the following technical scheme:
the system comprises an update server, a communication bus and at least one driver, wherein the update server is respectively connected with each driver through the communication bus;
the update server performs automatic search, driver firmware version identification, firmware update error code retransmission and offline inquiry on the online drivers, and provides an online driver list for selecting a plurality of or a single driver to update the firmware;
the driver returns a version number of the driver, a response packet after firmware updating processing, an error code and a response packet after disconnection inquiring processing according to an instruction of the updating server.
The communication bus is included in CAN, ethernet, RS485 or RS422 buses.
The updating server comprises a driver searching and firmware version identifying module, a firmware updating initial processing module, a firmware updating data processing module, a firmware updating abnormal processing module, a firmware updating disconnection inquiring module and a firmware updating ending processing module;
the driver comprises a firmware version response module, a firmware update starting receiving module, a firmware update data receiving module, a firmware update abnormal response module, a firmware update disconnection inquiry response module and a firmware update ending receiving module;
the device comprises a driver searching and firmware version identifying module, a firmware updating initial processing module and a firmware updating data processing module of the updating server, wherein the firmware updating data processing module is connected with a firmware updating abnormal processing module and a firmware updating disconnection inquiring module respectively, and the firmware updating abnormal processing module and the firmware updating disconnection inquiring module are connected with a firmware updating ending processing module respectively;
the firmware version response module, the firmware update starting receiving module and the firmware update data receiving module of the driver are sequentially connected, the firmware update data receiving module is respectively connected with the firmware update abnormal response module and the firmware update disconnection inquiry response module, and the firmware update abnormal response module and the firmware update disconnection inquiry response module are respectively connected with the firmware update ending receiving module.
The driver searching and firmware version identifying module of the updating server automatically sends a driver inquiry instruction to search the driver on the communication bus according to the address in the database, the firmware version corresponding module of the driver sends the version number of the current firmware to the driver searching and firmware version identifying module of the updating server after receiving the instruction which is the same as the current address, and the driver searching and firmware version identifying module of the updating server displays all drivers in the communication bus according to the address and the version number of the current firmware according to the specific information of the received instruction and highlights the driver address with the version number of the firmware in the driver which is different from the version number of the current firmware to be updated.
After selecting a driver needing to update firmware, the firmware update start processing module sequentially and automatically sends the latest firmware package according to the sequence of address ASIC codes, and the specific process is as follows:
the firmware update start processing module of the update server firstly transmits a firmware update start packet which comprises an update start code and an address of a firmware driver to be updated;
after receiving the initial packet with the same address as the host, the firmware version response module of the driver sends the same initial packet to the firmware update initial processing module and enters a state waiting for updating the data packet; if the initial packet received by the driver is different from the address of the host, no byte is returned to the firmware update initial processing module, and the initial packet matched with the address of the host is continued to be waited.
After receiving the initial packet sent by the firmware update data receiving module of the matched driver, the firmware update data processing module of the update server sends a data packet to the corresponding driver for firmware update, wherein the sent data packet comprises the matched driver address, the sequence number of the current sent data packet, the program packet needing to be updated, data verification in the program packet and CRC16 verification of the whole sent data packet.
The specific process of firmware updating by the firmware updating data processing module of the updating server sending a data packet to the firmware updating data receiving module in the corresponding driver is as follows:
after the driver which is matched with the initial packet on the communication bus receives the data which accords with the data packet, checking the data byte by byte;
after confirming that the mark code and the address of the data packet are correct, receiving the program packet in the data packet, checking the data in the program packet, and performing CRC16 check on the whole sent data packet;
after the two kinds of verification are confirmed to be completely correct, the driver writes the program package into the corresponding FLASH area, and the firmware update data receiving module of the driver sends and receives the data package and writes a successful return package to the firmware update data processing module;
after receiving the return packet written successfully, the firmware update data processing module of the update server continues to send the next data packet to the communication bus.
If the matched driver fails to verify after the verification address is incorrect or after the data packet with the matched address is received, discarding the data packet with the current error, adding the corresponding error into the error state byte of the returned packet, and simultaneously, sending the returned packet which is not written successfully to a firmware update exception handling module of the update server by a firmware update exception response module of the driver;
after receiving the data packet which is not written successfully, the firmware update exception handling module of the update server records and displays the data packet in the system according to error information contained in the returned packet, wherein the error information comprises: program package and check error, program package write FLASH error, communication error, CRC16 check error, driver address error, and send data package sequence number error;
the firmware update exception handling module of the update server resends the data packet with the same packet sequence number to the bus, and waits for the firmware update of the driver to receive whether to return a correct return packet; if the driver does not return the correct return packet after the data packet is sent three times continuously, the driver update of the current address is terminated, and the next driver is automatically updated.
If the driver does not receive the update packet with the complete byte number or the update server does not receive the return packet sent by the firmware update data receiving module of the driver due to interference on the communication bus during firmware update, the firmware update offline query module of the update server considers that the current driver is in an offline state, and after the firmware update offline query module of the update server detects that the driver being updated is in an offline state, the firmware update offline query module of the update server sends an address matching query packet to the communication bus, and waits for a reply of the firmware update offline query corresponding module of the driver;
after detecting the mark of the query packet and confirming that the addresses are matched, the driver in the update state enters a driver firmware update disconnection query corresponding module, the driver sends the packet serial number of the last correct update packet to a firmware update disconnection query module of an update server, and after receiving a query return packet, the firmware update disconnection query module continues to send the next correct update packet to the driver;
if the firmware update offline query module of the update server continuously sends three query packets without returning, confirming that the current update driver is physically offline and cannot be updated, and continuously updating the next driver.
When all the update packages are sent, a firmware update end processing module of the update server sends an end package to a communication bus;
after the driver detects that the end packet mark code and the address are matched, a firmware update end receiving module of the driver performs final configuration and parameter storage on the updated driver and restarts the driver;
after the driver is restarted, the current firmware version number in the driver is sent to an updating server, and the updating server confirms that the firmware version number in the driver is matched with the latest version number and then continues to update the firmware of the next driver.
Compared with the prior art, the invention has the following advantages:
the multi-driver firmware online updating system based on the bus adopts a handshake communication mode, supports a plurality of bus protocols such as CAN, ethernet, RS485/422 and the like, not only can update the firmware for a plurality of drivers simultaneously in the bus, but also has an online driver automatic searching function, a driver firmware version number identifying function, a firmware updating error code retransmitting function and a offline inquiring function, provides an online driver list, and can select a plurality of or a single driver to update the firmware. Other types of firmware update systems can only update a single drive, and can only update the current drive again after an update procedure is in error.
Drawings
FIG. 1 is a schematic diagram of the structure of the present invention;
FIG. 2 is a schematic diagram of an update server according to the present invention;
FIG. 3 is a schematic diagram of a driver according to the present invention;
FIG. 4 is a simplified workflow diagram of the present invention;
FIG. 5 is a detailed workflow diagram of an update server of the present invention;
fig. 6 is a detailed workflow diagram of the drive of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present invention without making any inventive effort, shall fall within the scope of the present invention.
As shown in fig. 1, a bus-based multi-driver firmware online updating system comprises an updating server 1, a communication bus 2 and at least one driver 3, wherein the updating server 1 is respectively connected with each driver 3 through the communication bus 2; the update server 1 performs automatic search, driver firmware version identification, firmware update error code retransmission and offline inquiry on the online drivers, and provides an online driver list for selecting a plurality of or a single driver to update the firmware.
The communication bus 2 is included in CAN, ethernet, RS485 or RS422 buses.
As shown in fig. 2, the update server 1 includes a driver searching and firmware version identifying module 101, a firmware update start processing module 102, a firmware update data processing module 103, a firmware update exception processing module 104, a firmware update disconnection inquiring module 105, and a firmware update end processing module 106;
the driver searching and firmware version identifying module 101, the firmware updating initial processing module 102 and the firmware updating data processing module 103 are connected in sequence, the firmware updating data processing module 103 is connected with the firmware updating abnormal processing module 104 and the firmware updating offline inquiring module 105 respectively, and the firmware updating abnormal processing module 104 and the firmware updating offline inquiring module 105 are connected with the firmware updating ending processing module 106 respectively.
As shown in fig. 3, the drive 3 includes a firmware version response module 107, a firmware update start receiving module 108, a firmware update data receiving module 109, a firmware update exception response module 110, a firmware update drop-out inquiry response module 111, and a firmware update end receiving module 112.
The firmware version response module 107, the firmware update start receiving module 108 and the firmware update data receiving module 109 are sequentially connected, the firmware update data receiving module 109 is respectively connected with the firmware update exception response module 110 and the firmware update disconnection inquiry response module 111, and the firmware update exception response module 110 and the firmware update disconnection inquiry response module 111 are respectively connected with the firmware update end receiving module 112.
The driver searching and firmware version identifying module 101 automatically sends a driver inquiry command to search for a driver on the communication bus according to the address in the database, the driver firmware version responding module 107 receives the same command as the current address and then sends the version number of the current firmware to the driver searching and firmware version identifying module, and the driver searching and firmware version identifying module displays all drivers in the communication bus according to the specific information of the received command and the version number of the current firmware, and highlights the driver address with the version number of the firmware in the driver different from the version number of the current firmware to be updated. The driver that needs to be updated can be freely selected by selecting a check box before the driver list.
After selecting the driver that needs to update the firmware, the firmware update start processing module 102 sequentially and automatically sends the latest firmware package according to the sequence of the address ASIC codes, which specifically includes: the firmware update start processing module firstly sends a firmware update start packet which comprises an update start code and an address of a firmware driver to be updated; after receiving the initial packet with the same address as the host, the driver firmware update initial receiving module 108 sends the same initial packet to the firmware update initial processing module, and enters a state waiting for updating the data packet; if the initial packet received by the driver is different from the address of the host, no byte is returned to the firmware update initial processing module, and the initial packet matched with the address of the host is continued to be waited.
After receiving the start packet sent by the matched driver, the firmware update data processing module 103 sends a data packet to the corresponding driver for firmware update, where the sent data packet includes the matched driver address, the sequence number of the current sent data packet, the program packet to be updated, the data check in the program packet, and the CRC16 check of the entire sent data packet.
The specific process of firmware updating by the firmware updating data processing module sending the data packet to the corresponding driver is as follows: after the driver which is matched with the initial packet on the communication bus receives the data which accords with the data packet, checking the data byte by byte; after confirming that the mark code and the address of the data packet are correct, receiving the program packet in the data packet, checking the data in the program packet, and performing CRC16 check on the whole sent data packet; after confirming that the two kinds of verification are completely correct, the driver writes the program package into the corresponding FLASH area, and the firmware update data receiving module 109 sends the received data package and writes a successful return package to the firmware update data processing module; after receiving the return packet successfully written, the firmware updating data processing module continues to send the next data packet to the communication bus.
The driver on the bus that does not match the start packet will not update the packet because it does not enter the update packet state.
If the matched driver fails to verify after verifying that the address is incorrect or after receiving the data packet with the matched address, discarding the data packet with the current error, adding the corresponding error into the error status byte of the returned packet, and simultaneously, sending the returned packet which is not successfully written to the firmware update exception handling module 104 by the firmware update exception response module 110;
after receiving the data packet which is not written successfully, the firmware update exception handling module records and displays the data packet in the system according to error information contained in the returned packet, wherein the error information comprises: program package and check error, program package write FLASH error, communication error, CRC16 check error, driver address error, and send data package sequence number error;
the firmware update exception handling module resends the data packet with the same packet sequence number to the bus, and waits for whether the driver returns a correct return packet; if the driver does not return the correct return packet after the data packet is sent three times continuously, the driver update of the current address is terminated, and the next driver is automatically updated.
If the driver does not receive the update packet with the complete byte number or the update server does not receive the return packet sent by the driver due to the interference on the communication bus during the firmware update, the firmware update offline inquiry module 105 considers that the current driver is in the offline state, and after detecting that the updated driver is in the offline state, the firmware update offline inquiry module sends an address matching inquiry packet to the communication bus to wait for the reply of the driver;
after the driver in the update state detects the mark of the query packet and confirms that the addresses are matched, the driver enters the query state, the driver firmware update offline query response module 111 sends the packet serial number of the last correct update packet to the firmware update offline query module, and the firmware update offline query module continues to send the next correct update packet to the driver after receiving the query return packet;
if the firmware update offline query module continuously sends three query packets without returning, the current update driver is confirmed to be physically offline and unable to be updated, and the next driver is continuously updated.
When all the update packages are sent, the firmware update end processing module sends an end package to the communication bus;
after the driver firmware update end receiving module 112 detects that the end packet flag code and the address match, the updated driver is subjected to final configuration and parameter storage and restarted;
after the driver is restarted, the current firmware version number in the driver is sent to an updating server, and the updating server confirms that the firmware version number in the driver is matched with the latest version number and then continues to update the firmware of the next driver.
As shown in fig. 4-6, at the firmware update system side, the system will first scan the address of the driver on the bus, and display the address of the driver hung on the bus and the firmware version number. When a drive to be updated is selected, the drives are sequentially updated according to the ASCII code sequence of the addresses.
And firstly, transmitting a start packet, and continuously transmitting an update packet of the current driver address until all update packets are transmitted after the system receives the start packet returned by the driver.
If the error return packet is received in the sending process, the correct update packet is continuously sent according to the packet sequence number in the error return packet, and if the correct return packet is not received three times in succession, the current driver update is terminated. If the correct return packet is received, the update packet is continuously sent according to the current sequence number.
If no return packet is received during the transmission. The system will send a query packet to the drive, query the last correct update packet sequence number and send the next correct update packet to the drive. If no query packet is returned for three consecutive transmissions, the current drive update is terminated.
If all the return packets of the update packets are verified to be correct, the system sends an end packet to the driver, and the driver receives the end packet and sends a correct end packet return packet to the system and stores relevant parameters after the end packet is verified to be correct. After the driver finishes program updating, the current firmware version number is sent to the system, and after the system is checked to be correct, the next driver is updated.
When the driver on the bus needs to update the firmware, the driver is made to enter the firmware updating mode.
When the driver on the bus detects that the data is received, it is determined whether the current data packet is a start packet, and whether the address in the start packet matches the address of the current driver. When the initial packet and the address are checked correctly, the firmware state machine is updated to enter a firmware update state, and if the error state is checked, the process continues to loop and wait for the correct initial packet.
When the driver detects whether the data packet on the bus is an update packet, an inquiry packet or an end packet, if so, the driver detects whether the address in the received data packet is the same as the address of the current driver and judges whether the current packet is a transmission packet, an inquiry packet or an end packet, and when the current packet is a transmission packet, the program receives bytes with the same number of data bytes, places the bytes in an array and checks the received data. If the verification is successful, writing the program into FLASH, and sending a correct return packet; and if the verification fails, sending an error response return packet according to the verification failure.
If the sending instruction is the query instruction packet, the last correct update packet sequence number is sent to the firmware update system and the data packet is continued to be waited.
If the sending instruction is the ending packet, the last check is carried out and the updating firmware state machine is exited.
While the invention has been described with reference to certain preferred embodiments, it will be understood by those skilled in the art that various changes and substitutions of equivalents may be made and equivalents will be apparent to those skilled in the art without departing from the scope of the invention. Therefore, the protection scope of the invention is subject to the protection scope of the claims.

Claims (9)

1. The on-line updating system of the multi-driver firmware based on the bus is characterized by comprising an updating server, a communication bus and at least one driver, wherein the updating server is respectively connected with each driver through the communication bus;
the update server performs automatic search, driver firmware version identification, firmware update, error code retransmission and offline inquiry on the online drivers, and provides an online driver list for selecting a plurality of or a single driver to update the firmware; the driver returns a version number of the driver, a response packet after firmware updating processing, an error code and a response packet after disconnection inquiring processing according to an instruction of the updating server;
the updating server comprises a driver searching and firmware version identifying module, a firmware updating initial processing module, a firmware updating data processing module, a firmware updating abnormal processing module, a firmware updating disconnection inquiring module and a firmware updating ending processing module; the driver comprises a firmware version response module, a firmware update starting receiving module, a firmware update data receiving module, a firmware update abnormal response module, a firmware update disconnection inquiry response module and a firmware update ending receiving module;
the device comprises a driver searching and firmware version identifying module, a firmware updating initial processing module and a firmware updating data processing module of the updating server, wherein the firmware updating data processing module is connected with a firmware updating abnormal processing module and a firmware updating disconnection inquiring module respectively, and the firmware updating abnormal processing module and the firmware updating disconnection inquiring module are connected with a firmware updating ending processing module respectively;
the firmware version response module, the firmware update starting receiving module and the firmware update data receiving module of the driver are sequentially connected, the firmware update data receiving module is respectively connected with the firmware update abnormal response module and the firmware update disconnection inquiry response module, and the firmware update abnormal response module and the firmware update disconnection inquiry response module are respectively connected with the firmware update ending receiving module.
2. The bus-based multi-driver firmware online update system of claim 1, wherein the communication bus comprises CAN, ethernet, RS485 or RS422 bus.
3. The system of claim 1, wherein the driver search and firmware version identification module of the update server automatically sends a driver query command to search for drivers on the communication bus according to the address in the database, the firmware version corresponding module of the drivers sends the version number of the current firmware to the driver search and firmware version identification module of the update server after receiving the same command as the current address, and the driver search and firmware version identification module of the update server displays all drivers in the communication bus according to the address and the version number of the current firmware according to the specific information of the received command, and highlights the driver addresses with the firmware version numbers different from the version number of the current firmware to be updated.
4. The system for online updating firmware of multiple drivers based on bus as claimed in claim 1, wherein after selecting the driver that needs to update firmware, the firmware update start processing module of the update server sequentially and automatically sends the latest firmware packet according to the order of the address ASIC codes, which comprises the following specific procedures:
the firmware update start processing module of the update server firstly transmits a firmware update start packet which comprises an update start code and an address of a firmware driver to be updated;
after receiving the initial packet with the same address as the host, the firmware version response module of the driver sends the same initial packet to the firmware update initial processing module and enters a state waiting for updating the data packet; if the initial packet received by the driver is different from the address of the host, no byte is returned to the firmware update initial processing module, and the initial packet matched with the address of the host is continued to be waited.
5. The system of claim 1, wherein the firmware update data processing module of the update server sends a data packet to the corresponding driver for firmware update after receiving the start packet sent by the firmware update data receiving module of the matched driver, wherein the send data packet includes the matched driver address, the sequence number of the current send data packet, the program packet to be updated, the data check in the program packet, and the CRC16 check of the entire send data packet.
6. The system for online updating firmware of multiple drivers based on bus as recited in claim 5, wherein the firmware update data processing module of the update server sends a data packet to the firmware update data receiving module of the corresponding driver to perform a specific process of updating firmware, which comprises:
after the driver which is matched with the initial packet on the communication bus receives the data which accords with the data packet, checking the data byte by byte;
after confirming that the mark code and the address of the data packet are correct, receiving the program packet in the data packet, checking the data in the program packet, and performing CRC16 check on the whole sent data packet;
after the two kinds of verification are confirmed to be completely correct, the driver writes the program package into the corresponding FLASH area, and the firmware update data receiving module of the driver sends and receives the data package and writes a successful return package to the firmware update data processing module;
after receiving the return packet written successfully, the firmware update data processing module of the update server continues to send the next data packet to the communication bus.
7. The bus-based multi-driver firmware online updating system of claim 1, wherein if the matched driver fails to check after checking the address is incorrect or after receiving the data packet with the matched address, discarding the data packet with the current error, adding the corresponding error into the error status byte of the returned packet, and simultaneously, the firmware update exception response module of the driver sends the returned packet which is not successfully written to the firmware update exception handling module of the update server;
after receiving the data packet which is not written successfully, the firmware update exception handling module of the update server records and displays the data packet in the system according to error information contained in the returned packet, wherein the error information comprises: program package and check error, program package write FLASH error, communication error, CRC16 check error, driver address error, and send data package sequence number error;
the firmware update exception handling module of the update server resends the data packet with the same packet sequence number to the bus, and waits for whether the firmware update data receiving module of the driver returns a correct return packet; if the driver does not return the correct return packet after the data packet is sent three times continuously, the driver update of the current address is terminated, and the next driver is automatically updated.
8. The system of claim 1, wherein if the driver does not receive the update packet with the complete byte number or the update server does not receive the return packet sent by the firmware update data receiving module of the driver due to the interference on the communication bus during the firmware update, the firmware update offline inquiry module of the update server considers that the current driver is in the offline state, and the firmware update offline inquiry module of the update server sends an address-matched inquiry packet to the communication bus after detecting that the driver being updated is in the offline state, and waits for the reply of the firmware update offline inquiry response module of the driver;
after the driver in the update state detects the mark of the query packet and confirms that the addresses are matched, the driver enters a driver firmware update offline query response module, the driver firmware update offline response query module sends the packet serial number of the last correct update packet to the firmware update offline query module of the update server, and the firmware update offline query module of the update server continues to send the next correct update packet to the driver after receiving the query return packet;
if the firmware update offline query module of the update server continuously sends three query packets without returning, confirming that the current update driver is physically offline and cannot be updated, and continuously updating the next driver.
9. The system of claim 1, wherein the firmware update end processing module of the update server sends an end packet to the communication bus when all update packets have been sent;
after the driver detects that the end packet mark code and the address are matched, a firmware update end receiving module of the driver performs final configuration and parameter storage on the updated driver and restarts the driver;
after the driver is restarted, the current firmware version number in the driver is sent to an updating server, and the updating server confirms that the firmware version number in the driver is matched with the latest version number and then continues to update the firmware of the next driver.
CN201610301553.XA 2016-05-09 2016-05-09 Bus-based multi-driver firmware online updating system Active CN107357595B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610301553.XA CN107357595B (en) 2016-05-09 2016-05-09 Bus-based multi-driver firmware online updating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610301553.XA CN107357595B (en) 2016-05-09 2016-05-09 Bus-based multi-driver firmware online updating system

Publications (2)

Publication Number Publication Date
CN107357595A CN107357595A (en) 2017-11-17
CN107357595B true CN107357595B (en) 2023-08-11

Family

ID=60270851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610301553.XA Active CN107357595B (en) 2016-05-09 2016-05-09 Bus-based multi-driver firmware online updating system

Country Status (1)

Country Link
CN (1) CN107357595B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347433A (en) 2018-04-03 2019-10-18 京东方科技集团股份有限公司 Method for parameter configuration, device and display device
CN109889909A (en) * 2019-04-04 2019-06-14 合肥惠科金扬科技有限公司 A kind of display control method, system and terminal device
CN110209453B (en) * 2019-05-28 2022-04-22 深圳市雷赛软件技术有限公司 Driver-based multi-object auto-refresh and display method and related product
CN113188366A (en) * 2021-05-25 2021-07-30 昕锐至成(江苏)光电技术有限公司 Upgradable individual soldier's ad hoc network laser countermeasures training equipment
CN113934473B (en) * 2021-12-17 2022-03-11 机科发展科技股份有限公司 Industrial electric vehicle driver application program downloading system and method
CN116185512B (en) * 2023-04-25 2023-07-21 深圳艾为电气技术有限公司 Drive loading method, device, equipment and medium for PTC driver
CN116501400B (en) * 2023-06-29 2023-09-29 深圳艾为电气技术有限公司 Intelligent driver software synchronization method and device for PTC driver
CN117149242B (en) * 2023-11-01 2024-02-23 深圳市杰美康机电有限公司 Driver batch upgrading method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033758A (en) * 2009-09-25 2011-04-27 深圳市福智软件技术有限公司 Firmware updating method of audio playing device and system using same
CN102665195A (en) * 2012-04-26 2012-09-12 深圳市中兴移动通信有限公司 Data terminal, data terminal system and data terminal implementation method based on cloud service
CN105045608A (en) * 2014-04-17 2015-11-11 麦恩电子有限公司 System and method for management of software updates at a vehicle computing system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8584115B2 (en) * 2006-10-05 2013-11-12 International Business Machines Corporation Automated operating system device driver updating system
JP5959942B2 (en) * 2012-06-04 2016-08-02 キヤノン株式会社 Image processing apparatus, control method thereof, program, and firmware update system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033758A (en) * 2009-09-25 2011-04-27 深圳市福智软件技术有限公司 Firmware updating method of audio playing device and system using same
CN102665195A (en) * 2012-04-26 2012-09-12 深圳市中兴移动通信有限公司 Data terminal, data terminal system and data terminal implementation method based on cloud service
CN105045608A (en) * 2014-04-17 2015-11-11 麦恩电子有限公司 System and method for management of software updates at a vehicle computing system

Also Published As

Publication number Publication date
CN107357595A (en) 2017-11-17

Similar Documents

Publication Publication Date Title
CN107357595B (en) Bus-based multi-driver firmware online updating system
CN110134415A (en) A kind of controller and its method for upgrading software and device
US9239718B2 (en) System for field upgrading of firmware in multiple units
US9372682B2 (en) Parallel programming and updating of lighting bus subscribers
EP1916616A1 (en) Method and apparatus for response control of RFID tag, RFID system, RFID tag, response control information generating program storage medium and response control program storage medium
CN109587018A (en) Method, apparatus, network system and the mobile terminal of device configuration
CN110580235B (en) SAS expander communication method and device
US10274919B2 (en) Method, device and computer program product for programming a plurality of control units
CN104967497A (en) Network communication protocol-based reliable data transmission method and upgrading method
CN110427422B (en) Data consistency checking method and equipment during data synchronization abnormity and storage medium
CN114995860B (en) Method for upgrading firmware of graphics processor and graphics processor
CN104820609A (en) Embedded system and upgrade maintenance method thereof
CN104821896A (en) Multi-device simultaneous upgrade system and method
WO2010097831A1 (en) I2c monitor sequential read data storage device
CN112311736B (en) Remote control device, household appliance and communication protocol configuration method and device thereof
WO2019010769A1 (en) Upgrade method and apparatus for vehicle-mounted communication device, and vehicle-mounted communication device
JP2006235992A (en) Firmware rewriting system of printer, firmware rewriting method, and printer
CN105472005B (en) A kind of ground ATP equipment method for remote updating and system
CN116483409A (en) Remote firmware updating method, system, electronic equipment and storage medium
US11171857B2 (en) Identifying an electronic device connected to a communication network that has XCP enabled
CN114500263B (en) Distributed distribution network method, device and computer readable storage medium
CN110737483B (en) Signaling and data transmission method based on Windows USB MassStorage class
CN111488158B (en) Remote upgrading processing method and system for instrument
CN111008092A (en) Welding machine communication management method and welding machine
CN107678760A (en) A kind of CAN programmings program interaction control system and method

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