CN116431179A - 固件升级方法、装置、电子设备和存储介质 - Google Patents

固件升级方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN116431179A
CN116431179A CN202310353567.6A CN202310353567A CN116431179A CN 116431179 A CN116431179 A CN 116431179A CN 202310353567 A CN202310353567 A CN 202310353567A CN 116431179 A CN116431179 A CN 116431179A
Authority
CN
China
Prior art keywords
data
file
main body
firmware
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310353567.6A
Other languages
English (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.)
Zhejiang Chint Electrics Co Ltd
Original Assignee
Zhejiang Chint Electrics 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 Zhejiang Chint Electrics Co Ltd filed Critical Zhejiang Chint Electrics Co Ltd
Priority to CN202310353567.6A priority Critical patent/CN116431179A/zh
Publication of CN116431179A publication Critical patent/CN116431179A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

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

Abstract

本申请实施例公开了一种固件升级方法、装置、电子设备和存储介质;本申请实施例可以向第二设备发送描述信息;接收第二设备针对描述信息返回的应答信息,应答信息反映第二设备接收主体文件的状态;根据应答信息,向第二设备发送主体文件;接收第二设备反馈的未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;向第二设备发送数据请求指示的未接收数据,以使第二设备通过接收到的主体文件升级待升级固件。在本申请实施例中,第二设备可以接收完整的主体文件。由此,便于升级终端设备的固件,提升了固件的升级效率。

Description

