WO2020186551A1 - 通信模块软件升级方法、系统及通信模块 - Google Patents

通信模块软件升级方法、系统及通信模块 Download PDF

Info

Publication number
WO2020186551A1
WO2020186551A1 PCT/CN2019/080526 CN2019080526W WO2020186551A1 WO 2020186551 A1 WO2020186551 A1 WO 2020186551A1 CN 2019080526 W CN2019080526 W CN 2019080526W WO 2020186551 A1 WO2020186551 A1 WO 2020186551A1
Authority
WO
WIPO (PCT)
Prior art keywords
firmware
file
target
source
communication module
Prior art date
Application number
PCT/CN2019/080526
Other languages
English (en)
French (fr)
Inventor
朱思林
Original Assignee
芯讯通无线科技(上海)有限公司
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 芯讯通无线科技(上海)有限公司 filed Critical 芯讯通无线科技(上海)有限公司
Priority to CN201980094458.9A priority Critical patent/CN113767365A/zh
Publication of WO2020186551A1 publication Critical patent/WO2020186551A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Definitions

  • This application relates to the technical field of software upgrades, in particular to a communication module software upgrade method, system and communication module.
  • the existing communication module file system adopts the Unsorted Block Image File System (UBIFS) file system, referred to as the UBI file system.
  • UBI file system Unsorted Block Image File System
  • the differential upgrade solution of the UBI file system is to generate a differential package for the difference of each file in the file system, and package the differential package of each file as a whole to form a total differential package.
  • the communication module downloads the total difference package to the local, it generates the difference package of each file in the file system, and realizes the upgrade by updating each file in the file system.
  • the existing firmware over-the-air (FOTA) upgrade method of the communication module has the situation of crashing when power is off.
  • FOTA firmware over-the-air
  • the purpose of some embodiments of the present application is to provide a communication module software upgrade method, system, and communication module, so that the communication module will not fail even if there is a power failure during the upgrade process, and improve the stability of the module software upgrade.
  • an embodiment of the present application provides a communication module software upgrade method, which includes: the server side generates source firmware from files in a source file system, generates target firmware from files in the target file system, and generates target firmware based on the source firmware and target firmware. Generate a firmware file differential package; after receiving the firmware file differential package, the communication module generates the target firmware according to the firmware of the current file system of the communication module and the firmware file differential package, and saves the generated target firmware to a designated partition, Burn the target firmware of the designated partition to the partition where the firmware of the current file system is located to complete the upgrade.
  • the embodiment of the present application also provides a communication module software upgrade system, including: generating source firmware from files of a source file system, generating target firmware from files of the target file system, and generating a firmware file differential package based on the source firmware and the target firmware .
  • the embodiment of the present application also provides a communication module, including: a receiving module for receiving a firmware file differential package from the server side; a new firmware generating module for generating a new firmware file system based on the current file system firmware of the communication module and the firmware file differential
  • the package generates the target firmware and saves the generated target firmware to the designated partition; the upgrade module is used to burn the target firmware of the designated partition to the partition where the firmware of the current file system is located to complete the upgrade.
  • the embodiment of the present application generates source firmware by generating source firmware from files of a source file system of an unupgraded version, and generating target firmware from files of a target file system of an upgraded version, according to the source firmware before and after the upgrade.
  • the target firmware generates a differential package of the entire firmware, that is, a differential package is generated for the underlying code (binary code) of the entire firmware, instead of generating a differential package for each file in the file system; when the module needs to be upgraded, it is based on the firmware file differential package and its
  • the firmware of the current file system of the module generates a complete target firmware, that is, the firmware of the entire upgraded version of the file system, and stores it in the designated partition.
  • the target firmware in the designated partition is burned to the firmware of the current file system of the module In the partition, the entire file system is upgraded as a whole. Since the firmware of the entire file system is re-programmed instead of updating each file in the file system one by one, even if there is a power failure during the programming (upgrade) process, the system cannot be restarted, and only needs to be re-installed.
  • the target firmware in the specified partition can be burned to the partition where the current file system firmware is located again, without starting the entire file system, and there will be no file system failure to mount, and no module system crash.
  • the method further includes: marking an upgrade mark; and burning the target firmware of the designated partition to After completing the upgrade step of the partition where the firmware of the current file system is located, it further includes: erasing the upgrade mark; when the communication module is started, if the upgrade mark is found, execute the target of the designated partition The firmware is burned to the partition where the firmware of the current file system is located to complete the upgrade step. Therefore, during the module upgrade process, even if an exception occurs and the system restarts, the upgrade can continue to ensure that the module file system starts normally.
  • the generated firmware file differential package includes at least: source firmware version information and target firmware version information;
  • the source firmware version information includes at least: source firmware File size, source firmware file version number, and source firmware file check value;
  • the target firmware version information includes at least: target firmware file size, target firmware file version number, and target firmware file check value.
  • the target firmware before generating the target firmware according to the firmware of the current file system of the communication module and the firmware file differential package, it further includes: verifying the version information of the firmware of the current file system and the source firmware stored in the firmware file differential package Whether the version information is consistent, if they are consistent, execute the step of generating the target firmware according to the firmware of the current file system of the communication module and the firmware file differential package.
  • the generated target firmware before saving the generated target firmware to the designated partition, it further includes: checking whether the generated target firmware check value is consistent with the target firmware file check value in the firmware file differential package, and if they are consistent, execute all Describe the steps to save the generated target firmware to the specified partition. Through double check, ensure the accuracy of software upgrade.
  • generating a firmware file differential package according to the source firmware and the target firmware includes:
  • the firmware file differential package is generated according to the source firmware second image file and the target firmware second image file.
  • the source firmware file size, source firmware file version number, target firmware file size, and target firmware file version number can be included in the source firmware image file and target firmware image file respectively, so that the source firmware file can be included when generating the firmware file differential package.
  • Firmware version information and target firmware version information can be included in the source firmware image file and target firmware image file respectively, so that the source firmware file can be included when generating the firmware file differential package.
  • Fig. 1 is a flowchart of a method for upgrading communication module software according to a first embodiment of the present application
  • FIG. 2 is a schematic diagram of the structure of the UBI file system in the first embodiment of the present application.
  • FIG. 3 is a schematic diagram of the structure of a differential package file in the first embodiment of the present application.
  • Fig. 4 is a structural diagram of a communication module software upgrade system according to a second embodiment of the present application.
  • the first embodiment of the present application relates to a communication module software upgrade method.
  • the server side generates source firmware from files in the source file system, generates target firmware from files in the target file system, and generates source firmware and target firmware Firmware file differential package; after the communication module receives the firmware file differential package, it generates the target firmware according to the firmware of the current file system of the communication module and the firmware file differential package, saves the generated target firmware to the specified partition, and then the target firmware of the specified partition The partition where the firmware burned to the current file system is located is upgraded.
  • the source firmware is generated by generating the files of the source file system of the version before the upgrade, the target firmware is generated from the files of the target file system of the upgraded version, and the differential package of the entire firmware is generated according to the source firmware before the upgrade and the target firmware after the upgrade, that is, for
  • the underlying code (binary code) of the entire firmware generates a differential package instead of generating a differential package for each file in the file system; when the module needs to be upgraded, it generates a complete target firmware based on the firmware file differential package and the firmware of the current file system of the module , That is, the firmware of the entire upgraded version of the file system, and store it in the designated partition.
  • the target firmware in the designated partition will be burned to the partition where the firmware of the current file system of the module is located, so as to realize the overall upgrade of the entire file system . Since the firmware of the entire file system is re-programmed instead of updating each file in the file system one by one, even if there is a power failure during the programming (upgrade) process, the system cannot be restarted, and only needs to be re-installed.
  • the target firmware in the specified partition can be burned to the partition where the current file system firmware is located again, without starting the entire file system, and there will be no file system failure to mount, and no module system crash.
  • step 101 the server side puts various source files of the file system of the pre-upgrade version into the same partition (partition A) and generates source firmware, and puts various target files of the file system of the upgraded version into the same partition ( Partition B) and generate target firmware.
  • the source firmware may specifically include a kernel image file, a linux application file, a modem file, etc.
  • the target firmware also includes a kernel image file, a linux application file, a modem file, etc.
  • step 102 image files are generated for the source firmware (binary code file) and target firmware (binary code file) respectively.
  • a first source firmware image file is generated for the source firmware.
  • the first image file may be a rootfs (Root File System, root file system) image file generated by the squashfs file system.
  • the read-only squashfs file system can be used, the mksquashfs command is used to generate the rootfs image file, and the LZO (Lempel-Ziv-Oberhumer) compression algorithm is used when packaging.
  • the size of the source firmware file can be obtained.
  • the source firmware first image file, the source firmware file version number, and the source firmware file size information are generated to generate a source firmware second image file;
  • the second image file may be UBI (Unsorted Block Images, Block management) mirror file.
  • the generated UBI image file includes two volumes (volume 1 and volume 2), as shown in Figure 2.
  • the volume 1 includes the first image file of the source firmware and the version number of the source firmware file; the source firmware file version number can be added to the end of the first image file of the source firmware (rootfs image file) to form volume 1 (volume 1).
  • the size information of the first image file of the source firmware is put in volume 2 (volume 2).
  • step 102-3 a first image file of the target firmware is generated for the target firmware file; the specific method is the same as that of step 102-1. After the first image file of the target firmware is generated, the size of the target firmware file can be obtained.
  • step 102-4 the target firmware first image file, the target firmware file version number, and the target firmware file size information are generated to generate the target firmware second image file; the specific method is the same as step 102-2.
  • the size of the source firmware file, the version number of the source firmware file, the size of the target firmware file, and the version number of the target firmware file can be included in the source firmware image file and the target firmware image file respectively, so as to generate the firmware file difference When packaged, it can include source firmware version information and target firmware version information for the communication module to verify.
  • the entire firmware file differential package is generated according to the source firmware second image file and the target firmware second image file.
  • the generated firmware file differential package includes at least: source firmware version information, target firmware version information;
  • the source firmware version information includes at least: source firmware file size, source firmware file version number, source firmware file checksum, such as MD5 ( Message-Digest Algorithm) value;
  • target firmware version information includes at least: target firmware file size, target firmware file version number, target firmware file check value.
  • the HdiffPatch (data patch) differential algorithm can be used to obtain the differential file.
  • the source file for making the differential package is the volume 1 (volume 1) part of the second image file of the source firmware
  • the target file is the second image file of the target firmware.
  • the volume 1 part The following information is attached at the beginning of the generated differential package file: magic number, source firmware version information, target firmware version information, and the structure of the differential package file is shown in Figure 3.
  • step 104 the wireless communication module downloads the firmware file differential package. Download methods can include:
  • the methods of downloading through the network mainly include https and OTA (Over-the-Air Technology).
  • step 105 it is checked whether the version information of the firmware of the current file system is consistent with the version information of the source firmware saved in the firmware file differential package, if they are consistent, go to step 106, if they are inconsistent, the generation of new firmware fails and an error message is returned .
  • step 105-1 read the source firmware version information (source firmware file size, source firmware file version number, source firmware file check value) and target firmware version information (target firmware file Size, target firmware file version number, target firmware file check value); in step 105-2, obtain the firmware version information (firmware file size, firmware file version number) of the current file system of the communication module and firmware volume 0 (volume 0) MD5 value of the mirror image (firmware file check value); in step 105-3, compare the source firmware version information in the firmware file difference package (source firmware file size, source firmware file version number, source firmware file check value) , Are the firmware file size, firmware file version number, and firmware file verification value consistent with the current file system of the communication module? If they are consistent, go to step 106. If they are not consistent, then the generation of a new firmware file fails.
  • the target firmware is generated according to the firmware of the current file system of the communication module and the firmware file differential package.
  • the HdiffPatch algorithm can be used to generate the target firmware image file.
  • the algorithm and the method for generating the firmware image file are in the prior art and will not be repeated.
  • step 107 it is checked whether the generated check value of the target firmware is consistent with the check value of the target firmware file in the firmware file difference package. Specifically, it can be verified whether the MD5 value of the target image is consistent with the MD5 value information of the target version in the differential packet. At the same time, it can also verify whether the generated firmware file size and firmware file version number of the target firmware are consistent with the target firmware file size and target firmware file version number in the firmware file differential package. If they are consistent, go to step 108; If any item is inconsistent, it will fail to generate the target firmware and return an error message.
  • step 108 the generated target firmware is programmed to the designated partition of the module.
  • the designated partition is pre-designated and is permanently used to store the upgraded target firmware file.
  • step 109 the current firmware file is upgraded as a whole according to the firmware file (target firmware) of the designated partition.
  • the firmware file target firmware
  • mark the upgrade mark before burning the target firmware of the designated partition to the partition where the firmware of the current file system is located, mark the upgrade mark first, that is, write the upgrade mark in a preset partition (partition X) of the communication module . After that, start to burn the target firmware file in the designated partition (partition A) to the partition where the firmware of the current file system is located. After the burning is completed (that is, the upgrade is complete), go to the preset partition (partition X) to clear the upgrade mark .
  • the communication module is restarted, and the preset partition (partition X) is first read during startup. If the upgrade mark is found in the preset partition (partition X), the The target firmware file in the designated partition (partition A) is burned to the partition where the firmware of the current file system is located to complete the overall upgrade. There is no need to read, identify and re-program the complex file system, and there will be no situation where the file system cannot be recognized after power failure, and there will be no module system crash.
  • the upgrade flag may not be set, and other condition settings are used to trigger the system to re-designate the target firmware file in the partition to be burned to the partition where the firmware of the current file system is located to complete the upgrade.
  • the second embodiment of the present application relates to a communication module software upgrade system. As shown in FIG. 4, it includes a software upgrade system 401 on the service side and an upgrade system 402 on the communication module side.
  • the software upgrade system 401 on the service side includes:
  • the differential package generating module is used to generate a firmware file differential package according to the source firmware and the target firmware, the source firmware is generated from the file of the source file system, and the target firmware is generated from the file of the target file system.
  • the generation of source firmware and target firmware can be completed by the service side, or by the upper-level supplier on the service side.
  • the firmware file differential package generated by the differential package generating module includes at least: source firmware version information, target firmware version information; the source firmware version information includes at least: source firmware file size, source firmware file version number, source firmware file revision The target firmware version information includes at least: target firmware file size, target firmware file version number, target firmware file checksum. So that the communication module side can perform verification based on the source firmware version information and the target firmware version information.
  • the differential package generating module further includes: a first image file generating sub-module for generating a first image file of source firmware from the source firmware; and generating a first image file of target firmware from the target firmware.
  • the second image file generation sub-module is used to generate a second image file of the source firmware from the first image file of the source firmware, the size of the source firmware file, and the version number of the source firmware file;
  • the file size and the target firmware file version number generate a second image file of the target firmware.
  • the differential package generating sub-module is configured to generate the firmware file differential package according to the source firmware second image file and the target firmware second image file.
  • the upgrade system 402 on the communication module side includes:
  • the receiving module is used to receive the firmware file differential package from the server side; the firmware file differential package received by the receiving module includes: source firmware version information and target firmware version information; the source firmware version information includes at least: source firmware file size, source Firmware file version number and source firmware file check value; the target firmware version information includes at least: target firmware file size, target firmware file version number and target firmware file check value.
  • the new firmware generation module is used to generate target firmware according to the firmware of the current file system of the communication module and the firmware file differential package, and save the generated target firmware to a designated partition;
  • the upgrade module is used to burn the target firmware of the designated partition to the partition where the firmware of the current file system is located to complete the upgrade.
  • the first verification module is used to verify whether the version information of the firmware of the current file system is consistent with the version information of the source firmware stored in the firmware file differential package, and if they are consistent, instruct the new firmware generation module according to the current communication module
  • the firmware of the file system and the firmware file differential package generate target firmware.
  • the second check module is used to check whether the check value of the target firmware generated by the new firmware generation module is consistent with the check value of the target firmware file in the firmware file differential package, and if they are consistent, instruct the new firmware generation module Save the generated target firmware to the designated partition.
  • the marking module is used to mark an upgrade mark before the upgrade module burns the target firmware of the designated partition to the partition where the firmware of the current file system is located, and burns the target firmware of the designated partition to the After the partition where the firmware of the current file system is located is upgraded, the upgrade mark is erased.
  • the startup module is configured to instruct the upgrade module to burn the target firmware of the designated partition to the partition where the firmware of the current file system is located when the upgrade mark is found when the communication module is started.
  • the source firmware is generated by generating the files of the source file system of the version before the upgrade, the target firmware is generated from the files of the target file system of the upgraded version, and the differential package of the entire firmware is generated according to the source firmware before the upgrade and the target firmware after the upgrade, that is, for
  • the underlying code (binary code) of the entire firmware generates a differential package instead of generating a differential package for each file in the file system; when the module needs to be upgraded, it generates a complete target firmware based on the firmware file differential package and the firmware of the current file system of the module , That is, the firmware of the entire upgraded version of the file system, and store it in the designated partition.
  • the target firmware in the designated partition will be burned to the partition where the firmware of the current file system of the module is located, so as to realize the overall upgrade of the entire file system . Since the firmware of the entire file system is re-programmed instead of updating each file in the file system one by one, even if there is a power failure during the programming (upgrade) process, the system cannot be restarted, and only needs to be re-installed.
  • the target firmware in the specified partition can be burned to the partition where the current file system firmware is located again, without starting the entire file system, and there will be no file system failure to mount, and no module system crash.
  • the software upgrade system on the service side of this embodiment includes at least one processor; and a memory communicatively connected with the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are At least one processor executes, so that at least one processor can execute the software upgrade method as mentioned in the first embodiment.
  • the communication module side includes at least one processor; and, a memory communicatively connected with the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor
  • the software upgrade method as mentioned in the first embodiment can be executed.
  • the third embodiment of the present application relates to a computer-readable storage medium that stores a computer program.
  • the computer program is executed by the processor, the above method embodiment is realized.
  • the program is stored in a storage medium and includes several instructions to enable a device ( It may be a single-chip microcomputer, a chip, etc.) or a processor (processor) to execute all or part of the steps of the methods in the embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program code .

