CN111813428A - 终端固件的升级方法、装置、电子设备及存储介质 - Google Patents

终端固件的升级方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111813428A
CN111813428A CN202010488796.5A CN202010488796A CN111813428A CN 111813428 A CN111813428 A CN 111813428A CN 202010488796 A CN202010488796 A CN 202010488796A CN 111813428 A CN111813428 A CN 111813428A
Authority
CN
China
Prior art keywords
firmware
upgrading
file
terminal
server
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
CN202010488796.5A
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.)
Xian Wingtech Electronic Technology Co Ltd
Original Assignee
Xian Wingtech Electronic Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Wingtech Electronic Technology Co Ltd filed Critical Xian Wingtech Electronic Technology Co Ltd
Priority to CN202010488796.5A priority Critical patent/CN111813428A/zh
Publication of CN111813428A publication Critical patent/CN111813428A/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

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

Abstract

本申请涉及固件升级领域,提供了一种终端固件的升级方法、装置、计算机设备和计算机可读存储介质。所述方法包括:接收服务器发送的固件验证请求;根据所述固件验证请求进入刷机模式;基于所述刷机模式从服务器获取固件升级文件,所述固件升级文件用于升级所述终端固件;校验所述固件升级文件的正确性;若校验正确,则发送升级指令至所述服务器,所述升级指令用于控制所述服务器使用校验正确的固件升级文件对所述终端固件进行升级。采用本方法能够解决了现有技术中固件升级成本高并且升级效率低的问题,实现了节省固件升级成本和提高升级效率的效果。

Description