固件升级方法、装置、电子设备和存储介质
技术领域
本申请涉及空中下载技术领域,具体涉及一种固件升级方法、装置、电子设备和存储介质。
背景技术
固件是写入可编程只读存储器或电可擦可编程只读存储器中的程序,担任着一个系统最基础最底层工作的软件,是指终端设备内部保存的“驱动程序”。目前,因为终端设备分布较广且数量较多,常采用空中下载技术(Over-The-Air Technology,OTA)通过移动通信的空中接口实现对终端设备固件的远程管理。
然而,由于OTA技术是无线传输,升级文件的传输容易不稳定,即终端设备可能无法接收到完整的升级文件,导致该终端设备的固件无法完成升级。
发明内容
本申请实施例提供一种固件升级方法、装置、电子设备和存储介质,可以便于升级终端设备的固件,提升固件的升级效率。
本申请实施例提供一种固件升级方法,应用于第一设备,第一设备关联有第二设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括:
向第二设备发送描述信息;
接收第二设备针对描述信息返回的应答信息,应答信息反映第二设备接收主体文件的状态;
根据应答信息,向第二设备发送主体文件;
接收第二设备反馈的未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;
向第二设备发送数据请求指示的未接收数据,以使第二设备通过接收到的主体文件升级待升级固件。
本申请实施例还提供一种固件升级装置,应用于第一设备,第一设备关联有第二设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括:
信息发送单元,用于向第二设备发送描述信息;
应答接收单元,用于接收第二设备针对描述信息返回的应答信息,应答信息反映第二设备接收主体文件的状态;
文件发送单元,用于根据应答信息,向第二设备发送主体文件;
请求接收单元,用于接收第二设备反馈的未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;
数据发送单元,用于向第二设备发送数据请求指示的未接收数据,以使第二设备通过接收到的主体文件升级待升级固件。
在一些实施例中,主体文件包括多帧数据,数据携带有发送顺序,根据应答信息,向第二设备发送主体文件,包括:
根据应答信息,按照发送顺序向第二设备发送多帧数据,以使第二设备根据接收到的第一数据的发送顺序和第二数据的发送顺序确定目标发送顺序,第一数据与第二数据相邻,目标发送顺序为第一数据的发送顺序和第二数据的发送顺序之间的发送顺序;
接收第二设备反馈的未接收数据的数据请求,包括:
接收第二设备反馈的数据请求,数据请求用于请求第一设备发送目标发送顺序对应的未接收数据。
在一些实施例中,描述信息位于升级文件的头部位置,描述信息包括主体文件对应的版本信息和正确校验信息,正确校验信息包括正确文件体积和正确校验和,正确校验和为构成主体文件的所有字节计算所得到的值。
在一些实施例中,在向第二设备发送数据请求指示的未接收数据,以使第二设备通过接收到的主体文件升级待升级固件之后,还包括:
响应第一设备向第二设备发送完主体文件,且未接收到数据请求后,向第二设备发送校验指令和正确校验信息,以使第二设备根据校验指令计算接收到的主体文件对应的实际校验信息;
接收第二设备反馈的校验结果,校验结果反映第一设备远程传输主体文件,以及实际校验信息和正确校验信息之间的差异;
基于校验结果,向第二设备发送重启指令,以使第二设备通过重启指令重启时,采用接收到的主体文件升级待升级固件。
在一些实施例中,第一设备包括第二设备的通信地址,向第二设备发送描述信息,包括:
根据通信地址,向第二设备发送描述信息。
在一些实施例中,第一设备包括广播通信地址,广播通信地址对应多个第二设备,向第二设备发送描述信息,包括:
根据广播地址,将描述信息发送至每个第二设备中。
本申请实施例还提供一种固件升级方法,应用于第二设备,第二设备关联有第一设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括:
接收第一设备发送的描述信息;
向第一设备发送针对描述信息的应答信息,应答信息反映第二设备接收主体文件的状态;
基于应答信息,接收主体文件;
向第一设备发送未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;
接收第一设备发送的数据请求指示的未接收数据,以通过接收到的主体文件升级待升级固件。
本申请实施例还提供一种固件升级装置,应用于第二设备,第二设备关联有第一设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括:
信息接收单元,用于接收第一设备发送的描述信息;
应答发送单元,用于向第一设备发送针对描述信息的应答信息,应答信息反映第二设备接收主体文件的状态;
文件接收单元,用于基于应答信息,接收主体文件;
请求发送单元,用于向第一设备发送未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;
数据接收单元,用于接收第一设备发送的数据请求指示的未接收数据,以通过接收到的主体文件升级待升级固件。
在一些实施例中,向第一设备发送针对描述信息的应答信息,包括:
根据描述信息,确定主体文件和待升级固件之间的版本差异;
若版本差异反映主体文件的版本信息高于待升级固件的版本信息时,擦除待升级固件中主体文件对应的文件区域;
根据版本差异和待升级固件在第二设备中的状态,向第一设备发送应答信息。
在一些实施例中,主体文件包括多帧数据,数据携带有发送顺序,基于应答信息,接收主体文件,包括:
基于应答信息,接收第一设备发送的多帧数据;
根据第一数据的发送顺序和第二数据的发送顺序确定目标发送顺序,第一数据与第二数据相邻,目标发送顺序为第一数据的发送顺序和第二数据的发送顺序之间的发送顺序;
向第一设备发送未接收数据的数据请求,包括:
向第一设备发送数据请求,数据请求用于请求第一设备发送目标发送顺序对应的未接收数据。
在一些实施例中,描述信息包括主体文件对应的版本信息和正确校验信息,正确校验信息包括正确文件体积和正确校验和,正确校验和为构成主体文件的所有字节计算所得到的值,在接收第一设备发送的数据请求指示的未接收数据,以通过接收到的主体文件升级待升级固件之后,还包括:
接收第一设备发送的校验指令和正确校验信息;
根据校验指令计算接收到的主体文件对应的实际校验信息;
根据第一设备远程传输主体文件,以及实际校验信息和正确校验信息之间的差异,向第一设备发送校验结果;
接收第一设备基于校验结果发送的重启指令;
根据校验结果和重启指令控制第二设备重启,并在第二设备重启时采用接收到的主体文件升级待升级固件。
本申请实施例还提供一种电子设备,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本申请实施例所提供的任一种固件升级方法中的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种固件升级方法中的步骤。
本申请实施例可以应用于第一设备,第一设备关联有第二设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括:向第二设备发送描述信息;接收第二设备针对描述信息返回的应答信息,应答信息反映第二设备接收主体文件的状态;根据应答信息,向第二设备发送主体文件;接收第二设备反馈的未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;向第二设备发送数据请求指示的未接收数据,以使第二设备通过接收到的主体文件升级待升级固件。
在本申请中,可以使第一设备通过描述信息测试第二设备接收主体文件的状态,以避免在应答信息反映第二设备无法接收主体文件时,向第二设备发送主体文件,并在应答信息反映第二设备可以接收主体文件时,第一设备向第二设备发送主体文件,实时获取第二设备反馈的未接收数据,并向第二设备补发未接收数据,从而使第二设备可以接收完整的主体文件。由此,便于升级终端设备的固件,提升了固件的升级效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的固件升级方法的场景示意图;
图1b是本申请实施例提供的固件升级方法应用在第一设备的流程示意图;
图2是本申请实施例提供的固件升级方法应用在第二设备的流程示意图;
图3是本申请实施例提供的固件升级系统的示意图;
图4是本申请实施例提供的固件升级装置应用在第一设备的结构示意图;
图5是本申请实施例提供的固件升级装置应用在第二设备的结构示意图;
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种固件升级方法、装置、电子设备和存储介质。
其中,该固件升级装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(Personal Computer,PC)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
在一些实施例中,该固件升级装置还可以集成在多个电子设备中,比如,固件升级装置可以集成在多个服务器中,由多个服务器来实现本申请的固件升级方法。
在一些实施例中,服务器也可以以终端的形式来实现。
控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。
目前,CAN总线因其高可靠性、高实时性,在汽车、医疗、工业现场的应用越来越广泛。随着物联网应用愈加广泛,终端设备固件升级的需求也愈加明显,升级的细节需求也愈加丰富。针对实际应用中多种多样的升级需求,目前能找到的升级方案均无法满足需求。
考虑到目前通过OTA技术升级终端设备的固件时,终端设备除了可能无法接收到完整的升级文件时,还容易在终端设备无法接收升级文件时,占用终端设备升级,使终端设备无法正常运行,为了解决前述问题,本申请实施例提出了一种固件升级方法,参考图1a,该电子设备可以应用于第一设备01,第一设备01关联有第二设备02,第一设备01部署有升级文件,第二设备02包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括:向第二设备02发送描述信息;接收第二设备02针对描述信息返回的应答信息,应答信息反映第二设备02接收主体文件的状态;根据应答信息,向第二设备02发送主体文件;接收第二设备02反馈的未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;向第二设备02发送数据请求指示的未接收数据,以使第二设备02通过接收到的主体文件升级待升级固件。
其中,可以使第一设备通过描述信息测试第二设备接收主体文件的状态,以避免在应答信息反映第二设备无法接收主体文件时,向第二设备发送主体文件,使第二设备的待升级固件一直处于升级状态,并在应答信息反映第二设备可以接收主体文件时,第一设备向第二设备发送主体文件,实时获取第二设备反馈的未接收数据,并向第二设备补发未接收数据,从而使第二设备可以接收完整的主体文件。由此,便于升级终端设备的固件,提升了固件的升级效率。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
在本实施例中,提供了一种固件升级方法,应用于第一设备,第一设备关联有第二设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,如图1b所示,该固件升级方法的具体流程可以如下:
其中,第一设备可以远程控制第二设备中固件的升级。比如,第一设备可以是网关或服务器等。第一设备可以记载有第二设备的通信地址,或者记载有和第二设备通信的通信信道,其中,第一设备可以支持单台第二设备升级,还可以同时支持多台第二设备同时升级。
第二设备为可以通过第一设备远程升级的设备。比如,第二设备可以是智能电压器、手机、汽车等。
待升级固件为第二设备中等待升级的固件。比如,待升级固件可以是智能电压器中的固件,还可以是手机中的固件,汽车中的固件,等等。
升级文件为升级第二设备中固件的文件,该升级文件可以支持第一设备远程升级第二设备中的固件。比如,升级文件可以是OTA文件,向第二设备发送的升级文件可以是OTABin文件,该OTABin文件为OTA文件映射后对应的文件。
主体文件为升级文件中用于升级待升级固件的部分。
描述信息为升级文件中用于描述主体文件的信息。比如,描述信息可以位于升级文件的头部位置或尾部位置,若描述信息位于升级文件的头部位置,则描述信息可以是升级文件的head信息,该升级文件的head信息记录了主体文件的各种属性和信息,比如,描述信息描述了主体文件的格式版本、产品型号、软件版本、文件体积和校验信息,以及描述信息的自校验信息,等等。
110、向第二设备发送描述信息。
比如,第一设备为网关时,当网关部署完升级文件后,从升级文件中提取描述信息,并从网关中获取需要升级待升级固件的第二设备,并向第二设备发送描述信息,以通过描述信息向第二设备介绍升级文件的主体文件。其中,第一设备向第二设备发送描述信息的具体格式可以是:
Figure BDA0004173646770000081
其中,控制指令0×01(和cmd:0×01)用于指示第一设备向第二设备发送描述信息中的产品型号和软件版本,其中,控制指令0×01位于头部,便于描述信息的发送。在控制指令和ID之间的0用于指示发送的描述信息等待第二设备应答,ID可以是指的是第二设备的通信地址,还可以指的是第一设备和多个第二设备之间的通信所用的广播地址。
在一些实施例中,描述信息位于升级文件的头部位置,描述信息包括主体文件对应的版本信息和正确校验信息,正确校验信息包括正确文件体积和正确校验和,正确校验和为构成主体文件的所有字节计算所得到的值。
其中,版本信息用于反映主体文件的版本。比如,版本信息可以与第二设备中待升级固件的版本信息相同,也可以不同,具体可以时该版本信息高于待升级固件的版本信息,还可以是低于待升级固件的版本信息。
正确校验信息为通过主体文件得到的校验信息,用于在向第二设备传输主体文件后,使第二设备可以依据正确校验信息检验接收到的主体文件是否正确。
正确文件体积为主体文件的大小。比如,正确文件体积可以是主体文件在存储时占用的内存,还可以是主体文件的文件长度,等等。
正确校验和为构成主题文件的所有字节计算所得到的值。其中,正确校验和可以通过SUM32算法计算。
在一些实施例中,考虑到第一设备可以支持单台设备升级,第一设备包括第二设备的通信地址,向第二设备发送描述信息,包括:
根据通信地址,向第二设备发送描述信息。
比如,第一设备存储有第二设备的通信地址,在第一设备部署有升级文件后,可以查询到该第二设备的通信地址,向第二设备发送描述信息。
在一些实施例中,考虑到第一设备还可以支持多台设备同时升级,第一设备包括广播通信地址,广播通信地址对应多个第二设备,向第二设备发送描述信息,包括:
根据广播地址,将描述信息发送至每个第二设备中。
其中,广播地址是专门用于同时向网络中所有第二设备发送升级文件的一个地址,通过广播地址,可以将描述信息逐台发送至多个第二设备中。
120、接收第二设备针对描述信息返回的应答信息,应答信息反映第二设备接收主体文件的状态。
其中,应答信息可以指示第二设备接收了描述信息,并针对描述信息作出响应,该响应可以反映第二设备接收主体文件的状态。
应答信息的具体格式可以是:
Figure BDA0004173646770000091
其中,应答信息中的控制指令0×01(和cmd:0×01)用于指示第二设备应答第一设备发送的(0×01)的指令,在控制指令和ID之间的1用于指示第二设备应答了第一设备发送的描述信息,ID可以是指的是第二设备的通信地址,还可以指的是第一设备和多个第二设备之间的通信所用的广播地址,4字节错误码可以反映第二设备接收主体文件的状态。
Figure BDA0004173646770000101
其中,Flash擦除失败指示待升级固件中需要主体文件对应的文件区域擦除失败。BinLen指示主体文件的文件体积超出升级范围。
比如,在错误码为0时,反映第二设备可以接收主体文件,在错误码为1-4时,反映第二设备无法接收主体文件。
130、根据应答信息,向第二设备发送主体文件。
比如,在应答信息反映第二设备可以接收主体文件时,向第二设备发送主体文件,在应答信息反映第二设备无法接收主体文件时,停止向第二设备发送主体文件。
140、接收第二设备反馈的未接收数据的数据请求,未接收数据为未接收到的主体文件的数据。
其中,未接收数据为第一设备向第二设备发送主体文件后,第二设备未接收到的主体文件的数据。比如,第一设备向第二设备发送主体文件时,由于通过OTA技术容易导致文件远程发送的不稳定,从而使第二设备可能无法接受到完整的主体文件,如此,第二设备可以向第一设备反馈未接收数据,使第一设备可以重新向第二设备发送未接收数据。
数据请求用于第二设备向第一设备请求重新发送未接收数据。
在一些实施例中,为了使第二设备可以获知到未接收到完整的主体文件,以便向第一设备请求未接收到的主体文件的数据,以便第二设备的待升级固件可以实现升级,主体文件包括多帧数据,数据携带有发送顺序,根据应答信息,向第二设备发送主体文件,包括:
根据应答信息,按照发送顺序向第二设备发送多帧数据,以使第二设备根据接收到的第一数据的发送顺序和第二数据的发送顺序确定目标发送顺序,第一数据与第二数据相邻,目标发送顺序为第一数据的发送顺序和第二数据的发送顺序之间的发送顺序;
接收第二设备反馈的未接收数据的数据请求,包括:
接收第二设备反馈的数据请求,数据请求用于请求第一设备发送目标发送顺序对应的未接收数据。
其中,多帧数据可以构成完整的主体文件。
第一设备向第二设备发送多帧数据的具体格式可以是:
Figure BDA0004173646770000111
其中,文件传输指令0×02用于指示第一设备向第二设备发送主体文件,段Offset用于指示数据的发送顺序,0×0000为第一帧数据的发送顺序,0×0001为第二帧数据的发送顺序,……,0×0100为第101帧数据的发送顺序,文件传输指令和ID之间的0用于指示第一设备发送的数据,每帧数据对应的xxx为数据内容。
发送顺序用于指示多帧数据发送至第二设备的顺序。
第一数据为第二设备接收到一帧数据。比如,若主体文件由100帧数据构成,则第一数据可以是第一帧到第99帧的所有数据中的任意一帧数据。
第二数据为第二设备接收到第一数据的下一帧数据。
比如,若第一数据的发送顺序为第90帧,第二数据的发送顺序为第91帧,则第二数据的发送顺序可以与第一数据的发送顺序相邻。
比如,若第一数据的发送顺序为第90帧,第二数据的发送顺序为第98帧,则第二数据的发送顺序与第一数据的发送顺序不相邻。
目标发送顺序为第一数据的发送顺序和第二数据的发送顺序之间的发送顺序。比如,若第一数据的发送顺序为第90帧,第二数据的发送顺序为第98帧,则目标发送顺序为第91帧-第97帧。
比如,构成主体文件的多帧数据有100帧数据,若目标发送顺序为第91帧-第97帧,则接收第二设备发送的数据请求,该数据请求可以请求第一设备从第91帧开始重新发送数据,或是请求第一设备重新发送第91帧-第97帧的数据。
接收第二设备发送数据请求的具体格式可以是:
Figure BDA0004173646770000121
其中,该数据请求为第二设备请求第一设备发送发送顺序为0×0098对应的数据,文件传输指令0×02和ID之间的1用于指示数据请求为第二设备发送。
150、向第二设备发送数据请求指示的未接收数据,以使第二设备通过接收到的主体文件升级待升级固件。
比如,数据请求为第二设备请求第一设备发送发送顺序为0×0098对应的数据,则未接收数据为发送顺序0×0098对应的数据,则第一设备从发送顺序为0×0098对应的数据开始重新发送,直至数据发送完。
在一些实施例中,考虑到第二设备接收到的主体文件可能和第一设备发送的主体文件存在差异,从而导致第二设备的待升级固件可能升级失败,为了使第二设备的待升级固件成功升级,在向第二设备发送数据请求指示的未接收数据,以使第二设备通过接收到的主体文件升级待升级固件之后,还包括:
响应第一设备向第二设备发送完主体文件,且未接收到数据请求后,向第二设备发送校验指令和正确校验信息,以使第二设备根据校验指令计算接收到的主体文件对应的实际校验信息;
接收第二设备反馈的校验结果,校验结果反映第一设备远程传输主体文件,以及实际校验信息和正确校验信息之间的差异;
基于校验结果,向第二设备发送重启指令,以使第二设备通过重启指令重启时,采用接收到的主体文件升级待升级固件。
其中,校验指令用于指示第二设备在接收完主体文件后,校验主体文件是否正确。
第一设备发送校验指令和正确校验信息的具体格式可以是:
Figure BDA0004173646770000131
其中,控制指令0×03(和cmd:0×03)用于指示第一设备向第二设备发送校验指令,以使第二设备依据校验指令和正确校验信息(文件长度和正确校验和)校验接收到的主体文件。
实际校验信息为第二设备根据校验指令计算接收到的主体文件对应的信息,该实际校验信息通过和正确校验信息对应,检验第二设备接收到的主体文件的正确性。比如,若实际校验信息可以和正确校验信息相同,则第二设备接收到的主体文件和第一设备发送的主体文件相同,若实际校验信息和正确校验信息不相同时,第二设备接收到的主体文件和第一设备发送的主题文件不同。
校验结果可以反映第一设备远程向第二设备传输主体文件,以及实际校验信息和正确校验信息之间的差异。
重启指令用于在校验结果反映第二设备接收完主体文件后,控制第二设备重启,以使第二设备在重启时,可以采用接收到的主体文件升级待升级固件。
第一设备发送校重启指令的具体格式可以是:
Figure BDA0004173646770000132
其中,控制指令0×04(和cmd:0×04)用于控制第二设备重启(复位),文件传输指令0×04和ID之间的0用于指示第一设备发送的重启指令。
第二设备根据校验结果和重启指令,输出错误码,第一设备可以依据错误码确定第二设备中的待升级固件升级成功,并控制重启,其中,错误码输出的具体格式如下:
Figure BDA0004173646770000141
其中,控制指令0×04(和cmd:0×04)用于控制第二设备重启(复位),文件传输指令0×04和ID之间的1用于指示第二设备依据重启指令发送的错误码。
第二设备依据重启指令发送的错误码的具体内容可以是:
Figure BDA0004173646770000142
其中,第一设备通过错误码,确定第二设备是否成功升级。
由上可知,本申请实施例可以应用于第一设备,第一设备关联有第二设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括:向第二设备发送描述信息;接收第二设备针对描述信息返回的应答信息,应答信息反映第二设备接收主体文件的状态;根据应答信息,向第二设备发送主体文件;接收第二设备反馈的未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;向第二设备发送数据请求指示的未接收数据,以使第二设备通过接收到的主体文件升级待升级固件。
由此本方案可以使第一设备通过描述信息测试第二设备接收主体文件的状态,以避免在应答信息反映第二设备无法接收主体文件时,向第二设备发送主体文件,使第二设备的待升级固件一直处于升级状态,并在应答信息反映第二设备可以接收主体文件时,第一设备向第二设备发送主体文件,实时获取第二设备反馈的未接收数据,并向第二设备补发未接收数据,从而使第二设备可以接收完整的主体文件。由此,便于升级终端设备的固件,提升了固件的升级效率。
在本实施例中,提供了一种固件升级方法,应用于第二设备,第二设备关联有第一设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,如图2所示,该固件升级方法的具体流程可以如下:
210、接收第一设备发送的描述信息。
220、向第一设备发送针对描述信息的应答信息,应答信息反映第二设备接收主体文件的状态。
在一些实施例中,考虑到待升级固件存在多个功能,而升级文件可能用于升级部分功能,为了使主体文件可以升级待升级固件的部分功能,向第一设备发送针对描述信息的应答信息,包括:
根据描述信息,确定主体文件和待升级固件之间的版本差异;
若版本差异反映主体文件的版本信息高于待升级固件的版本信息时,擦除待升级固件中主体文件对应的文件区域;
根据版本差异和待升级固件在第二设备中的状态,向第一设备发送应答信息。
其中,版本差异可以反映主体文件和待升级固件之间版本的差异。比如,版本差异可以反映主体文件的版本信息高于待升级固件的版本信息,还可以反映主体文件的版本信息等于待升级固件的版本信息,主体文件的版本信息低于待升级固件的版本信息,等等。
文件区域为待升级固件中主体文件中所需要升级的区域。
230、基于应答信息,接收主体文件。
240、向第一设备发送未接收数据的数据请求,未接收数据为未接收到的主体文件的数据。
在一些实施例中,为了使第二设备可以获知到未接收到完整的主体文件,以便向第一设备请求未接收到的主体文件的数据,以便第二设备的待升级固件可以实现升级,主体文件包括多帧数据,数据携带有发送顺序,基于应答信息,接收主体文件,包括:
基于应答信息,接收第一设备发送的多帧数据;
根据第一数据的发送顺序和第二数据的发送顺序确定目标发送顺序,第一数据与第二数据相邻,目标发送顺序为第一数据的发送顺序和第二数据的发送顺序之间的发送顺序;
向第一设备发送未接收数据的数据请求,包括:
向第一设备发送数据请求,数据请求用于请求第一设备发送目标发送顺序对应的未接收数据。
250、接收第一设备发送的数据请求指示的未接收数据,以通过接收到的主体文件升级待升级固件。
在一些实施例中,考虑到第二设备接收到的主体文件可能和第一设备发送的主体文件存在差异,从而导致第二设备的待升级固件可能升级失败,为了使第二设备的待升级固件成功升级,描述信息包括主体文件对应的版本信息和正确校验信息,正确校验信息包括正确文件体积和正确校验和,正确校验和为构成主体文件的所有字节计算所得到的值,在接收第一设备发送的数据请求指示的未接收数据,以通过接收到的主体文件升级待升级固件之后,还包括:
接收第一设备发送的校验指令和正确校验信息;
根据校验指令计算接收到的主体文件对应的实际校验信息;
根据第一设备远程传输主体文件,以及实际校验信息和正确校验信息之间的差异,向第一设备发送校验结果;
接收第一设备基于校验结果发送的重启指令;
根据校验结果和重启指令控制第二设备重启,并在第二设备重启时采用接收到的主体文件升级待升级固件。
由上可知,本申请实施例可以应用于第二设备,第二设备关联有第一设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括:接收第一设备发送的描述信息;向第一设备发送针对描述信息的应答信息,应答信息反映第二设备接收主体文件的状态;基于应答信息,接收主体文件;向第一设备发送未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;接收第一设备发送的数据请求指示的未接收数据,以通过接收到的主体文件升级待升级固件。
由此本方案可以使第一设备通过描述信息测试第二设备接收主体文件的状态,以避免在应答信息反映第二设备无法接收主体文件时,向第二设备发送主体文件,使第二设备的待升级固件一直处于升级状态,并在应答信息反映第二设备可以接收主体文件时,第一设备向第二设备发送主体文件,实时获取第二设备反馈的未接收数据,并向第二设备补发未接收数据,从而使第二设备可以接收完整的主体文件。由此,便于升级终端设备的固件,提升了固件的升级效率。
根据上述实施例所描述的方法,以下将作进一步详细说明。
在本实施例中,将以通过OTA技术升级终端设备的固件为例,对本申请实施例的方法进行详细说明。
如图3所示,一种固件升级系统具体流程如下:
(一)、基于第一设备获取升级文件,从升级文件中提取描述信息,并触发OTA升级,向第二设备发送描述信息。
(二)、第二设备在接收到描述信息后,比对升级文件和待升级固件之间的版本差异,擦除待升级固件中主体文件对应的文件区域,并根据版本差异和待升级固件在第二设备中的状态,向第一设备发送应答信息,其中,主体文件包括多帧数据,数据携带有发送顺序。
(三)、解析应答信息,若应答信息反映第二设备处于接收主体文件的状态时,则按照发送顺序向第二设备发送多帧数据;若应答信息反映第二设备未处于接收主体文件的状态,则第一设备停止向第二设备发送多帧数据。
(四)、在第一设备向第二设备发送多帧数据时,第二设备根据接收到的第一数据的发送顺序和第二数据的发送顺序确定目标发送顺序,第一数据与第二数据相邻,目标发送顺序为第一数据的发送顺序和第二数据的发送顺序之间的发送顺序,并向第一设备发送数据请求,数据请求用于请求第一设备发送目标发送顺序对应的未接收数据。
(五)、第一设备根据接收到的第二设备反馈的数据请求,重发控制向第二设备发送数据请求指示的未接收数据。
(六)、在第一设备向第二设备发送完主体文件,且未接收到数据请求后,第一设备触发校验,第一设备向第二设备发送校验指令和正确校验信息,第二设备根据校验指令计算接收到的主体文件对应的实际校验信息,并根据第一设备远程传输主体文件,以及实际校验信息和正确校验信息之间的差异,向第一设备发送校验结果。
(七)、第一设备根据校验结果确定第二设备接收完主体文件,通过校验结果,触发第二设备重启,并向第二设备发送重启指令,并在第二设备重启时采用接收到的主体文件升级待升级固件。
由上可知,可以便于升级终端设备的固件,提升固件的升级效率。
为了更好地实施以上方法,本申请实施例还提供一种固件升级装置,该固件升级装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
比如,在本实施例中,将以固件升级装置具体集成在电子设备为例,对本申请实施例的方法进行详细说明。
例如,如图4所示,该固件升级装置可以应用于第一设备,第一设备关联有第二设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括信息发送单元410、应答接收单元420、文件发送单元430、请求接收单元440以及数据发送单元450,如下:
(一)、信息发送单元410。
信息发送单元410,用于向第二设备发送描述信息。
在一些实施例中,描述信息位于升级文件的头部位置,描述信息包括主体文件对应的版本信息和正确校验信息,正确校验信息包括正确文件体积和正确校验和,正确校验和为构成主体文件的所有字节计算所得到的值。
在一些实施例中,第一设备包括第二设备的通信地址,向第二设备发送描述信息,包括:
根据通信地址,向第二设备发送描述信息。
在一些实施例中,第一设备包括广播通信地址,广播通信地址对应多个第二设备,向第二设备发送描述信息,包括:
根据广播地址,将描述信息发送至每个第二设备中。
(二)、应答接收单元420。
应答接收单元420,用于接收第二设备针对描述信息返回的应答信息,应答信息反映第二设备接收主体文件的状态。
(三)、文件发送单元430。
文件发送单元430,用于根据应答信息,向第二设备发送主体文件。
(四)、请求接收单元440。
请求接收单元440,用于接收第二设备反馈的未接收数据的数据请求,未接收数据为未接收到的主体文件的数据。
在一些实施例中,主体文件包括多帧数据,数据携带有发送顺序,根据应答信息,向第二设备发送主体文件,包括:
根据应答信息,按照发送顺序向第二设备发送多帧数据,以使第二设备根据接收到的第一数据的发送顺序和第二数据的发送顺序确定目标发送顺序,第一数据与第二数据相邻,目标发送顺序为第一数据的发送顺序和第二数据的发送顺序之间的发送顺序;
接收第二设备反馈的未接收数据的数据请求,包括:
接收第二设备反馈的数据请求,数据请求用于请求第一设备发送目标发送顺序对应的未接收数据。
(五)、数据发送单元450。
数据发送单元450,用于向第二设备发送数据请求指示的未接收数据,以使第二设备通过接收到的主体文件升级待升级固件。
在一些实施例中,在向第二设备发送数据请求指示的未接收数据,以使第二设备通过接收到的主体文件升级待升级固件之后,还包括:
响应第一设备向第二设备发送完主体文件,且未接收到数据请求后,向第二设备发送校验指令和正确校验信息,以使第二设备根据校验指令计算接收到的主体文件对应的实际校验信息;
接收第二设备反馈的校验结果,校验结果反映第一设备远程传输主体文件,以及实际校验信息和正确校验信息之间的差异;
基于校验结果,向第二设备发送重启指令,以使第二设备通过重启指令重启时,采用接收到的主体文件升级待升级固件。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的固件升级装置应用于第一设备,第一设备关联有第二设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括:由信息发送单元向第二设备发送描述信息;由应答接收单元接收第二设备针对描述信息返回的应答信息,应答信息反映第二设备接收主体文件的状态;由文件发送单元根据应答信息,向第二设备发送主体文件;由请求接收单元接收第二设备反馈的未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;由数据发送单元向第二设备发送数据请求指示的未接收数据,以使第二设备通过接收到的主体文件升级待升级固件。
由此,本申请实施例可以便于升级终端设备的固件,提升固件的升级效率。
例如,如图5所示,该固件升级装置还可以应用于第二设备,第二设备关联有第一设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括信息接收单元510、应答发送单元520、文件接收单元530、请求发送单元540以及数据接收单元550,如下:
(一)、信息接收单元510。
信息接收单元510,用于接收第一设备发送的描述信息。
(二)、应答发送单元520。
应答发送单元520,用于向第一设备发送针对描述信息的应答信息,应答信息反映第二设备接收主体文件的状态。
在一些实施例中,向第一设备发送针对描述信息的应答信息,包括:
根据描述信息,确定主体文件和待升级固件之间的版本差异;
若版本差异反映主体文件的版本信息高于待升级固件的版本信息时,擦除待升级固件中主体文件对应的文件区域;
根据版本差异和待升级固件在第二设备中的状态,向第一设备发送应答信息。
(三)、文件接收单元530。
文件接收单元530,用于基于应答信息,接收主体文件。
(四)、请求发送单元540。
请求发送单元540,用于向第一设备发送未接收数据的数据请求,未接收数据为未接收到的主体文件的数据。
在一些实施例中,主体文件包括多帧数据,数据携带有发送顺序,基于应答信息,接收主体文件,包括:
基于应答信息,接收第一设备发送的多帧数据;
根据第一数据的发送顺序和第二数据的发送顺序确定目标发送顺序,第一数据与第二数据相邻,目标发送顺序为第一数据的发送顺序和第二数据的发送顺序之间的发送顺序;
向第一设备发送未接收数据的数据请求,包括:
向第一设备发送数据请求,数据请求用于请求第一设备发送目标发送顺序对应的未接收数据。
(五)、数据接收单元550。
数据接收单元550,用于接收第一设备发送的数据请求指示的未接收数据,以通过接收到的主体文件升级待升级固件。
在一些实施例中,描述信息包括主体文件对应的版本信息和正确校验信息,正确校验信息包括正确文件体积和正确校验和,正确校验和为构成主体文件的所有字节计算所得到的值,在接收第一设备发送的数据请求指示的未接收数据,以通过接收到的主体文件升级待升级固件之后,还包括:
接收第一设备发送的校验指令和正确校验信息;
根据校验指令计算接收到的主体文件对应的实际校验信息;
根据第一设备远程传输主体文件,以及实际校验信息和正确校验信息之间的差异,向第一设备发送校验结果;
接收第一设备基于校验结果发送的重启指令;
根据校验结果和重启指令控制第二设备重启,并在第二设备重启时采用接收到的主体文件升级待升级固件。
由上可知,本实施例的固件升级装置应用于第二设备,第二设备关联有第一设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括:由信息接收单元接收第一设备发送的描述信息;由应答发送单元向第一设备发送针对描述信息的应答信息,应答信息反映第二设备接收主体文件的状态;由文件接收单元基于应答信息,接收主体文件;由请求发送单元向第一设备发送未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;由数据接收单元接收第一设备发送的数据请求指示的未接收数据,以通过接收到的主体文件升级待升级固件。
由此,本申请实施例可以便于升级终端设备的固件,提升固件的升级效率。
相应的,本申请实施例还提供一种电子设备,该电子设备可以为终端或服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机、个人数字助理(Personal Digital Assistant,PDA)等终端设备。
如图6所示,图6为本申请实施例提供的电子设备的结构示意图,该电子设备600包括有一个或者一个以上处理核心的处理器610、有一个或一个以上计算机可读存储介质的存储器620及存储在存储器620上并可在处理器上运行的计算机程序。其中,处理器610与存储器620电性连接。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器610是电子设备600的控制中心,利用各种接口和线路连接整个电子设备600的各个部分,通过运行或加载存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行电子设备600的各种功能和处理数据,从而对电子设备600进行整体监控。
在本申请实施例中,电子设备600中的处理器610会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器620中,并由处理器610来运行存储在存储器620中的应用程序,从而实现各种功能:
一种固件升级方法,应用于第一设备,第一设备关联有第二设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括:
向第二设备发送描述信息;
接收第二设备针对描述信息返回的应答信息,应答信息反映第二设备接收主体文件的状态;
根据应答信息,向第二设备发送主体文件;
接收第二设备反馈的未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;
向第二设备发送数据请求指示的未接收数据,以使第二设备通过接收到的主体文件升级待升级固件。
一种固件升级方法,应用于第二设备,第二设备关联有第一设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括:
接收第一设备发送的描述信息;
向第一设备发送针对描述信息的应答信息,应答信息反映第二设备接收主体文件的状态;
基于应答信息,接收主体文件;
向第一设备发送未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;
接收第一设备发送的数据请求指示的未接收数据,以通过接收到的主体文件升级待升级固件。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图6所示,电子设备600还包括:触控显示屏630、射频电路640、音频电路650、输入单元660以及电源670。其中,处理器610分别与触控显示屏630、射频电路640、音频电路650、输入单元660以及电源670电性连接。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏630可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏630可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器610,并能接收处理器610发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器610以确定触摸事件的类型,随后处理器610根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏630而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏630也可以作为输入单元660的一部分实现输入功能。
射频电路640可用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。
音频电路650可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。音频电路650可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路650接收后转换为音频数据,再将音频数据输出处理器610处理后,经射频电路640以发送给比如另一电子设备,或者将音频数据输出至存储器620以便进一步处理。音频电路650还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。
输入单元660可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源670用于给电子设备600的各个部件供电。可选的,电源670可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源670还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图6中未示出,电子设备600还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的电子设备可以使第一设备通过描述信息测试第二设备接收主体文件的状态,以避免在应答信息反映第二设备无法接收主体文件时,向第二设备发送主体文件,并在应答信息反映第二设备可以接收主体文件时,第一设备向第二设备发送主体文件,实时获取第二设备反馈的未接收数据,并向第二设备补发未接收数据,从而使第二设备可以接收完整的主体文件。由此,便于升级终端设备的固件,提升了固件的升级效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种固件升级方法中的步骤。例如,该计算机程序可以执行如下步骤:
一种固件升级方法,应用于第一设备,第一设备关联有第二设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括:
向第二设备发送描述信息;
接收第二设备针对描述信息返回的应答信息,应答信息反映第二设备接收主体文件的状态;
根据应答信息,向第二设备发送主体文件;
接收第二设备反馈的未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;
向第二设备发送数据请求指示的未接收数据,以使第二设备通过接收到的主体文件升级待升级固件。
一种固件升级方法,应用于第二设备,第二设备关联有第一设备,第一设备部署有升级文件,第二设备包括待升级固件,升级文件包括主体文件和主体文件的描述信息,主体信息用于升级待升级固件,包括:
接收第一设备发送的描述信息;
向第一设备发送针对描述信息的应答信息,应答信息反映第二设备接收主体文件的状态;
基于应答信息,接收主体文件;
向第一设备发送未接收数据的数据请求,未接收数据为未接收到的主体文件的数据;
接收第一设备发送的数据请求指示的未接收数据,以通过接收到的主体文件升级待升级固件。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种固件升级方法中的步骤,因此,可以实现本申请实施例所提供的任一种固件升级方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种固件升级方法、装置、电子设备和存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (14)