Landscapes

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

Abstract

本申请公开了一种通信模块软件升级方法、系统及通信模块,根据升级前的源固件和之后的目标固件生成整个固件的差分包,即针对整个固件的底层编码生成差分包,而不是对文件系统中各个文件生成差分包;模块升级时,根据差分包和其模块当前文件系统的固件生成完整的目标固件,将目标固件烧写至模块当前文件系统的固件所在的分区中,实现整个文件系统的整体升级。由于是对整个文件系统的固件进行重新烧写,而不是对文件系统中各个文件进行逐一更新,因此即便在烧写过程中,出现掉电情况,无法重新启动系统,只需要重新将目标固件再次烧写到当前文件系统固件所在分区即可,而不需对文件系统进行mount,进而也不会出现模块系统crash现象。

Description

通信模块软件升级方法、系统及通信模块
交叉引用
本申请引用于2019年3月19日递交的名称为“通信模块软件升级方法、系统及通信模块”的第2019102071451号中国专利申请,其通过引用被全部并入本申请。
技术领域
本申请涉及软件升级技术领域,特别涉及一种通信模块软件升级方法、系统及通信模块。
背景技术
现有的通信模块文件系统采用无序区块镜像文件系统(Unsorted Block Image File System,UBIFS)文件系统,简称UBI文件系统。UBI文件系统的差分升级方案是对文件系统中每个文件的差异生成差分包,对各个文件的差分包整体打包形成总的差分包。通信模块将总的差分包下载到本地后,生成文件系统中各个文件的差分包,通过更新文件系统中的每个文件的方式实现升级。
本申请的申请人发现,现有的通信模块的空中下载软件升级(Firmware Over-The-Air,FOTA)升级方式存在掉电易奔溃(crash)的情况。在文件系统逐个文件升级过程中,如果出现异常掉电的情况需重新启动系统,因为当前文 件系统中的部分文件因升级发生变更,重新启动系统时容易发生文件系统无法关联(mount)对应分区的情况,即文件系统不可见,导致系统crash的情况,造成系统无法恢复和正常启动。增加了大量需要维护人员到现场进行支持的工作。
申请内容
本申请部分实施例的目的在于提供一种通信模块软件升级方法、系统及通信模块,使得通信模块在升级过程中即便发生掉电也不会故障,提升了模块软件升级的稳定性。
为解决上述技术问题,本申请实施例提供了一种通信模块软件升级方法,包括:服务侧将源文件系统的文件生成源固件,将目标文件系统的文件生成目标固件,根据源固件和目标固件生成固件文件差分包;通信模块收到所述固件文件差分包后,根据本通信模块当前文件系统的固件和所述固件文件差分包生成所述目标固件,保存所生成的目标固件至指定分区,将所述指定分区的目标固件烧录到所述当前文件系统的固件所在分区完成升级。
本申请实施例还提供了一种通信模块软件升级系统,包括:用于将源文件系统的文件生成源固件,将目标文件系统的文件生成目标固件,根据源固件和目标固件生成固件文件差分包。
本申请实施例还提供了一种通信模块,包括:接收模块,用于从服务侧接收固件文件差分包;新固件生成模块,用于根据本通信模块当前文件系统的固件和所述固件文件差分包生成目标固件,保存所生成的目标固件至指定分区;升级模块,用于将指定分区的目标固件烧录到所述当前文件系统的固件所在分 区完成升级。
本申请实施例对于现有技术而言,通过将未升级前版本的源文件系统的文件生成源固件,将升级后版本的目标文件系统的文件生成目标固件,根据升级前的源固件和之后的目标固件生成整个固件的差分包,即针对整个固件的底层编码(二进制码)生成差分包,而不是对文件系统中各个文件生成差分包;模块在需要进行升级时,根据固件文件差分包和其模块当前文件系统的固件生成完整的目标固件,即整个升级后版本文件系统的固件,并存入指定分区,在升级时,将该指定分区中的目标固件烧写至模块当前文件系统的固件所在的分区中,实现整个文件系统的整体升级。由于是对整个文件系统的固件进行重新烧写,而不是对文件系统中各个文件进行逐一更新,因此即便在烧写(升级)过程中,出现掉电情况,无法重新启动系统,只需要重新将指定分区中的目标固件再次烧写到当前文件系统固件所在分区即可,而不需启动整个文件系统,不会出现文件系统无法mount的情况,进而也不会出现模块系统crash现象。
例如,所述将所述指定分区的目标固件烧录到所述当前文件系统的固件所在分区完成升级的步骤前,还包括:标注升级标记;所述将所述指定分区的目标固件烧录到所述当前文件系统的固件所在分区完成升级的步骤之后,还包括:擦除所述升级标记;所述通信模块启动时,如果发现所述升级标记,则执行所述将指定分区的所述目标固件烧录到所述当前文件系统的固件所在分区完成升级的步骤。从而使得在模块升级过程中,即便发生异常,系统重启,也能够继续进行升级,确保模块文件系统正常启动。
例如,所述根据源固件和目标固件生成固件文件差分包的步骤中,生成的固件文件差分包中至少包括:源固件版本信息和目标固件版本信息;所述源 固件版本信息至少包括:源固件文件大小、源固件文件版本号和源固件文件校验值;所述目标固件版本信息至少包括:目标固件文件大小、目标固件文件版本号和目标固件文件校验值。
例如,所述根据通信模块当前文件系统的固件和所述固件文件差分包生成所述目标固件之前,还包括:检验当前文件系统的固件的版本信息与所述固件文件差分包中保存的源固件版本信息是否一致,如果一致,则执行所述根据通信模块当前文件系统的固件和所述固件文件差分包生成所述目标固件的步骤。
例如,所述保存所生成的目标固件至指定分区之前,还包括:检验所生成的目标固件的校验值与所述固件文件差分包中目标固件文件校验值是否一致,如果一致则执行所述保存所生成的目标固件至指定分区的步骤。通过双重校验,确保软件升级的准确性。
例如,所述根据源固件和目标固件生成固件文件差分包包括:
将所述源固件生成源固件第一镜像文件;
将所述源固件第一镜像文件、源固件版本信息生成源固件第二镜像文件;
对所述目标固件生成目标固件第一镜像文件;
将所述目标固件第一镜像文件、目标固件版本信息生成目标固件第二镜像文件;
根据所述源固件第二镜像文件、目标固件第二镜像文件生成所述固件文件差分包。
从而可以将源固件文件大小,源固件文件版本号,目标固件文件大小,目标固件文件版本号分别包含到源固件镜像文件、目标固件镜像文件中,以便在生成固件文件差分包时,能包含源固件版本信息和目标固件版本信息。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是根据本申请第一实施例的通信模块软件升级方法流程图;
图2是本申请第一实施例中UBI文件系统结构示意图;
图3是本申请第一实施例中差分包文件结构示意图;
图4是根据本申请第二实施例的通信模块软件升级系统结构图。
具体实施例
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
本申请的第一实施例涉及一种通信模块软件升级方法,本实施例中,服务侧将源文件系统的文件生成源固件,将目标文件系统的文件生成目标固件,根据源固件和目标固件生成固件文件差分包;通信模块收到固件文件差分包后,根据本通信模块当前文件系统的固件和固件文件差分包生成目标固件,保存所生成的目标固件至指定分区,将该指定分区的目标固件烧录到当前文件系统的固件所在分区完成升级。
通过将未升级前版本的源文件系统的文件生成源固件,将升级后版本的 目标文件系统的文件生成目标固件,根据升级前的源固件和之后的目标固件生成整个固件的差分包,即针对整个固件的底层编码(二进制码)生成差分包,而不是对文件系统中各个文件生成差分包;模块在需要进行升级时,根据固件文件差分包和其模块当前文件系统的固件生成完整的目标固件,即整个升级后版本文件系统的固件,并存入指定分区,在升级时,将该指定分区中的目标固件烧写至模块当前文件系统的固件所在的分区中,实现整个文件系统的整体升级。由于是对整个文件系统的固件进行重新烧写,而不是对文件系统中各个文件进行逐一更新,因此即便在烧写(升级)过程中,出现掉电情况,无法重新启动系统,只需要重新将指定分区中的目标固件再次烧写到当前文件系统固件所在分区即可,而不需启动整个文件系统,不会出现文件系统无法mount的情况,进而也不会出现模块系统crash现象。
具体通信模块软件升级流程如图1所示。
步骤101中,服务侧将升级前版本的文件系统的各类源文件放入同一个分区(分区A)并生成源固件,将升级后版本的文件系统的各类目标文件放入同一个分区(分区B)并生成目标固件。
本实施方式中,源固件具体可以包括内核镜像文件,linux应用程序文件和调制解调器(modem)文件等,目标固件同样包括内核镜像文件,linux应用程序文件和modem文件等。
步骤102中,分别对源固件(二进制码文件)和目标固件(二进制码文件)生成镜像文件。
具体地说,步骤102-1中,对所述源固件生成源固件第一镜像文件。第一镜像文件可以为通过squashfs文件系统生成的rootfs(Root FileSystem,根文 件系统)镜像文件。具体可以采用只读的squashfs文件系统,用mksquashfs命令生成rootfs镜像文件,打包时采用LZO(Lempel-Ziv-Oberhumer)的压缩算法。生成源固件第一镜像文件后,可以得到源固件文件大小。
步骤102-2中,将所述源固件第一镜像文件、源固件文件版本号、和源固件文件大小信息生成源固件第二镜像文件;所述第二镜像文件可以为UBI(Unsorted Block Images,块管理)镜像文件。所生成的UBI镜像文件包括两个volume(volume 1和volume 2),如图2所示。volume 1中包括源固件第一镜像文件和源固件文件版本号;可以在源固件第一镜像文件(rootfs镜像文件)末尾加上源固件文件版本号,形成volume 1(卷1)。volume 2(卷2)中放入源固件第一镜像文件的大小信息。
步骤102-3中,对所述目标固件文件生成目标固件第一镜像文件;具体方式同步骤102-1。生成目标固件第一镜像文件后,可以得到目标固件文件大小。
步骤102-4中,将所述目标固件第一镜像文件、目标固件文件版本号、和目标固件文件大小信息生成目标固件第二镜像文件;具体方式同步骤102-2。
通过两次生成镜像文件,可以将源固件文件大小、源固件文件版本号、目标固件文件大小、目标固件文件版本号分别包含到源固件镜像文件、目标固件镜像文件中,以便在生成固件文件差分包时,能包含源固件版本信息和目标固件版本信息供通信模块进行校验。
步骤103中,根据所述源固件第二镜像文件、目标固件第二镜像文件生成整个固件文件差分包。生成的固件文件差分包中至少包括:源固件版本信息,目标固件版本信息;所述源固件版本信息至少包括:源固件文件大小,源固件 文件版本号,源固件文件校验值,如MD5(Message-Digest Algorithm,消息摘要算法)值;目标固件版本信息至少包括:目标固件文件大小,目标固件文件版本号,目标固件文件校验值。
具体地说,可以采用HdiffPatch(数据补丁)差分算法得到差分文件,制作差分包的源文件是源固件第二镜像文件中的volume 1(卷1)部分,目标文件是目标固件第二镜像文件中的volume 1部分。在生成的差分包文件开头附上如下信息:magic number(魔数),源固件版本信息,目标固件版本信息,差分包文件结构如图3所示。
步骤104中,无线通信模块下载固件文件差分包。下载方式可以包括:
(1)通过网络下载的方式,主要有https和OTA(Over-the-Air Technology,空中下载技术)的方式。
(2)本地通过USB发送到通信模块。
步骤105中,检验当前文件系统的固件的版本信息与所述固件文件差分包中保存的源固件版本信息是否一致,如果一致,则进入步骤106,如果不一致,则生成新固件失败,返回错误信息。
具体地说,步骤105-1中、读取固件文件差分包中的源固件版本信息(源固件文件大小,源固件文件版本号,源固件文件校验值)和目标固件版本信息(目标固件文件大小,目标固件文件版本号,目标固件文件校验值);步骤105-2中、获取本通信模块当前文件系统的固件的版本信息(固件文件大小,固件文件版本号)和固件volume 0(卷0)镜像的MD5值(固件文件校验值);步骤105-3中、比较固件文件差分包中的源固件版本信息(源固件文件大小,源固件文件版本号,源固件文件校验值)、和本通信模块当前文件系统的固件文件 大小、固件文件版本号、固件文件校验值是否一致?如果一致,则进入步骤106,如果不一致,则生成新固件文件失败。
步骤106中,根据通信模块当前文件系统的固件和所述固件文件差分包生成所述目标固件。具体可以利用HdiffPatch算法生成目标固件镜像文件。该算法和生成固件镜像文件的方法为现有技术,不再赘述。
步骤107中,检验所生成的目标固件的校验值与所述固件文件差分包中目标固件文件校验值是否一致。具体可以校验目标镜像的MD5值是否和差分包中的目标版本MD5值信息一致。同时,还可以校验所生成的目标固件的固件文件大小、固件文件版本号与固件文件差分包中的目标固件文件大小、目标固件文件版本号是否一致,如果均一致则进入步骤108;如果存在任意一项不一致则生成目标固件失败,返回错误信息。
步骤108中,将所生成的目标固件烧写到模块指定分区。该指定分区为预先指定的,固定用于存储升级的目标固件文件。通过步骤105和步骤107的双重校验,可以有效确保软件升级的准确性。
步骤109中,根据所述指定分区的固件文件(目标固件)对当前固件文件整体升级。即将指定分区中的目标固件文件烧写到当前文件系统的固件所在分区,替换当前固件,完成升级。
具体地说,将所述指定分区的目标固件烧录到所述当前文件系统的固件所在分区之前,先标注升级标记,即在本通信模块的某个预设分区(分区X)写入升级标记。之后,开始将指定分区(分区A)中的目标固件文件烧写到当前文件系统的固件所在分区,在烧写完成后(即升级完成)后到该预设分区(分区X)清除该升级标记。
在升级过程中,如果发生掉电,通信模块重新启动,在启动时首先读取该预设分区(分区X),如果发现该预设分区(分区X)中存在所述升级标记,则重新将指定分区(分区A)中的目标固件文件烧写到当前文件系统的固件所在分区,完成整体升级。而不需要对复杂的文件系统进行读取、辨识和重新烧写,不会出现掉电后无法识别文件系统的情况,进而也不会出现模块系统crash现象。
或者,本实施例中也可以不设置升级标记,而通过其他条件设置,来触发系统重新指定分区中的目标固件文件烧写到当前文件系统的固件所在分区完成升级。
本申请第二实施例涉及一种通信模块软件升级系统,如图4所示,包括服务侧的软件升级系统401,以及通信模块侧的升级系统402。
其中,服务侧的软件升级系统401包括:
差分包生成模块,差分包生成模块,用于根据源固件和目标固件生成固件文件差分包,所述源固件由源文件系统的文件生成,所述目标固件由目标文件系统的文件生成。源固件和目标固件的生成可以由服务侧完成,也可以由服务侧上级供应商完成。
所述差分包生成模块生成的固件文件差分包中至少包括:源固件版本信息,目标固件版本信息;所述源固件版本信息至少包括:源固件文件大小,源固件文件版本号,源固件文件校验值;目标固件版本信息至少包括:目标固件文件大小,目标固件文件版本号,目标固件文件校验值。以便通信模块侧能根据源固件版本信息和目标固件版本信息进行校验。
差分包生成模块进一步包括:第一镜像文件生成子模块,用于将所述源 固件生成源固件第一镜像文件;将所述目标固件生成目标固件第一镜像文件。第二镜像文件生成子模块,用于将所述源固件第一镜像文件、源固件文件大小和源固件文件版本号生成源固件第二镜像文件;将所述目标固件第一镜像文件、目标固件文件大小和目标固件文件版本号生成目标固件第二镜像文件。差分包生成子模块,用于根据所述源固件第二镜像文件、目标固件第二镜像文件生成所述固件文件差分包。
通信模块侧的升级系统402包括:
接收模块,用于从服务侧接收固件文件差分包;接收模块收到的固件文件差分包包括:源固件版本信息和目标固件版本信息;所述源固件版本信息至少包括:源固件文件大小、源固件文件版本号和源固件文件校验值;所述目标固件版本信息至少包括:目标固件文件大小、目标固件文件版本号和目标固件文件校验值。
新固件生成模块,用于根据本通信模块当前文件系统的固件和所述固件文件差分包生成目标固件,保存所生成的目标固件至指定分区;
升级模块,用于将指定分区的目标固件烧录到所述当前文件系统的固件所在分区完成升级。
第一校验模块,用于检验当前文件系统的固件的版本信息与所述固件文件差分包中保存的源固件版本信息是否一致,如果一致,则指示所述新固件生成模块根据本通信模块当前文件系统的固件和所述固件文件差分包生成目标固件。
第二校验模块,用于检验所述新固件生成模块生成的目标固件的校验值与所述固件文件差分包中目标固件文件校验值是否一致,如果一致则指示所述 新固件生成模块保存所生成的目标固件至指定分区。
标记模块,用于在所述升级模块将指定分区的目标固件烧录到所述当前文件系统的固件所在分区前,标注升级标记,在所述升级模块将指定分区的目标固件烧录到所述当前文件系统的固件所在分区完成升级后,擦除所述升级标记。
启动模块,用于在所述通信模块启动时,发现所述升级标记时,指示所述升级模块将指定分区的目标固件烧录到所述当前文件系统的固件所在分区。
通过将未升级前版本的源文件系统的文件生成源固件,将升级后版本的目标文件系统的文件生成目标固件,根据升级前的源固件和之后的目标固件生成整个固件的差分包,即针对整个固件的底层编码(二进制码)生成差分包,而不是对文件系统中各个文件生成差分包;模块在需要进行升级时,根据固件文件差分包和其模块当前文件系统的固件生成完整的目标固件,即整个升级后版本文件系统的固件,并存入指定分区,在升级时,将该指定分区中的目标固件烧写至模块当前文件系统的固件所在的分区中,实现整个文件系统的整体升级。由于是对整个文件系统的固件进行重新烧写,而不是对文件系统中各个文件进行逐一更新,因此即便在烧写(升级)过程中,出现掉电情况,无法重新启动系统,只需要重新将指定分区中的目标固件再次烧写到当前文件系统固件所在分区即可,而不需启动整个文件系统,不会出现文件系统无法mount的情况,进而也不会出现模块系统crash现象。
在具体实现时,本实施例的服务侧的软件升级系统包括至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够 执行如第一实施例中提到的软件升级方法。
通信模块侧包括至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一实施例中提到的软件升级方法。
本申请第三实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。