终端固件的升级方法、装置、电子设备及存储介质
技术领域
本申请涉及固件更新技术领域,特别是涉及一种终端固件的升级方法、装置、电子设备及存储介质。
背景技术
终端固件EMMC(Embedded Multi Media Card)是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格。EMMC在封装中集成了一个控制器,提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。
EMMC广泛应用于手机等嵌入式产品,而EMMC在使用过程中经常会遇到需要固件升级的场景,而当前通常的操作是需要把固件编译进版本里面,再进行版本下载;或者是采用移动终端的空中下载软件升级(Firmware Over-The-Air, FOTA)或者把EMMC固件编译进到软件包中,需要借助软件包升级才能进行升级。
但是这样服务器进行软件编译处理EMMC固件不仅技术实现复杂度高,需要浪费更多的人力,而且通过软件编译需要的升级时间长,不利于大批量的固件升级操作。
发明内容
基于此,有必要针对上述技术问题,提供一种能够固件升级成本较低而且升级时间短的终端固件的升级方法、装置、电子设备及存储介质。
本申请实施例提供了一种终端固件的升级方法,所述方法包括:
接收服务器发送的固件验证请求;
根据所述固件验证请求进入刷机模式;
基于所述刷机模式从服务器获取固件升级文件,所述固件升级文件用于升级所述终端固件;
校验所述固件升级文件的正确性;
若校验正确,则发送升级指令至所述服务器,所述升级指令用于控制所述服务器使用校验正确的固件升级文件对所述终端固件进行升级。
可选的,所述固件升级文件包括:第一固件文件和第二固件文件,所述第一固件文件为服务器编译文件,所述第二固件文件为终端固件原有文件。
可选的,所述第一固件文件包括:终端固件需要升级的版本型号、终端固件字符串长度和循环冗余校验文件。
可选的,所述校验所述固件升级文件的正确性包括:
判断所述终端固件需要升级的版本型号是否与当前终端固件的版本型号相同,若相同则无法进行升级。
可选的,所述判断所述终端固件需要升级的版本型号是否与当前终端固件的版本型号相同之后还包括:
若所述终端固件需要升级的版本型号与当前终端固件的版本型号不同,则根据所述终端固件字符串长度读取所述第二固件文件;
判断所述循环冗余校验文件是否正确;
若校验正确则发送升级指令至所述服务器,所述升级指令用于控制服务器使用校验正确的固件升级文件对所述终端固件进行升级。
可选的,所述发送升级指令至所述服务器,所述升级指令用于控制服务器使用校验正确的固件升级文件对所述终端固件进行升级包括:
发送升级指令至所述服务器,所述升级指令用于控制服务器控制所述终端固件进入在线更新模式;
通过服务器控制所述终端固件根据所述校验正确的固件升级文件对所述终端固件进行升级。
可选的,还包括:
接收升级完成的所述终端固件;
识别所述终端固件是否为最新版本;
若为最新版本则进行***重启以使用升级完成的所述终端固件。
本申请实施例提供了一种终端固件的升级装置,所述装置包括:
请求接收模块,用于接收服务器发送的固件验证请求;
模式进入模块,用于根据所述固件验证请求进入刷机模式;
文件接收模块,用于基于所述刷机模式从服务器获取固件升级文件,所述固件升级文件用于升级所述终端固件;
文件校验模块,用于校验所述固件升级文件的正确性;
固件升级模块,用于若校验正确,则发送升级指令至所述服务器,所述升级指令用于控制所述服务器使用校验正确的固件升级文件对所述终端固件进行升级。
本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请任意实施例所提供的终端固件的升级方法的步骤。
本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任意实施例所提供的终端固件的升级方法的步骤。
本申请实施例所提供的终端固件的升级方法、装置、电子设备及存储介质,终端通过接收服务器的请求开启刷机模式,通过刷机模式接收固件升级文件并对其进行验证,若符合要求则通过服务器控制固件完成升级,解决了现有技术中固件升级成本高并且升级效率低的问题,实现了节省固件升级成本和提高升级效率的效果。
附图说明
图1为一个实施例中终端固件的升级方法的应用场景图;
图2为一个实施例中终端固件的升级方法的流程示意图;
图3为另一个实施例中终端固件的升级方法的流程示意图;
图4为一个实施例中终端固件的升级装置的结构框图;
图5为一个实施例中电子设备的内部结构图。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一固件文件称为第一固件文件,且类似地,可将第二固件文件称为第一固件文件。第一固件文件和第二固件文件两者都是第一固件文件,但其不是同一第一固件文件。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的终端固件的升级方法,可以应用于如图1所示的应用环境中。该终端固件的升级方法应用于终端固件的***中。该终端固件的***包括终端 102与服务器104。其中,终端102与服务器104通过网络进行通信。通过终端通过接收服务器的请求开启刷机模式,通过刷机模式接收固件升级文件并对其进行验证,若符合要求则通过服务器控制固件完成升级,解决了现有技术中固件升级成本高并且升级效率低的问题,实现了节省固件升级成本和提高升级效率的效果。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种终端固件的升级方法。本实施例主要以该方法应用于图1中的终端102来举例说明。
步骤202,接收服务器发送的固件验证请求。
其中,固件验证请求为服务器接收到固件升级的版本信息后向终端发送的升级请求,比如终端固件EMMC的生成厂商发布了最新版本,此时服务器检测到该最新版本后,会产生固件验证请求发送到终端,请求终端以验证终端固件 EMMC的最新版本后对终端固件EMMC进行更新升级。
步骤204,根据固件验证请求进入刷机模式。
其中,刷机模式为fastboot(快速启动)模式,一般地,在安卓手机中,fastboot 模式通过USB数据线连接到电脑,用于对手机进行刷机更新,进入fastboot的方式是关机状态下按返回+开机,通过fastboot模式,手机能够读取或者更改各项硬件信息。
具体地,在本实施例中,服务器与终端通过有线或者无线的方式进行连接,终端固件EMMC与服务器通过有线的方式进行连接,服务器检测到终端固件 EMMC的新版本发布后,会产生固件验证请求到终端请求终端帮助更新终端固件EMMC,终端接收到该固件验证请求后会开启刷机模式以对终端固件EMMC 的相关更新文件进行校验和安全排查。
步骤206,基于刷机模式从服务器接收固件升级文件,固件升级文件用于升级终端固件。
其中,固件升级文件包括:第一固件文件和第二固件文件,第一固件文件为服务器编译文件,第二固件文件为终端固件原有文件。第一固件文件包括:终端固件需要升级的版本型号、终端固件字符串长度和循环冗余校验文件。终端固件需要升级的版本型号为终端固件需要更新的版本型号,例如firmware version 1.08。终端固件字符串长度为需要升级版本的文件长度。循环冗余校验 (Cyclic Redundancy Check,CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,循环冗余校验文件主要用来检测或校验数据传输或者保存后可能出现的错误,是利用除法及余数的原理来作错误侦测的。第二固件文件为原有的终端固件EMMC自带的数据文件。
示例性的,固件升级文件为以下格式:
Firmware_header:
Magic:3Byte 0xFFA55A
Firmware_version:1Byte,待升级固件的firmware version
Firmware_length:2Byte
Firmware_crc:4Byte
Firmware_body:厂商提供的EMMC固件
Firmware_header为第一固件文件,Magic用于对整个单元的代码进行处理防止文件重复,Firmware_version为终端固件需要升级的版本型号, Firmware_length为终端固件字符串长度,Firmware_crc为循环冗余校验文件, Firmware_body为第二固件文件。
具体地,在本实施例中,终端在开启刷机模式后,服务器会向终端发送用于升级终端固件EMMC的固件升级文件,如果终端校验该固件验证请求通过的话,服务器则根据该固件升级文件对终端固件EMMC进行升级。
步骤208,校验固件升级文件的正确性。
其中,终端接收到固件升级文件后对固件升级文件进行校验,判断固件升级文件版本是否正确或者错误。
步骤210,若校验正确,则发送升级指令至服务器,升级指令用于控制服务器使用校验正确的固件升级文件对终端固件进行升级。
其中,升级指令为终端产生,若固件升级文件格式正确且没有遗漏内容则表明该固件升级文件没有问题,可以使用该固件升级文件对终端固件EMMC进行升级。
具体地,在本实施例中,终端接收到固件升级文件后对固件升级文件进行验证,示例性的,通过循环冗余校验验证文件是否出现重复或者错误,通过终端固件字符串长度来验证文件完整性。当校验不通过时,终端会提示服务器固件升级文件错误,服务器会重新下载固件升级文件或者查询错误原因。当校验通过时,服务器在接收到终端校验完成后发送的升级指令后,即控制终端固件EMMC进入升级模式,终端固件EMMC通过固件升级文件对自身版本进行升级更新。
在其中一个实施例中,校验固件升级文件的正确性包括:判断终端固件需要升级的版本型号是否与当前终端固件的版本型号相同,若相同则无法进行升级。若终端固件需要升级的版本型号是否与当前终端固件的版本型号不同,则根据终端固件字符串长度读取第二固件文件,并判断循环冗余校验文件是否正确,若校验正确则发送升级指令至服务器,升级指令用于控制服务器使用校验正确的固件升级文件对终端固件进行升级。
其中,第一步验证过程为终端首先判断终端固件需要升级的版本型号和当前终端固件的版本型号是否相同,如果相同则表示当前终端固件EMMC已经为最新版本,不需要进行更新,如果不相同的话则表示该终端固件EMMC需要进行更新,此时验证第一步通过。第二步验证过程为终端根据固件字符串长度读取第二固件文件,如果固件字符串长度与第二固件文件相同,表明第二固件文件没有缺失,符合升级要求。第三步验证过程为终端根据循环冗余校验判断检测或校验数据传输或者保存后可能出现的错误,校验值与原有循环冗余值相同,则表示校验通过,此时可以通过该固件升级文件对终端固件EMMC进行更新升级。
本申请实施例所提供的终端固件的升级方法,终端通过接收服务器的请求开启刷机模式,通过刷机模式接收固件升级文件并对其进行验证,若符合要求则通过服务器控制固件完成升级,解决了现有技术中固件升级成本高并且升级效率低的问题,实现了节省固件升级成本和提高升级效率的效果。
在一个实施例中,如图3所示,提供了一种终端固件的升级方法。本实施例主要以该方法应用于图1中的终端102来举例说明。
步骤302,接收服务器发送的固件验证请求。
其中,固件验证请求为服务器接收到固件升级的版本信息后向终端发送的升级请求,比如终端固件EMMC的生成厂商发布了最新版本,此时服务器检测到该最新版本后,会产生固件验证请求发送到终端,请求终端以验证终端固件EMMC的最新版本后对终端固件EMMC进行更新升级。
步骤304,根据固件验证请求进入刷机模式。
其中,刷机模式为fastboot模式,一般地,在安卓手机中,fastboot模式通过USB数据线连接到电脑,用于对手机进行刷机更新,进入fastboot的方式是关机状态下按返回+开机,通过fastboot模式,手机能够读取或者更改各项硬件信息。
具体地,在本实施例中,服务器与终端通过有线或者无线的方式进行连接,终端固件EMMC与服务器通过有线的方式进行连接,服务器检测到终端固件 EMMC的新版本发布后,会产生固件验证请求到终端请求终端帮助更新终端固件EMMC,终端接收到该固件验证请求后会开启刷机模式以对终端固件EMMC 的相关更新文件进行校验和安全排查。
步骤306,基于刷机模式从服务器接收固件升级文件,固件升级文件用于升级终端固件。
其中,固件升级文件包括:第一固件文件和第二固件文件,第一固件文件为服务器编译文件,第二固件文件为终端固件原有文件。第一固件文件包括:终端固件需要升级的版本型号、终端固件字符串长度和循环冗余校验文件。终端固件需要升级的版本型号为终端固件需要更新的版本型号,例如firmware version 1.08。终端固件字符串长度为需要升级版本的文件长度。循环冗余校验 (Cyclic Redundancy Check,CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,循环冗余校验文件主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。第二固件文件为原有的终端固件EMMC自带的数据文件。
示例性的,固件升级文件为以下格式:
Firmware_header:
Magic:3Byte 0xFFA55A
Firmware_version:1Byte,待升级固件的firmware version
Firmware_length:2Byte
Firmware_crc:4Byte
Firmware_body:厂商提供的EMMC固件
Firmware_header为第一固件文件,Magic用于对整个单元的代码进行处理防止文件重复,Firmware_version为终端固件需要升级的版本型号,Firmware_length 为终端固件字符串长度,Firmware_crc为循环冗余校验文件,Firmware_body为第二固件文件。
具体地,在本实施例中,终端在开启刷机模式后,服务器会向终端发送用于升级终端固件EMMC的固件升级文件,如果终端校验该固件验证请求通过的话,服务器则根据该固件升级文件对终端固件EMMC进行升级。
步骤308,若终端固件需要升级的版本型号与当前终端固件的版本型号不同,则根据终端固件字符串长度读取第二固件文件。
其中,第二固件文件为原有的终端固件EMMC自带的数据文件。终端固件需要升级的版本型号与当前终端固件的版本型号不同时,说明该升级版本为最新版本,可以进行继续升级的操作,通过读取第二固件文件进行后续验证过程。
步骤310,判断循环冗余校验文件是否正确。
其中,循环冗余校验(Cyclic Redundancy Check,CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,循环冗余校验文件主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。
步骤312,若校验正确则发送升级指令至服务器,升级指令用于控制服务器使用校验正确的固件升级文件对终端固件进行升级。
其中,在线更新模式为终端固件的FFU模式,EMMC协议定义了很多功能,其中有一项是FFU模式,即在线更新固件,可以用来固件的更新,在EMMC 协议中是较常用的功能。在终端固件EMMC进入在线更新模式后,可以根据固件升级文件对自身进行版本升级,以达到最新的使用版本。
具体地,在本实施例中,终端验证固件升级文件正确后,发送升级指令到服务器中,服务器根据该升级指令控制终端固件EMMC进入FFU模式对固件升级文件进行更新升级,更新完成后终端固件EMMC退出FFU模式,此时该终端固件EMMC即更新完成,能够安装在终端中使用。
步骤314,发送升级指令至服务器,升级指令用于控制服务器控制终端固件进入在线更新模式。
步骤316,通过服务器控制终端固件根据校验正确的固件升级文件对终端固件进行升级。
具体地,在本实施例中,终端接收到固件升级文件后对固件升级文件进行验证,示例性的,通过循环冗余校验验证文件的是否出现重复或者错误,通过终端固件字符串长度来验证文件完整性。当校验不通过时,终端会提示服务器固件升级文件错误,服务器会重新下载固件升级文件或者查询错误原因,当校验通过时,服务器在接收到终端校验完成后发送的升级指令后,即控制终端固件EMMC进入升级模式,终端固件EMMC通过固件升级文件对自身版本进行升级更新。当终端固件EMMC升级完成后,终端退出刷机模式并将终端固件安装在终端中,安装完成后,终端重新启动以识别终端固件EMMC,重启完成后即可正常使用终端固件EMMC的存储等相关功能,终端固件EMMC也为最新版本,不会出现版本兼容性问题。
本申请实施例所提供的终端固件的升级方法,终端通过接收服务器的请求开启刷机模式,通过刷机模式接收固件升级文件并对其进行验证,若符合要求则通过服务器控制固件进入在线更新模式完成升级,升级完成后将终端固件安装在终端中执行相应功能,解决了现有技术中固件升级成本高并且升级效率低的问题,实现了节省固件升级成本和提高升级效率的效果。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种终端固件的升级装置400,包括:请求接收模块401、模式进入模块402、文件接收模块403、文件校验模块404 和固件升级模块405,其中:
请求接收模块401,用于接收服务器发送的固件验证请求;
模式进入模块402,用于根据固件验证请求进入刷机模式;
文件接收模块403,用于基于刷机模式从服务器获取固件升级文件,固件升级文件用于升级终端固件;
文件校验模块404,用于校验固件升级文件的正确性;
固件升级模块405,用于若校验正确,则发送升级指令至服务器,升级指令用于控制服务器使用校验正确的固件升级文件对终端固件进行升级。
在一个实施例中,固件升级文件包括:第一固件文件和第二固件文件,第一固件文件为服务器编译文件,第二固件文件为终端固件原有文件。
在一个实施例中,第一固件文件包括:终端固件需要升级的版本型号、终端固件字符串长度和循环冗余校验文件。
在一个实施例中,校验固件升级文件的正确性包括:
判断终端固件需要升级的版本型号是否与当前终端固件的版本型号相同,若相同则无法进行升级。
在一个实施例中,判断终端固件需要升级的版本型号是否与当前终端固件的版本型号相同之后还包括:
若终端固件需要升级的版本型号与当前终端固件的版本型号不同,则根据终端固件字符串长度读取第二固件文件;
判断循环冗余校验文件是否正确;
若校验正确则发送升级指令至服务器,升级指令用于控制服务器使用校验正确的固件升级文件对终端固件进行升级。
在一个实施例中,发送升级指令至服务器,升级指令用于控制服务器使用校验正确的固件升级文件对终端固件进行升级包括:
发送升级指令至服务器,升级指令用于控制服务器控制终端固件进入在线更新模式;
通过服务器控制终端固件根据校验正确的固件升级文件对终端固件进行升级。
在一个实施例中,还包括:
接收升级完成的终端固件;
识别终端固件是否为最新版本;
若为最新版本则进行***重启以使用升级完成的终端固件。
本申请实施例所提供的终端固件的升级装置,终端通过接收服务器的请求开启刷机模式,通过刷机模式接收固件升级文件并对其进行验证,若符合要求则通过服务器控制固件完成升级,解决了现有技术中固件升级成本高并且升级效率低的问题,实现了节省固件升级成本和提高升级效率的效果。
关于终端固件的升级装置的具体限定可以参见上文中对于终端固件的升级方法的限定,在此不再赘述。上述终端固件的升级装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种电子设备,该电子设备可以是终端,其内部结构图可以如图5所示。该电子设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该电子设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、近场通信(NFC)或其他技术实现。该计算机程序被处理器执行时以实现一种终端固件的升级方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的终端固件的升级装置可以实现为一种计算机程序的形式,计算机程序可在如图5所示的电子设备上运行。电子设备的存储器中可存储组成该终端固件的升级装置的各个程序模块,比如,图4所示的请求接收模块401、模式进入模块402、文件接收模块403、文件校验模块404 和固件升级模块405。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的XX方法中的步骤。
例如,图5所示的电子设备可以通过如图4所示的终端固件的升级装置中的请求接收模块401模块执行步骤202。电子设备可通过文件接收模块402执行步骤204。电子设备可通过文件校验模块403执行步骤206。
在一个实施例中,提供了一种电子设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收服务器发送的固件验证请求;
根据固件验证请求进入刷机模式;
基于刷机模式从服务器获取固件升级文件,固件升级文件用于升级终端固件;
校验固件升级文件的正确性;
若校验正确,则发送升级指令至服务器,升级指令用于控制服务器使用校验正确的固件升级文件对终端固件进行升级。
在一个实施例中,固件升级文件包括:第一固件文件和第二固件文件,第一固件文件为服务器编译文件,第二固件文件为终端固件原有文件。
在一个实施例中,第一固件文件包括:终端固件需要升级的版本型号、终端固件字符串长度和循环冗余校验文件。
在一个实施例中,校验固件升级文件的正确性包括:
判断终端固件需要升级的版本型号是否与当前终端固件的版本型号相同,若相同则无法进行升级。
在一个实施例中,判断终端固件需要升级的版本型号是否与当前终端固件的版本型号相同之后还包括:
若终端固件需要升级的版本型号与当前终端固件的版本型号不同,则根据终端固件字符串长度读取第二固件文件;
判断循环冗余校验文件是否正确;
若校验正确则发送升级指令至服务器,升级指令用于控制服务器使用校验正确的固件升级文件对终端固件进行升级。
在一个实施例中,发送升级指令至服务器,升级指令用于控制服务器使用校验正确的固件升级文件对终端固件进行升级包括:
发送升级指令至服务器,升级指令用于控制服务器控制终端固件进入在线更新模式;
通过服务器控制终端固件根据校验正确的固件升级文件对终端固件进行升级。
在一个实施例中,还包括:
接收升级完成的终端固件;
识别终端固件是否为最新版本;
若为最新版本则进行***重启以使用升级完成的终端固件。
本申请实施例所提供的终端固件的升级电子设备,终端通过接收服务器的请求开启刷机模式,通过刷机模式接收固件升级文件并对其进行验证,若符合要求则通过服务器控制固件完成升级,解决了现有技术中固件升级成本高并且升级效率低的问题,实现了节省固件升级成本和提高升级效率的效果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:根据接收到的服务器发送的固件验证请求进入刷机模式;
接收服务器发送的固件验证请求;
根据固件验证请求进入刷机模式;
基于刷机模式从服务器获取固件升级文件,固件升级文件用于升级终端固件;
校验固件升级文件的正确性;
若校验正确,则发送升级指令至服务器,升级指令用于控制服务器使用校验正确的固件升级文件对终端固件进行升级。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:固件升级文件包括:第一固件文件和第二固件文件,第一固件文件为服务器编译文件,第二固件文件为终端固件原有文件。
在一个实施例中,第一固件文件包括:终端固件需要升级的版本型号、终端固件字符串长度和循环冗余校验文件。
在一个实施例中,校验固件升级文件的正确性包括:
判断终端固件需要升级的版本型号是否与当前终端固件的版本型号相同,若相同则无法进行升级。
在一个实施例中,判断终端固件需要升级的版本型号是否与当前终端固件的版本型号相同之后还包括:
若终端固件需要升级的版本型号与当前终端固件的版本型号不同,则根据终端固件字符串长度读取第二固件文件;
判断循环冗余校验文件是否正确;
若校验正确则发送升级指令至服务器,升级指令用于控制服务器使用校验正确的固件升级文件对终端固件进行升级。
在一个实施例中,发送升级指令至服务器,升级指令用于控制服务器使用校验正确的固件升级文件对终端固件进行升级包括:
发送升级指令至服务器,升级指令用于控制服务器控制终端固件进入在线更新模式;
通过服务器控制终端固件根据校验正确的固件升级文件对终端固件进行升级。
在一个实施例中,还包括:
接收升级完成的终端固件;
识别终端固件是否为最新版本;
若为最新版本则进行***重启以使用升级完成的终端固件。
本申请实施例所提供的终端固件的升级电子设备,终端通过接收服务器的请求开启刷机模式,通过刷机模式接收固件升级文件并对其进行验证,若符合要求则通过服务器控制固件完成升级,解决了现有技术中固件升级成本高并且升级效率低的问题,实现了节省固件升级成本和提高升级效率的效果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,比如静态随机存取存储器(Static Random Access Memory,SRAM) 和动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种终端固件的升级方法,其特征在于,所述方法包括:
接收服务器发送的固件验证请求;
根据所述固件验证请求进入刷机模式;
基于所述刷机模式从服务器获取固件升级文件,所述固件升级文件用于升级所述终端固件;
校验所述固件升级文件的正确性;
若校验正确,则发送升级指令至所述服务器,所述升级指令用于控制所述服务器使用校验正确的固件升级文件对所述终端固件进行升级。
2.根据权利要求1中所述的一种终端固件的升级方法,其特征在于,所述固件升级文件包括:第一固件文件和第二固件文件,所述第一固件文件为服务器编译文件,所述第二固件文件为终端固件原有文件。
3.根据权利要求2中所述的一种终端固件的升级方法,其特征在于,所述第一固件文件包括:终端固件需要升级的版本型号、终端固件字符串长度和循环冗余校验文件。
4.根据权利要求3中所述的一种终端固件的升级方法,其特征在于,所述校验所述固件升级文件的正确性包括:
判断所述终端固件需要升级的版本型号是否与当前终端固件的版本型号相同,若相同则无法进行升级。
5.根据权利要求4中所述的一种终端固件的升级方法,其特征在于,所述判断所述终端固件需要升级的版本型号是否与当前终端固件的版本型号相同之后还包括:
若所述终端固件需要升级的版本型号与当前终端固件的版本型号不同,则根据所述终端固件字符串长度读取所述第二固件文件;
判断所述循环冗余校验文件是否正确;
若校验正确则发送升级指令至所述服务器,所述升级指令用于控制服务器使用校验正确的固件升级文件对所述终端固件进行升级。
6.根据权利要求1中所述的一种终端固件的升级方法,其特征在于,所述发送升级指令至所述服务器,所述升级指令用于控制服务器使用校验正确的固件升级文件对所述终端固件进行升级包括:
发送升级指令至所述服务器,所述升级指令用于控制服务器控制所述终端固件进入在线更新模式;
通过服务器控制所述终端固件根据所述校验正确的固件升级文件对所述终端固件进行升级。
7.根据权利要求1中所述的一种终端固件的升级方法,其特征在于,还包括:
接收升级完成的所述终端固件;
识别所述终端固件是否为最新版本;
若为最新版本,则进行***重启以使用升级完成的所述终端固件。
8.一种终端固件的升级装置,其特征在于,所述装置包括:
请求接收模块,用于接收服务器发送的固件验证请求;
模式进入模块,用于根据所述固件验证请求进入刷机模式;
文件接收模块,用于基于所述刷机模式从服务器获取固件升级文件,所述固件升级文件用于升级所述终端固件;
文件校验模块,用于校验所述固件升级文件的正确性;
固件升级模块,用于若校验正确,则发送升级指令至所述服务器,所述升级指令用于控制所述服务器使用校验正确的固件升级文件对所述终端固件进行升级。
9.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202010488796.5A 2020-06-02 2020-06-02 终端固件的升级方法、装置、电子设备及存储介质 Pending CN111813428A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010488796.5A CN111813428A (zh) 2020-06-02 2020-06-02 终端固件的升级方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010488796.5A CN111813428A (zh) 2020-06-02 2020-06-02 终端固件的升级方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN111813428A true CN111813428A (zh) 2020-10-23

Family

ID=72848198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010488796.5A Pending CN111813428A (zh) 2020-06-02 2020-06-02 终端固件的升级方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111813428A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835602A (zh) * 2021-02-05 2021-05-25 杭州中港科技有限公司 智能扩展设备的升级管理方法
CN114006901A (zh) * 2021-12-31 2022-02-01 广州鲁邦通物联网科技股份有限公司 一种嵌入式网络设备免拆机盖固件升级方法和***
CN114594990A (zh) * 2022-05-10 2022-06-07 深圳佰维存储科技股份有限公司 eMMC操作方法、装置、可读存储介质及电子设备
CN115033259A (zh) * 2022-05-31 2022-09-09 珠海视熙科技有限公司 固件升级方法、装置、存储介质及电子设备
CN115113894A (zh) * 2021-05-19 2022-09-27 深圳方位通讯科技有限公司 一种设备升级方法、终端设备以及计算机可读存储介质
WO2023116425A1 (zh) * 2021-12-23 2023-06-29 深圳创维数字技术有限公司 无线网格网络升级方法、装置、主节点及存储介质
CN116627476A (zh) * 2023-07-25 2023-08-22 荣耀终端有限公司 一种固件更新方法、***、电子设备及存储介质
CN116679946A (zh) * 2022-11-22 2023-09-01 荣耀终端有限公司 一种固件升级方法及终端

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090079693A (ko) * 2008-01-18 2009-07-22 주식회사 케이티프리텔 펌웨어 관리 방법, 펌웨어 관리 서비스를 제공하는 방법,펌웨어 관리가 가능한 단말 및 펌웨어 관리 서비스를제공하는 서버
CN101963910A (zh) * 2010-09-21 2011-02-02 深圳市元征软件开发有限公司 基于通用usb总线的设备固件升级方法
WO2011040754A2 (en) * 2009-09-29 2011-04-07 Lg Innotek Co., Ltd. Electronic book and system for firmware upgrade of electronic book
CN102436383A (zh) * 2010-09-29 2012-05-02 ***通信集团公司 一种固件程序的处理方法和设备
CN104199706A (zh) * 2014-09-11 2014-12-10 福州瑞芯微电子有限公司 一种eMMC的固件升级方法及其设备
WO2016086654A1 (zh) * 2014-12-03 2016-06-09 广州广电运通金融电子股份有限公司 自助终端软件远程升级方法和***,及升级包制作方法
CN108132793A (zh) * 2017-12-21 2018-06-08 北京京存技术有限公司 eMMC在线升级文件的发送、升级方法及装置
WO2018176733A1 (zh) * 2017-03-30 2018-10-04 百富计算机技术(深圳)有限公司 固件升级方法、终端和计算机可读非易失性存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090079693A (ko) * 2008-01-18 2009-07-22 주식회사 케이티프리텔 펌웨어 관리 방법, 펌웨어 관리 서비스를 제공하는 방법,펌웨어 관리가 가능한 단말 및 펌웨어 관리 서비스를제공하는 서버
WO2011040754A2 (en) * 2009-09-29 2011-04-07 Lg Innotek Co., Ltd. Electronic book and system for firmware upgrade of electronic book
CN101963910A (zh) * 2010-09-21 2011-02-02 深圳市元征软件开发有限公司 基于通用usb总线的设备固件升级方法
CN102436383A (zh) * 2010-09-29 2012-05-02 ***通信集团公司 一种固件程序的处理方法和设备
CN104199706A (zh) * 2014-09-11 2014-12-10 福州瑞芯微电子有限公司 一种eMMC的固件升级方法及其设备
WO2016086654A1 (zh) * 2014-12-03 2016-06-09 广州广电运通金融电子股份有限公司 自助终端软件远程升级方法和***,及升级包制作方法
WO2018176733A1 (zh) * 2017-03-30 2018-10-04 百富计算机技术(深圳)有限公司 固件升级方法、终端和计算机可读非易失性存储介质
CN108132793A (zh) * 2017-12-21 2018-06-08 北京京存技术有限公司 eMMC在线升级文件的发送、升级方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
包飞军: "硬件***及器件级eMMC失效分析研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, no. 12 *
晓慧: "让体验更完美——安卓平板固件升级攻略", 《电脑知识与技术(经验技巧)》, no. 2 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835602A (zh) * 2021-02-05 2021-05-25 杭州中港科技有限公司 智能扩展设备的升级管理方法
CN115113894A (zh) * 2021-05-19 2022-09-27 深圳方位通讯科技有限公司 一种设备升级方法、终端设备以及计算机可读存储介质
WO2023116425A1 (zh) * 2021-12-23 2023-06-29 深圳创维数字技术有限公司 无线网格网络升级方法、装置、主节点及存储介质
CN114006901A (zh) * 2021-12-31 2022-02-01 广州鲁邦通物联网科技股份有限公司 一种嵌入式网络设备免拆机盖固件升级方法和***
CN114594990A (zh) * 2022-05-10 2022-06-07 深圳佰维存储科技股份有限公司 eMMC操作方法、装置、可读存储介质及电子设备
CN115033259A (zh) * 2022-05-31 2022-09-09 珠海视熙科技有限公司 固件升级方法、装置、存储介质及电子设备
CN116679946A (zh) * 2022-11-22 2023-09-01 荣耀终端有限公司 一种固件升级方法及终端
CN116627476A (zh) * 2023-07-25 2023-08-22 荣耀终端有限公司 一种固件更新方法、***、电子设备及存储介质
CN116627476B (zh) * 2023-07-25 2023-12-15 荣耀终端有限公司 一种固件更新方法、***、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN111813428A (zh) 终端固件的升级方法、装置、电子设备及存储介质
CN106569847B (zh) 一种用于车载***基于移动网络实现iap远程升级的方法
US8539471B2 (en) Updating firmware of an electronic device
US10437580B2 (en) Software updating methods and systems
CN109558160A (zh) 升级方法、嵌入式***
CN108509215B (zh) 一种***软件的更换方法、装置、终端设备及存储介质
CN111124440A (zh) 芯片软件烧录方法、芯片软件烧录数据处理方法和装置
CN110597542B (zh) 软件自动ota升级方法及装置、电子设备
CN111796848A (zh) Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
CN111045713A (zh) 一种计算机***的升级方法、***及装置
US20130080751A1 (en) Method and device for updating bios program for computer system
CN113672270A (zh) 升级方法,计算机***和远端升级设备
CN113760332A (zh) 软件升级方法和电子设备
CN105677409A (zh) 一种***升级方法及装置
CN114780019A (zh) 电子设备的管理方法、装置、电子设备及存储介质
CN108153548A (zh) 一种emmc固件升级方法和装置
CN112181455B (zh) 微控制器的在线升级方法、微控制器及存储介质
CN110134423B (zh) 固件的更新方法、装置及计算机可读存储介质
CN114296764A (zh) ***升级方法、装置、存储介质和电子设备
CN113778485A (zh) 电子芯片的***运行方法、装置、电子芯片和存储介质
CN114780122A (zh) 嵌入式设备固件更新方法以及嵌入式设备
CN110908818B (zh) 一种验证方法、装置、设备和存储介质
CN112667444A (zh) 一种***升级方法、存储介质及终端设备
CN112650513A (zh) 程序升级方法、装置、计算机设备和存储介质
CN110134456A (zh) 用于管理操作***的方法、装置、设备和存储介质

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