1.一种固件升级方法,其特征在于,应用于第一设备,所述第一设备关联有第二设备,所述第一设备部署有升级文件,所述第二设备包括待升级固件,所述升级文件包括主体文件和所述主体文件的描述信息,所述主体信息用于升级所述待升级固件,包括:
向所述第二设备发送所述描述信息;
接收所述第二设备针对所述描述信息返回的应答信息,所述应答信息反映所述第二设备接收所述主体文件的状态;
根据所述应答信息,向所述第二设备发送所述主体文件;
接收所述第二设备反馈的未接收数据的数据请求,所述未接收数据为未接收到的所述主体文件的数据;
向所述第二设备发送所述数据请求指示的所述未接收数据,以使所述第二设备通过接收到的所述主体文件升级所述待升级固件。
2.如权利要求1所述的固件升级方法,其特征在于,所述主体文件包括多帧数据,所述数据携带有发送顺序,所述根据所述应答信息,向所述第二设备发送所述主体文件,包括:
根据所述应答信息,按照所述发送顺序向所述第二设备发送所述多帧数据,以使所述第二设备根据接收到的第一数据的发送顺序和第二数据的发送顺序确定目标发送顺序,所述第一数据与所述第二数据相邻,所述目标发送顺序为所述第一数据的发送顺序和所述第二数据的发送顺序之间的发送顺序;
所述接收所述第二设备反馈的未接收数据的数据请求,包括:
接收所述第二设备反馈的数据请求,所述数据请求用于请求所述第一设备发送所述目标发送顺序对应的未接收数据。
3.如权利要求1所述的固件升级方法,其特征在于,所述描述信息位于所述升级文件的头部位置,所述描述信息包括所述主体文件对应的版本信息和正确校验信息,所述正确校验信息包括正确文件体积和正确校验和,所述正确校验和为构成所述主体文件的所有字节计算所得到的值。
4.如权利要求3所述的固件升级方法,其特征在于,在向所述第二设备发送所述数据请求指示的所述未接收数据,以使所述第二设备通过接收到的所述主体文件升级所述待升级固件之后,还包括:
响应所述第一设备向所述第二设备发送完所述主体文件,且未接收到所述数据请求后,向所述第二设备发送校验指令和所述正确校验信息,以使所述第二设备根据所述校验指令计算接收到的所述主体文件对应的实际校验信息;
接收所述第二设备反馈的校验结果,所述校验结果反映所述第一设备远程传输所述主体文件,以及所述实际校验信息和所述正确校验信息之间的差异;
基于所述校验结果,向所述第二设备发送重启指令,以使所述第二设备通过所述重启指令重启时,采用接收到的所述主体文件升级所述待升级固件。
5.如权利要求1所述的固件升级方法,其特征在于,所述第一设备包括所述第二设备的通信地址,所述向所述第二设备发送所述描述信息,包括:
根据所述通信地址,向所述第二设备发送所述描述信息。
6.如权利要求1所述的固件升级方法,其特征在于,所述第一设备包括广播通信地址,所述广播通信地址对应多个所述第二设备,所述向所述第二设备发送所述描述信息,包括:
根据所述广播地址,将所述描述信息发送至每个所述第二设备中。
7.一种固件升级方法,其特征在于,应用于第二设备,所述第二设备关联有第一设备,所述第一设备部署有升级文件,所述第二设备包括待升级固件,所述升级文件包括主体文件和所述主体文件的描述信息,所述主体信息用于升级所述待升级固件,包括:
接收所述第一设备发送的所述描述信息;
向所述第一设备发送针对所述描述信息的应答信息,所述应答信息反映所述第二设备接收所述主体文件的状态;
基于所述应答信息,接收所述主体文件;
向所述第一设备发送未接收数据的数据请求,所述未接收数据为未接收到的所述主体文件的数据;
接收所述第一设备发送的所述数据请求指示的所述未接收数据,以通过接收到的所述主体文件升级所述待升级固件。
8.如权利要求7所述的固件升级方法,其特征在于,所述向所述第一设备发送针对所述描述信息的应答信息,包括:
根据所述描述信息,确定所述主体文件和所述待升级固件之间的版本差异;
若所述版本差异反映所述主体文件的版本信息高于所述待升级固件的版本信息时,擦除所述待升级固件中所述主体文件对应的文件区域;
根据所述版本差异和所述待升级固件在所述第二设备中的状态,向所述第一设备发送应答信息。
9.如权利要求7所述的固件升级方法,其特征在于,所述主体文件包括多帧数据,所述数据携带有发送顺序,所述基于所述应答信息,接收所述主体文件,包括:
基于所述应答信息,接收所述第一设备发送的所述多帧数据;
根据第一数据的发送顺序和第二数据的发送顺序确定目标发送顺序,所述第一数据与所述第二数据相邻,所述目标发送顺序为所述第一数据的发送顺序和所述第二数据的发送顺序之间的发送顺序;
所述向所述第一设备发送未接收数据的数据请求,包括:
向所述第一设备发送数据请求,所述数据请求用于请求所述第一设备发送所述目标发送顺序对应的未接收数据。
10.如权利要求7所述的固件升级方法,其特征在于,所述描述信息包括所述主体文件对应的版本信息和正确校验信息,所述正确校验信息包括正确文件体积和正确校验和,所述正确校验和为构成所述主体文件的所有字节计算所得到的值,在所述接收所述第一设备发送的所述数据请求指示的所述未接收数据,以通过接收到的所述主体文件升级所述待升级固件之后,还包括:
接收所述第一设备发送的校验指令和所述正确校验信息;
根据所述校验指令计算接收到的所述主体文件对应的实际校验信息;
根据所述第一设备远程传输所述主体文件,以及所述实际校验信息和所述正确校验信息之间的差异,向所述第一设备发送校验结果;
接收所述第一设备基于所述校验结果发送的重启指令;
根据所述校验结果和所述重启指令控制所述第二设备重启,并在所述第二设备重启时采用接收到的所述主体文件升级所述待升级固件。
11.一种固件升级装置,其特征在于,应用于第一设备,所述第一设备关联有第二设备,所述第一设备部署有升级文件,所述第二设备包括待升级固件,所述升级文件包括主体文件和所述主体文件的描述信息,所述主体信息用于升级所述待升级固件,包括:
信息发送单元,用于向所述第二设备发送所述描述信息;
应答接收单元,用于接收所述第二设备针对所述描述信息返回的应答信息,所述应答信息反映所述第二设备接收所述主体文件的状态;
文件发送单元,用于根据所述应答信息,向所述第二设备发送所述主体文件;
请求接收单元,用于接收所述第二设备反馈的未接收数据的数据请求,所述未接收数据为未接收到的所述主体文件的数据;
数据发送单元,用于向所述第二设备发送所述数据请求指示的所述未接收数据,以使所述第二设备通过接收到的所述主体文件升级所述待升级固件。
12.一种固件升级装置,其特征在于,应用于第二设备,所述第二设备关联有第一设备,所述第一设备部署有升级文件,所述第二设备包括待升级固件,所述升级文件包括主体文件和所述主体文件的描述信息,所述主体信息用于升级所述待升级固件,包括:
信息接收单元,用于接收所述第一设备发送的所述描述信息;
应答发送单元,用于向所述第一设备发送针对所述描述信息的应答信息,所述应答信息反映所述第二设备接收所述主体文件的状态;
文件接收单元,用于基于所述应答信息,接收所述主体文件;
请求发送单元,用于向所述第一设备发送未接收数据的数据请求,所述未接收数据为未接收到的所述主体文件的数据;
数据接收单元,用于接收所述第一设备发送的所述数据请求指示的所述未接收数据,以通过接收到的所述主体文件升级所述待升级固件。
13.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1~10任一项所述的固件升级方法中的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1~10任一项所述的固件升级方法中的步骤。
CN202310353567.6A 2023-03-30 2023-03-30 固件升级方法、装置、电子设备和存储介质 Pending CN116431179A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310353567.6A CN116431179A (zh) 2023-03-30 2023-03-30 固件升级方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310353567.6A CN116431179A (zh) 2023-03-30 2023-03-30 固件升级方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN116431179A true CN116431179A (zh) 2023-07-14