Claims (14)

  1. 一种通信模块软件升级方法,其中,包括:
    服务侧将源文件系统的文件生成源固件,将目标文件系统的文件生成目标固件,根据源固件和目标固件生成固件文件差分包;
    通信模块收到所述固件文件差分包后,根据本通信模块当前文件系统的固件和所述固件文件差分包生成所述目标固件,保存所生成的目标固件至指定分区,将所述指定分区的目标固件烧录到所述当前文件系统的固件所在分区完成升级。
  2. 如权利要求1所述的通信模块软件升级方法,其中,所述将所述指定分区的目标固件烧录到所述当前文件系统的固件所在分区完成升级的步骤前,还包括:标注升级标记;
    所述将所述指定分区的目标固件烧录到所述当前文件系统的固件所在分区完成升级的步骤之后,还包括:擦除所述升级标记;
    所述通信模块启动时,如果发现所述升级标记,则执行所述将指定分区的所述目标固件烧录到所述当前文件系统的固件所在分区完成升级的步骤。
  3. 如权利要求1所述的通信模块软件升级方法,其中,所述根据源固件和目标固件生成固件文件差分包的步骤中,生成的固件文件差分包中至少包括:源固件版本信息和目标固件版本信息;
    所述源固件版本信息至少包括:源固件文件大小、源固件文件版本号和源固件文件校验值;
    所述目标固件版本信息至少包括:目标固件文件大小、目标固件文件版本号和目标固件文件校验值。
  4. 如权利要求3所述的通信模块软件升级方法,其中,所述根据通信模块当前文件系统的固件和所述固件文件差分包生成所述目标固件之前,还包括:检验当前文件系统的固件的版本信息与所述固件文件差分包中保存的源固件版本信息是否一致,如果一致,则执行所述根据通信模块当前文件系统的固件和所述固件文件差分包生成所述目标固件的步骤。
  5. 如权利要求3所述的通信模块软件升级方法,其中,所述保存所生成的目标固件至指定分区之前,还包括:检验所生成的目标固件的校验值与所述固件文件差分包中目标固件文件校验值是否一致,如果一致则执行所述保存所生成的目标固件至指定分区的步骤。
  6. 如权利要求3所述的通信模块软件升级方法,其中,所述根据源固件和目标固件生成固件文件差分包包括:
    将所述源固件生成源固件第一镜像文件;
    将所述源固件第一镜像文件、源固件文件大小和源固件文件版本号生成源固件第二镜像文件;
    对所述目标固件生成目标固件第一镜像文件;
    将所述目标固件第一镜像文件、目标固件文件大小和目标固件文件版本号生成目标固件第二镜像文件;
    根据所述源固件第二镜像文件、目标固件第二镜像文件生成所述固件文件差分包。
  7. 一种通信模块软件升级系统,其中,包括:
    差分包生成模块,用于根据源固件和目标固件生成固件文件差分包,所述源固件由源文件系统的文件生成,所述目标固件由目标文件系统的文件生成。
  8. 如权利要求7所述的通信模块软件升级系统,其中,所述差分包生成模块生成的固件文件差分包中至少包括:源固件版本信息和目标固件版本信息;
    所述源固件版本信息至少包括:源固件文件大小、源固件文件版本号和源固件文件校验值;
    目标固件版本信息至少包括:目标固件文件大小、目标固件文件版本号和目标固件文件校验值。
  9. 如权利要求8所述的通信模块软件升级系统,其中,差分包生成模块包括:
    第一镜像文件生成子模块,用于将所述源固件生成源固件第一镜像文件;将所述目标固件生成目标固件第一镜像文件;
    第二镜像文件生成子模块,用于将所述源固件第一镜像文件、源固件文件大小和源固件文件版本号生成源固件第二镜像文件;将所述目标固件第一镜像文件、目标固件文件大小和目标固件文件版本号生成目标固件第二镜像文件;
    差分包生成子模块,用于根据所述源固件第二镜像文件、目标固件第二镜像文件生成所述固件文件差分包。
  10. 一种通信模块,其中,包括:
    接收模块,用于从服务侧接收固件文件差分包;
    新固件生成模块,用于根据本通信模块当前文件系统的固件和所述固件文件差分包生成目标固件,保存所生成的目标固件至指定分区;
    升级模块,用于将指定分区的目标固件烧录到所述当前文件系统的固件所在分区完成升级。
  11. 如权利要求10所述的通信模块,其中,所述接收模块收到的固件文件差分包包括:
    源固件版本信息和目标固件版本信息;
    所述源固件版本信息至少包括:源固件文件大小、源固件文件版本号和源固件文件校验值;
    所述目标固件版本信息至少包括:目标固件文件大小、目标固件文件版本号和目标固件文件校验值。
  12. 如权利要求11所述的通信模块,其中,还包括:
    第一校验模块,用于检验当前文件系统的固件的版本信息与所述固件文件差分包中保存的源固件版本信息是否一致,如果一致,则指示所述新固件生成模块根据本通信模块当前文件系统的固件和所述固件文件差分包生成目标固件。
  13. 如权利要求11所述的通信模块,其中,还包括:
    第二校验模块,用于检验所述新固件生成模块生成的目标固件的校验值与所述固件文件差分包中目标固件文件校验值是否一致,如果一致则指示所述新固件生成模块保存所生成的目标固件至指定分区。
  14. 如权利要求10所述的通信模块,其中,还包括:
    标记模块,用于在所述升级模块将指定分区的目标固件烧录到所述当前文件系统的固件所在分区前,标注升级标记,在所述升级模块将指定分区的目标固件烧录到所述当前文件系统的固件所在分区完成升级后,擦除所述升级标记;
    启动模块,用于在所述通信模块启动时,发现所述升级标记时,指示所述升级模块将指定分区的目标固件烧录到所述当前文件系统的固件所在分区。
PCT/CN2019/080526 2019-03-19 2019-03-29 通信模块软件升级方法、系统及通信模块 WO2020186551A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201980094458.9A CN113767365A (zh) 2019-03-19 2019-03-29 通信模块软件升级方法、系统及通信模块

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910207145.1A CN110032377B (zh) 2019-03-19 2019-03-19 通信模块软件升级方法、系统及通信模块
CN201910207145.1 2019-03-19

Publications (1)

Publication Number Publication Date
WO2020186551A1 true WO2020186551A1 (zh) 2020-09-24

Family

ID=67236224

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/080526 WO2020186551A1 (zh) 2019-03-19 2019-03-29 通信模块软件升级方法、系统及通信模块

Country Status (2)

Country Link
CN (2) CN110032377B (zh)
WO (1) WO2020186551A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181471A (zh) * 2020-10-16 2021-01-05 北京紫光展锐通信技术有限公司 差分升级方法及装置、存储介质、计算机设备
CN112328269A (zh) * 2020-11-26 2021-02-05 广东小天才科技有限公司 ubifs镜像的软件挂载方法、智能设备、电子设备及存储介质
CN112631633A (zh) * 2021-01-07 2021-04-09 南方电网数字电网研究院有限公司 基于双芯智能电表的功能模块升级方法和装置
CN115469910A (zh) * 2022-11-15 2022-12-13 浙江日风电气股份有限公司 一种光伏逆变器固件更新的方法、装置、系统及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111638898A (zh) * 2020-06-05 2020-09-08 泸州禾苗通信科技有限公司 一种fota升级固件版本绝对一致性的云端校验方法
CN112433750A (zh) * 2020-12-17 2021-03-02 潍柴动力股份有限公司 车载终端应用程序升级方法、装置、设备、介质及产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2356564A1 (en) * 2008-11-10 2011-08-17 Nokia Corporation Method and apparatus for updating firmware
CN104184814A (zh) * 2014-08-25 2014-12-03 中山市永衡日用制品有限公司 嵌入式固件差分升级的文件生成和合成的方法和系统
CN105138347A (zh) * 2015-07-17 2015-12-09 广东欧珀移动通信有限公司 一种差分升级包生成方法、软件升级方法及相应装置
CN109375939A (zh) * 2018-12-17 2019-02-22 蜂巢(武汉)微系统技术有限公司 一种车载系统固件在线升级方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724308A (zh) * 2012-06-13 2012-10-10 腾讯科技(深圳)有限公司 软件更新方法及软件更新系统
US9575741B2 (en) * 2014-03-20 2017-02-21 Google Technology Holdings LLC Methods and devices for wireless device-to-device software upgrades
CN104391728B (zh) * 2014-12-12 2018-01-16 北京奇虎科技有限公司 软件升级差量包获取方法和相应的升级方法以及装置
CN105511911B (zh) * 2015-11-27 2019-02-12 青岛海信移动通信技术股份有限公司 系统固件升级包的生成方法及装置
CN105487907A (zh) * 2015-12-07 2016-04-13 青岛海信电器股份有限公司 一种差分包的制作方法和装置
CN105373410B (zh) * 2015-12-22 2019-04-30 京信通信系统(中国)有限公司 基站软件差分升级方法及其装置
CN107391145A (zh) * 2017-07-27 2017-11-24 中兴通讯股份有限公司 升级包制作方法及装置、升级文件的方法及装置
CN109240720B (zh) * 2018-08-23 2021-11-26 瑞芯微电子股份有限公司 一种安卓系统的固件升级方法及一种存储设备
CN109002312A (zh) * 2018-09-10 2018-12-14 京信通信系统(中国)有限公司 软件升级方法、装置及升级服务器和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2356564A1 (en) * 2008-11-10 2011-08-17 Nokia Corporation Method and apparatus for updating firmware
CN104184814A (zh) * 2014-08-25 2014-12-03 中山市永衡日用制品有限公司 嵌入式固件差分升级的文件生成和合成的方法和系统
CN105138347A (zh) * 2015-07-17 2015-12-09 广东欧珀移动通信有限公司 一种差分升级包生成方法、软件升级方法及相应装置
CN109375939A (zh) * 2018-12-17 2019-02-22 蜂巢(武汉)微系统技术有限公司 一种车载系统固件在线升级方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181471A (zh) * 2020-10-16 2021-01-05 北京紫光展锐通信技术有限公司 差分升级方法及装置、存储介质、计算机设备
CN112328269A (zh) * 2020-11-26 2021-02-05 广东小天才科技有限公司 ubifs镜像的软件挂载方法、智能设备、电子设备及存储介质
CN112328269B (zh) * 2020-11-26 2024-03-15 广东小天才科技有限公司 ubifs镜像的软件挂载方法、智能设备、电子设备及存储介质
CN112631633A (zh) * 2021-01-07 2021-04-09 南方电网数字电网研究院有限公司 基于双芯智能电表的功能模块升级方法和装置
CN115469910A (zh) * 2022-11-15 2022-12-13 浙江日风电气股份有限公司 一种光伏逆变器固件更新的方法、装置、系统及存储介质