Family

ID=87080869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310353567.6A Pending CN116431179A (zh) 2023-03-30 2023-03-30 固件升级方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116431179A (zh)

Similar Documents

Publication Publication Date Title
US20200366516A1 (en) Electronic device and method for registering smart home device in smart home system
KR102430757B1 (ko) 안테나 연결이 가능한 커넥터 및 이를 구비한 전자 장치
US9743226B2 (en) Method for short-range wireless communication and electronic device using the same
US11934352B2 (en) Card rendering method and electronic device
CN105743158B (zh) 用于为具有电池的电子设备充电的装置和方法
CN109800179B (zh) 获取数据的方法、发送数据的方法、主机和内嵌式存储器
CN109885257B (zh) 一种磁盘文件读写方法及装置
US9819321B2 (en) Method and apparatus for automatically controlling gain based on sensitivity of microphone in electronic device
US20170149961A1 (en) Electronic device and call service providing method thereof
US20210255746A1 (en) Application control method and electronic device
US20180329675A1 (en) Electronic device and method for controlling audio output according to the type of earphone
US9621986B2 (en) Electronic device, audio device, and method for supplying power to the audio device
EP3934056A1 (en) Terminal and wireless charging control method
CN105830421B (zh) 电子装置及其操作方法
CN109144723B (zh) 一种分配存储空间的方法和终端
CN111342979B (zh) 一种信息处理方法及电子设备
CN109889568B (zh) 一种数据导出方法、服务器及系统
CN111181218A (zh) 充电提示方法、电子设备及介质
CN109992430B (zh) 一种数据传输方法、第一终端和第二终端
CN116431179A (zh) 固件升级方法、装置、电子设备和存储介质
US20220264606A1 (en) Resource determining method, resource configuration method, terminal, and network device
CN115756530A (zh) 设备升级方法、装置、存储介质、电子设备及服务器
CN114880003A (zh) 智能终端的系统升级方法、智能终端及存储介质
KR20230118391A (ko) 전자 장치 및 이의 동작 방법
CN108848182B (zh) 一种bmc固件的更新方法、相关设备及系统

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