Also Published As

Publication number Publication date
CN113767365A (zh) 2021-12-07
CN110032377A (zh) 2019-07-19
CN110032377B (zh) 2024-06-07

Similar Documents

Publication Publication Date Title
WO2020186551A1 (zh) 通信模块软件升级方法、系统及通信模块
US10656936B2 (en) Systems and methods for software integrity validation using blockchain
CN103455354B (zh) 一种防止固件升级失败的方法和设备
ES2371995T3 (es) Actualización del firmware de un dispositivo electrónico.
KR101143112B1 (ko) 페일세이프 방식으로 맞춤 소프트웨어 영상 갱신을불휘발성 저장 장치에 적용하는 시스템 및 방법
WO2015070521A1 (zh) 将ubi格式的系统文件制作成工厂烧录映像文件方法
WO2019062635A1 (zh) 升级方法和装置
CN102360304B (zh) 嵌入式微处理器系统及其固件更新方法
CN103745158A (zh) 修复系统漏洞的方法和装置
CN101807152B (zh) 自我验证选择只读存储器的基本输出入系统及其验证方法
CN104918114B (zh) 一种操作系统升级方法及装置
JP2007515708A (ja) 携帯端末内のデータ更新方法
CN105354063B (zh) 程序在线升级方法及系统
US9519786B1 (en) Firmware integrity ensurance and update
US11886886B2 (en) System and method for runtime synchronization and authentication of pre-boot device drivers for a rescue operating system
CN107483241B (zh) 一种在网元升级过程中下载升级镜像版本的方法和装置
CN109062598A (zh) 一种安全的ota升级方法及系统
WO2020029967A1 (zh) 一种操作系统故障的修复方法和装置
CN112152846B (zh) 一种基于物联网的计量仪表远程升级方法
WO2011088701A1 (zh) 一种跨平台版本在线升级的方法及装置
CN107003876A (zh) 固件更新
WO2021169124A1 (zh) 安装软件包至目标主机的方法、装置和计算机设备
CN114840242A (zh) 一种电子设备的系统升级方法、装置及可读存储介质
WO2022156512A1 (zh) 一种固件更新方法、装置、设备及存储介质
CN101963911A (zh) 补丁生成方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19919701

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19919701

Country of ref document: EP

Kind code of ref document: A1