CN109189451A - 一种固件升级方法及装置 - Google Patents

一种固件升级方法及装置 Download PDF

Info

Publication number
CN109189451A
CN109189451A CN201811253251.5A CN201811253251A CN109189451A CN 109189451 A CN109189451 A CN 109189451A CN 201811253251 A CN201811253251 A CN 201811253251A CN 109189451 A CN109189451 A CN 109189451A
Authority
CN
China
Prior art keywords
firmware
upgrading
subregion
currently used
processor
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
CN201811253251.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.)
Comba Network Systems Co Ltd
Original Assignee
Comba Telecom Technology Guangzhou Ltd
Comba Telecom Systems China Ltd
Comba Telecom Systems Guangzhou Co Ltd
Tianjin Comba Telecom Systems 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 Comba Telecom Technology Guangzhou Ltd, Comba Telecom Systems China Ltd, Comba Telecom Systems Guangzhou Co Ltd, Tianjin Comba Telecom Systems Co Ltd filed Critical Comba Telecom Technology Guangzhou Ltd
Priority to CN201811253251.5A priority Critical patent/CN109189451A/zh
Publication of CN109189451A publication Critical patent/CN109189451A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

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

一种固件升级方法及装置
技术领域
本申请涉及电子技术领域,具体涉及一种固件升级方法及装置。
背景技术
固件是指固化在嵌入式设备中的程序,一般包括内核文件、根文件系统以及设备树,通常存储在嵌入式设备的快闪存储器(Flash)中。为了完善嵌入式设备的功能,一般厂商会不断地完善嵌入式设备中的固件,从而用户则需要根据厂商完善后的固件对嵌入式设备中的固件进行升级。
现有的固件升级方法首先需要擦除存储在Flash中的当前使用的固件,再将升级的固件烧写至Flash中,重新启动嵌入式设备,从而完成固件升级。
但是,升级的固件可能会存在无法运行的情况,例如,升级的固件与嵌入式设备的硬件不兼容等,一旦升级的固件无法正常运行,嵌入式设备将会进入死机状态。可见,现有的固件升级方法可靠性低。
发明内容
本申请提供一种固件升级方法及装置,用于提高固件升级的可靠性。
为了解决上述技术问题,本申请提供的技术方案如下:
第一方面,提供一种固件升级方法,应用于嵌入式设备中,所述方法包括:
获取升级的固件,并将所述升级的固件存储至第一分区;
确定升级的固件的试运行过程是否成功,其中,所述试运行过程是指所述嵌入式设备的处理器通过调用所述第一分区中的所述升级的固件代替当前使用的固件的运行过程,所述当前使用的固件存储在与所述第一分区不同的第二分区,所述第二分区为所述处理器通过引导加载程序直接调用的存储区域;
若所述升级的固件试运行过程成功,则将所述升级的固件烧写至所述第二分区中。
在上述方案中,在获取升级的固件之后,如果试运行过程成功,再将升级的固件烧写到用于存储当前使用的固件的第二分区中。相较于现有技术直接将升级的固件烧写到用于存储当前使用的固件的存储区域中的方式,上述方案先确定升级的固件试运行过程是否成功,可以相对减少升级的固件与嵌入式设备不兼容或升级的固件异常的情况,提高固件升级的可靠性。
在一种可能的设计中,确定升级的固件的试运行过程是否成功,包括:
获取第一信息,第一信息为所述升级的固件的启动状态信息或所述第一信息是根据所述升级的固件的启动状态信息生成的;
若所述第一信息指示所述升级的固件在第一预设时长内正常启动,则确定升级的固件的试运行过程成功。
在上述方案中,提供了两种确定升级的固件的试运行过程是否成功的方法,可以提高固件升级过程中确定升级的固件的试运行过程是否成功的灵活性。且,根据升级的固件的启动状态信息,或者通过根据所述升级的固件的启动状态信息生成的第一信息来直接确定升级的固件的试运行过程是否成功的方式直接简单。
在一种可能的设计中,确定升级的固件的试运行过程是否成功,包括:
确定在第二预设时长内是否收到远程设备发送的反馈信息,其中,所述远程设备是指用于向所述嵌入式设备发送所述升级的固件的设备,所述反馈信息用于表示所述远程设备接收到所述嵌入式设备发送的试运行过程成功信息;
若在所述第二预设时长内收到所述反馈信息,则确定所述升级的固件的试运行过程成功。
在上述方案中,在升级的固件正常启动之后,还需要根据是否接收到远程设备的反馈信息,来确定该升级的固件的试运行过程成功或不成功。该方式能够不仅保证远程设备与嵌入式设备之间通信正常,避免对固件进行升级以后,无法对嵌入式设备进行远程操作的情况,还可以保证升级的固件与嵌入式设备的硬件之间可以相互协调运行,进一步保证了升级的固件与嵌入式设备的硬件的兼容。
在一种可能的设计中,将所述升级的固件烧写至所述第二分区中,包括:
在确定所述当前使用的固件的内容以及所述当前使用的固件的备份的校验结果满足第一预设条件时,将所述升级的固件烧写至所述第二分区中;
在确定所述当前使用的固件的内容以及所述当前使用的固件的备份的校验结果满足第一预设条件时,将所述升级的固件烧写至所述第二分区中;
其中,所述第一预设条件为:
所述检验结果指示所述当前使用的固件的内容正确,以及所述当前使用的固件的备份的内容正确;或,
所述检验结果指示所述当前使用的固件的内容不正确,以及校验所述当前使用的固件的备份的内容不正确;或,
所述检验结果指示所述当前使用的固件的内容正确,以及校验所述当前使用的固件的备份的内容的不正确,且,所述当前使用的固件的内容能对所述当前使用的固件的备份的内容进行修复;或
所述检验结果指示所述当前使用的固件的内容不正确,以及校验所述当前使用的固件的备份的内容的正确,且,所述当前使用的固件的备份的内容能对所述当前使用的固件的内容进行修复。
在上述方案中,对当前使用的固件以及当前使用的固件的备份进行校验,可以保证当前使用的固件的内容和当前使用的固件的备份的内容正确。
在一种可能的设计中,在将所述升级的固件烧写至所述第二分区中之后,还包括:
确定通过所述引导加载程序能否正常运行所述第二分区中的所述升级的固件;
若能正常运行所述第二分区中的所述升级的固件,则将所述升级的固件烧写至所述第三分区中;
若不能正常运行所述第二分区中的所述升级的固件,则将所述第三分区中的所述当前使用的固件的备份烧写至所述第二分区中,并删除所述第一分区中的所述升级的固件。
在上述方案中,在固件升级成功之后,将升级的固件烧写到第三分区中,从而保证嵌入式设备中存储有升级的固件的备份。在固件升级失败之后,可以将第三分区中的当前使用的固件的备份烧写到第二分区中,从而保证嵌入式设备的正常运行。另外,在固件升级失败之后,均会删除第一分区中的升级的固件,从而保证了第一分区可以重复利用,提高了嵌入式设备的存储空间的利用率。
在一种可能的设计中,所述升级的固件包括固件文件头,在将所述升级的固件存储至第一分区之前,还包括:
确定所述嵌入式设备的存储空间的容量大于或等于所述升级的固件的大小;和/或,
通过所述固件文件头获取第一字段中的所述升级的固件的适用的硬件版本,确定所述升级的固件的适用的硬件版本与所述嵌入式设备的硬件版本兼容;以及通过所述固件文件头获取第二字段中的所述升级的固件的校验码,确定所述升级的固件的校验码与预存的校验码相同,其中,所述固件文件头包括所述第一字段和所述第二字段,所述第一字段用于指示所述升级的固件兼容的硬件版本,所述第二字段用于指示所述升级的固件的内容的校验码。
在上述方案中,先对升级的固件进行校验,从而保证了升级的固件的内容的正确性,以及升级的固件与当前嵌入式设备的版本的兼容性。减少了后期升级过程中出现固件错误或者与当前嵌入式设备不兼容的情况,进一步提高了固件升级的可靠性。在上述方案中,对存储空间的容量进行判断,从而避免嵌入式设备存储空间不足,导致后期升级失败的情况。
在一种可能的设计中,将所述升级的固件烧写至所述第二分区之前,还包括:
确定所述第二分区的有效存储空间的容量大于或等于所述升级的固件的大小,所述第二分区的有效存储空间是指所述第二分区中未被损坏的存储区域。
在上述方案中,确定对第二分区的有效存储空间的容量与升级的固件的大小之间的大小关系,能够保证第二分区中的第二分区的有效存储空间的容量能够容纳升级的固件。从而避免第二分区的效存储空间的容量不足造成的升级失败的情况。
第二方面,提供一种固件升级装置,所述装置包括获取模块和处理模块,其中:
所述获取模块,用于获取升级的固件,并将所述升级的固件存储至第一分区;
所述处理模块,用于确定升级的固件的试运行过程是否成功,其中,所述试运行过程是指所述嵌入式设备的处理器通过调用所述第一分区中的所述升级的固件代替当前使用的固件的运行过程,所述当前使用的固件存储在与所述第一分区不同的第二分区,所述第二分区为所述处理器通过引导加载程序直接调用的存储区域,以及若所述升级的固件试运行过程成功,则用于将所述升级的固件烧写至所述第二分区中。
在一种可能的设计中,所述获取模块,还用于获取第一信息,所述第一信息为所述升级的固件的启动状态信息或所述第一信息是根据所述升级的固件的启动状态信息生成的;
所述处理模块,还用于若所述第一信息指示所述升级的固件在第一预设时长内正常启动,则确定升级的固件的试运行过程成功。
在一种可能的设计中,所述处理模块,具体用于确定在第二预设时长内是否收到远程设备发送的反馈信息,其中,所述远程设备是指用于向所述嵌入式设备发送所述升级的固件的设备,所述反馈信息用于表示所述远程设备接收到所述嵌入式设备发送的试运行过程成功信息;以及,
若在所述第二预设时长内收到所述反馈信息,则确定所述升级的固件的试运行过程成功。
在一种可能的设计中,所述处理模块,具体用于对所述当前使用的固件的内容以及所述当前使用的固件的备份的内容进行校验,其中,所述当前使用的固件的备份存储在第三分区中;
在确定所述当前使用的固件的内容以及所述当前使用的固件的备份的校验结果满足第一预设条件时,将所述升级的固件烧写至所述第二分区中;
其中,所述第一预设条件为:
所述检验结果指示所述当前使用的固件的内容正确,以及所述当前使用的固件的备份的内容正确;或,
所述检验结果指示所述当前使用的固件的内容不正确,以及校验所述当前使用的固件的备份的内容不正确;或,
所述检验结果指示所述当前使用的固件的内容正确,以及校验所述当前使用的固件的备份的内容不正确,且,所述当前使用的固件的内容能对所述当前使用的固件的备份的内容进行修复;或
所述检验结果指示所述当前使用的固件的内容不正确,以及校验所述当前使用的固件的备份的内容正确,且,所述当前使用的固件的备份的内容能对所述当前使用的固件的内容进行修复。
在一种可能的设计中,所述处理模块,还用于在将所述升级的固件烧写至所述第二分区中之后,确定通过所述引导加载程序能否正常运行所述第二分区中的所述升级的固件;以及
若能正常运行所述第二分区中的所述升级的固件,则将所述升级的固件烧写至所述第三分区中;以及
若不能正常运行所述第二分区中的所述升级的固件,则将所述第三分区中的所述当前使用的固件的备份烧写至所述第二分区中,并删除所述第一分区中的所述升级的固件。
在一种可能的设计中,所述升级的固件包括固件文件头,所述处理模块,还用于在将所述升级的固件存储至第一分区之前,
在将所述升级的固件存储至第一分区之前,确定所述嵌入式设备的存储空间的容量大于或等于所述升级的固件的大小;和/或,
通过所述固件文件头的第一字段获取所述升级的固件的适用的硬件版本,确定所述升级的固件的适用的硬件版本与所述嵌入式设备的硬件版本兼容;以及通过所述固件文件头的第二字段获取所述升级的固件的校验码,确定所述升级的固件的校验码与预存的校验码相同,其中,所述固件文件头包括所述第一字段和所述第二字段,所述第一字段用于指示所述升级的固件兼容的硬件版本,所述第二字段用于指示所述升级的固件的内容的校验码。
在一种可能的设计中,所述处理模块还用于:
在将所述升级的固件烧写至所述第二分区之前,确定所述第二分区的有效存储空间的容量大于或等于所述升级的固件的大小,所述第二分区的有效存储空间是指所述第二分区中未被损坏的存储区域。
第三方面,提供一种固件升级装置,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面及任一种可能的设计中的所述的固件方法。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面及任一种可能的设计中的所述的固件方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种固件升级方法的流程图;
图2为本申请实施例提供的一种固件升级方法的流程图;
图3为本申请实施例提供的一种固件升级的装置图;
图4为本申请实施例提供的一种固件升级的装置图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
下面对本申请涉及到的名词进行解释,以便本领域技术人员更好地理解本申请实施例中的技术方案。
1)固件,是指固化在嵌入式设备中的程序,一般包括内核文件、根文件系统以及设备树,通常存储在嵌入式设备的Flash中。
2)Bootloader,是指嵌入式设备上电之后,引导嵌入式设备中的操作系统的运行的程序。一般来说,无需对Bootloader进行升级。嵌入式设备上电之后,Bootloader启动,并由Bootloader将内核文件、根文件系统以及设备树等调动至嵌入式设备的内存,再运行。
目前,固件升级一般是将flash中的当前使用的固件擦除,擦除之后,再将升级的固件烧写至flash中。升级的固件运行可能出现问题。例如升级的固件与嵌入式设备出现不兼容的问题,嵌入式设备就会进入死机状态。可见,现有技术中升级固件方法的可靠性较低。
鉴于此,本申请实施例提供一种固件升级方法。请参照图1,该方法的具体流程如下。
步骤101、获取升级的固件,并将所述升级的固件存储至第一分区;
步骤102、确定升级的固件的试运行过程是否成功,其中,所述试运行过程是指所述嵌入式设备的处理器通过调用所述第一分区中的所述升级的固件代替当前使用的固件的运行过程,所述当前使用的固件存储在与所述第一分区不同的第二分区,所述第二分区为所述处理器通过引导加载程序直接调用的存储区域;
步骤103、若所述升级的固件试运行过程成功,则将所述升级的固件烧写至所述第二分区中。
该固件升级方法由嵌入式设备中的处理器执行。嵌入式设备可以理解为通过linux操作系统来实现的设备,例如,嵌入式直放站或嵌入式基站设备等。本文不对嵌入式设备的具体类型进行限制。处理器可以是中央处理器(Central Processing Unit;简称:CPU),也可以是特定集成电路(Application Specific Intergrated Circuit;简称:ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digital singnal processor;简称:DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array;简称:FPGA)。
在嵌入式设备进行固件升级之前,先执行步骤101,即获取升级的固件,并将所述升级的固件存储至第一分区。升级的固件可以理解为嵌入式设备用于升级的固件。获取升级的固件的方法有很多种,下面对处理器获取升级的固件的方法进行示例说明。
第一种获取升级的固件的方式为,从远程设备获取升级的固件。
具体来说,远程设备是指用于向嵌入式设备发送升级的固件的设备,且,远程设备是可以与处理器进行通信的设备,例如服务器。当远程设备需要对嵌入式设备的固件进行升级的时候,远程设备可以向处理器发送升级命令,处理器接收到该升级命令之后,可以向远程设备发送用于确认升级的反馈。远程设备接收到该反馈之后,向处理器发送升级的程序,也就相当于处理器获取升级的固件。该方式获取升级的固件,可以远程控制嵌入式设备的升级,简化嵌入式设备升级固件的操作。
第二种获取升级的固件的方式为,检测与嵌入式设备连接外部存储设备中是否升级的固件,若有升级的固件,直接获取升级的固件。
具体来说,处理器可以自动识别升级的固件的文件信息。例如,处理器可以扫描与嵌入式设备连接的外部存储设备。外部存储设备例如U盘。一旦处理器扫描到外部存储设备中存储有升级的固件,处理器就直接获取该升级的固件。例如,固件的内核文件的升级文件名称一般为update_kernl.img。当处理器扫描到外部存储设备中存储有名称为update_kernl.img的文件,处理器就直接解析该update_kernl.img文件,获取得到升级的固件。该方式由处理器直接从外部存储设备中获取对应的升级的固件,可以相对减少远程发送升级的固件的时间,提高获取升级的固件的效率。
应当说明的是,上述内容只是对嵌入式设备获取升级的固件的方法进行的两种示例说明,实际上嵌入式设备获取升级的固件的方法不限于此。
在处理器获取升级的固件之后,处理器可以直接将升级的固件存储至第一分区。第一分区是指属于嵌入式设备中的存储空间中的存储区域。例如第一分区为嵌入式设备的Flash中的存储区域。
为方便说明,在图2中,将步骤101分为步骤1011和步骤1012进行描述,步骤1011为获取升级的固件,步骤1012为将升级的固件存储至第一分区中,具体执行过程与前述步骤101相同,在此不再赘述。为了保证嵌入式设备中的存储区域能够容纳升级的固件,处理器在执行步骤1011之后,请继续参照图2,处理器可以先执行步骤201,即确定嵌入式设备的存储空间的容量大于或等于所述升级的固件的大小。在执行步骤201之后,再执行步骤1012。下面对步骤201进行详细说明。
具体来说,嵌入式设备的存储空间是指嵌入式设备中用于存储升级的固件的存储器(例如嵌入式设备的Flash)中的有效的存储空间,嵌入式设备的存储空间可以具体理解为该用于存储升级的固件的存储器中的存储空间既没有存储其它的文件,也没有被损坏。一种确定嵌入式设备的存储空间的容量的方式如下。
处理器可以先获得该用于存储升级的固件的存储器中的剩余可用存储空间的容量,再对该用于存储升级的固件的存储器的剩余可用存储空间进行校验,校验出被损坏的存储空间的容量,根据剩余可用存储空间的容量减去被损坏的存储空间的容量就可以获得嵌入式设备的存储空间。
在获得嵌入式设备的存储空间之后,处理器确定嵌入式设备的存储空间的容量与升级的固件的大小关系。如果确定嵌入式设备的存储空间的容量大于或等于升级的固件的大小,处理器就可以直接将升级的固件存储在第一分区中。如果确定嵌入式设备的存储空间的容量小于升级的固件的大小,处理器暂时不进行固件升级。进一步地,处理器可以发出提示,提示用户存储空间不足。本申请实施例中,处理器对存储空间的容量进行判断,从而避免嵌入式设备存储空间不足,导致后期升级失败的情况。
例如,处理器获得嵌入式设备的Flash中剩余可用存储空间的容量有500M,处理器扫描剩余可用存储空间中被损坏的容量为100M,则可以获得嵌入式设备的存储空间的容量为400M。处理器获取升级的固件的大小为200M,处理器确定嵌入式设备的存储空间的容量大于升级的固件的大小。那么处理器可以直接将升级的固件存储至嵌入式设备的Flash中的第一分区中。
或者,为了保证升级的固件能与嵌入式设备的硬件版本能够兼容以及保证升级的固件的内容的正确性。在处理器执行步骤1011之后,请继续参照图2,处理器执行步骤202,即通过固件文件头获取第一字段中的升级的固件的适用的硬件版本,确定升级的固件的适用的硬件版本与嵌入式设备的硬件版本兼容;以及,通过固件文件头获取第二字段中的升级的固件的校验码,确定升级的固件的校验码与预存的校验码相同。其中,固件文件头包括第一字段和第二字段,第一字段用于指示升级的固件兼容的硬件版本,第二字段用于指示升级的固件的内容的校验码。
具体来说,升级的固件适用的硬件版本可以理解为该升级的固件能够适用于哪些版本的硬件。嵌入式设备中预存的校验码可以是从远程设备中获取的,也可以是在扫描外部存储设备中的升级的固件的时候获得的。
在处理器获取升级的固件之后,就可以直接从升级的固件的固件文件头中获取第一字段和第二字段中的信息,也就相当于获得了升级的固件适用的硬件版本、以及升级的固件的校验码。然后,处理器确定升级的固件适用的硬件版本与预存的嵌入式设备的硬件版本是否兼容,如果升级的固件适用的硬件版本包括预存的嵌入式设备的硬件版本,就表示升级的固件与当前的嵌入式设备的硬件版本可以兼容。如果升级的固件适用的硬件版本不包括预存的嵌入式设备的硬件版本,就表示升级的固件与当前的嵌入式设备的硬件版本不兼容,处理器不进行升级,从而避免后期升级的固件与当前嵌入式设备不兼容。处理器确定升级的固件的校验码与预存的校验码相同,就表示升级的固件的内容是正确的。如果处理器确定升级的固件的校验码与预存的校验码不相同,就表示升级的固件的内容可能出现错误,处理器可以暂停升级固件,处理器重新获取升级的固件。
本申请实施例中,在将升级的固件存储在第一分区之前,处理器备先对升级的固件进行校验,从而保证了升级的固件的内容的正确性,以及升级的固件与当前嵌入式设备的版本的兼容性。减少了后期升级过程中出现固件错误或者与当前嵌入式设备不兼容的情况,提高了固件升级的可靠性。
例如,嵌入式设备预存的校验码为0x1C6000,预存的硬件版本为V1.0。处理器通过升级的固件的固件文件头获得升级的固件的适用的版本包括V1.0和V1.1,升级的固件的校验码为0x17A000。处理器就可以直接确定该升级的固件与嵌入式设备兼容,但是升级的固件的校验码与预存的校验码不相同,可能在获取升级的固件的时候出错。因此,嵌入式设备暂时不进行升级。
应当说明的是,步骤201可以在步骤202之后执行,步骤201也可以是在步骤202之前执行。步骤201、步骤202是均可选的步骤,即不是必须执行的步骤。
在将升级的固件存储至第一分区之后,处理器执行步骤102,即确定升级的固件的试运行过程是否成功。
具体来说,在将升级的固件存储至第一分区之后,处理器先试运行升级的固件。试运行过程可以理解为处理器直接调用第一分区中的升级的固件代替当前使用的固件的运行过程。试运行例如,处理器直接调用第一分区中的升级的固件运行。当前使用的固件可以理解为嵌入式设备还没有升级固件之前所使用的固件。当前使用的固件存储在第二分区中。第二分区为属于嵌入式设备中的存储空间中的存储区域,第二分区和第一分区是不同的存储区域。第二分区为处理器通过引导加载程序可以直接调用的存储区域。也就是说,第一分区是处理器无法通过引导加载程序调用的存储区域。
例如,系统启动需要根文件系统、设备树文件以及内核文件,需要升级的固件为内核,从而当处理器试运行升级的内核时,则从第二分区中读取原有的根文件系统以及设备树文件,并对获取的文件进行校验,校验正确后,再从第一分区中读取升级的内核,从而在不使用引导加载程序的情况下更换内核并启动。
确定升级的固件的试运行过程是否成功有很多种方式,下文对确定升级的固件的试运行过程是否成功的方式进行示例说明。
第一种,获取第一信息,若第一信息指示升级的固件在第一预设时长内正常启动,则确定升级的固件的试运行过程成功。
具体来说,第一信息为升级的固件的启动状态信息或第一信息是根据升级的固件的启动状态信息生成的。第一预设时长的取值可以是处理器默认设置的,也可以是用户手动设置的。第一信息不同的含义,对应处理器的实现确定升级的固件的试运行过程是否成功的方式有所不同,详细描述如下。
例如,处理器可以在试运行升级的固件的时候,直接记录升级的固件的启动状态信息,该启动状态信息为第一信息。处理器直接根据第一信息确认升级的固件在第一预设时长内是否正常启动,如果第一信息中记录有升级的固件在第一预设时长内正常启动,就表示升级的固件的试运行过程成功。如果第一信息中记录有升级的固件在第一预设时长内没有正常启动,就表示升级的固件的试运行过程失败。
本申请实施例中,处理器直接记录升级的固件的启动状态信息,根据升级的固件的启动状态信息来直接确定升级的固件的试运行过程是否成功的方式直接简单。
或者例如,处理器从定时模块获取第一信息。处理器与定时模块之间可以相互通信,定时模块用于计时。定时模块例如,看门狗或计数器等。定时模块从处理器试运行升级的固件开始计时。处理器记录升级的固件的启动状态信息。处理器一旦记录升级的固件启动,就会直接向定时模块发送反馈信息,该反馈信息用于表示该升级的固件启动,定时模块接收到反馈信息之后,从零开始计时。如果定时模块计时时长达到第一预设时长,则定时模块确定升级的固件试运行过程失败。在定时模块确定升级的固件的试运行过程失败之后,定时模块可以向处理器发送第一信息,也就相当于处理器接收到第一信息。从而处理器就可以根据第一信息确定升级的固件运行过程失败。
本申请实施例中,增设定时模块,处理器通过定时模块反馈的第一信息来确定升级的固件的试运行过程是否成功。计时可以由定时模块来完成,相对可以减少处理器的处理量。
第二种,确定在第二预设时长内是否收到远程设备发送的反馈信息,若在第二预设时长内收到反馈信息,则确定升级的固件的试运行过程成功。第二预设时长的取值的设置方式可以参照前文论述设置第一预设时长的取值的设置方式,此处不再赘述。一般来说,由于处理器与远程设备之间通信需要耗费一定的时间,因此,一般第二预设时长的取值大于第一预设时长的取值。
具体来说,远程设备可以参照前文论述的内容,此处不再赘述。反馈信息用于表示远程设备接收到嵌入式设备发送的试运行过程成功信息。当升级的固件试运行过程成功之后,处理器会向远程设备发送试运行成功的信息,远程设备会向处理器发送反馈信息。如果嵌入式设备与远程设备之间通讯正常,处理器在第二预设时长内会收到远程设备发送的反馈信息,从而处理器可以确定升级的固件的试运行过程成功。如果处理器在第二预设时长内没有收到远程设备发送的反馈信息,处理器可以确定升级的固件的试运行过程失败。
本申请实施例中,在升级的固件正常启动之后,处理器还需要根据是否接收到远程设备的反馈信息,才确定该升级的固件的试运行过程成功或不成功。该方式能够不仅保证远程设备与嵌入式设备之间通信正常,避免固件进行升级以后,无法对嵌入式设备进行远程操作,还可以保证升级的固件与嵌入式设备的硬件之间可以相互协调运行,进一步保证了升级的固件与嵌入式设备的硬件的兼容。
如果确定升级的固件试运行,则表示升级的固件可能与嵌入式设备的硬件无法兼容,或者升级的固件本身异常等,处理器可以不对固件进行升级。
如果处理器确定升级的固件试运行成功,请继续参照图2,处理器可以执行步骤203,即确定第二分区的有效存储空间的容量大于或等于升级的固件的大小,第二分区的有效存储空间是指第二分区中未被损坏的存储区域。
由于引导加载程序一般是通过固定的路径调用固件。因此,为了处理器能够通过引导加载程序调用升级的固件,需要将升级的固件烧写至第二分区中。为了避免第二分区的存储空间的容量无法容纳升级的固件的情况,处理器可以先对第二分区的有效存储空间的容量进行确定。具体来说,处理器获取第二分区的总容量,以及第二分区中被损坏的存储区域的容量,根据第二分区的总容量以及被损坏的存储区域的容量可以获得第二分区中未被损坏的存储区域的容量,也就是第二分区的有效存储空间的容量。处理器再确定有效存储空间的容量与升级的固件的大小之间的大小关系。如果第二分区的有效存储空间的容量大于或等于升级的固件的大小,则表示第二分区可以容纳升级的固件。第二分区的有效存储空间的容量小于升级的固件的大小,则表示第二分区无法容纳升级的固件,处理器不进行固件升级。
本申请实施例中,确定对第二分区的有效存储空间的容量与升级的固件的大小之间的大小关系,能够保证第二分区中的第二分区的有效存储空间的容量能够容纳升级的固件。从而避免了第二分区的效存储空间的容量不足造成的升级失败的情况。
应当说明的是,步骤203是可选的步骤,即不是必须执行的步骤。
处理器可以是在确定升级的固件试运行成功之后,直接执行步骤103,即将升级的固件烧写至第二分区中。处理器也可以是在执行步骤203之后,再执行步骤103。第二分区可以参照前文论述的内容,此处不再赘述。将升级的固件烧写至第二分区中具体理解为处理器先擦除第二分区中的当前使用的固件,再将升级的固件写入第二分区中。将升级的固件烧写至第二分区包括很多方式,下文进行详细说明。
一种将升级的固件烧写至第二分区的方式为,擦除第二分区中的当前使用的固件,将升级的固件直接写入第二分区。
一种将升级的固件烧写至第二分区的方式为,处理器对当前使用的固件的内容以及当前使用的固件的备份的内容进行校验,其中,当前使用的固件的备份存储在第三分区中;在确定当前使用的固件的内容以及当前使用的固件的备份的校验结果满足第一预设条件时,再擦除第二分区中的当前使用的固件,将升级的固件直接写入第二分区。
具体来说,当前使用的固件的备份存储在第三分区中,当前使用的固件的备份是指与当前使用的固件的内容完全一样的固件。处理器对当前使用的固件的内容以及当前使用的固件的备份的内容进行校验,校验的方法如下。处理器提前存储有当前使用的固件对应的预存的校验码,处理器再获取当前使用的固件的校验码以及当前使用的固件的备份的校验码。获取当前使用的固件的校验码的方式以及获取当前使用的固件的备份的校验码可以参照前文论述的获取升级的固件的校验码的内容,此处不再赘述。处理器确定校验结果是否满足第一预设条件,如果校验结果满足第一预设条件,则表示当前使用的固件的内容以及当前使用的固件的备份的内容正确。
第一预设条件包括以下的任意的一种情况:
(1)校验当前使用的固件的内容正确以及当前使用的固件的备份的内容正确;
(2)校验当前使用的固件的内容不正确以及校验当前使用的固件的备份的内容不正确;
(3)校验当前使用的固件的内容正确与当前使用的固件的备份的内容不正确,且,当前使用的固件的内容能对当前使用的固件的备份的内容进行修复;
(4)校验当前使用的固件的内容不正确,校验当前使用的固件的备份的内容正确,且,当前使用的固件的备份的内容能对当前使用的固件的内容进行修复。
具体来说,修复是指将当前使用的固件的内容烧写至第三分区,或将当前使用的固件的备份烧写至第二分区。当处理器确定当前使用的固件的校验码和当前使用的固件的备份的校验码均与预存的校验码相同,表示满足第一预设条件中的情况(1)。
当处理器确定当前使用的固件的校验码、当前使用的固件的备份的校验码均与预存的校验码均不相同,表示满足第一预设条件中的情况(2)。
当处理器确定当前使用的固件的校验码与预存的校验码相同,当前使用的固件的备份的校验码与预存的校验码不相同,则表示校验当前使用的固件的内容正确与当前使用的固件的备份的内容的不正确,且,当前使用的固件能够烧写到第三分区中,表示第一预设条件中的情况(3)。
当处理器确定当前使用的固件的校验码与预存的校验码不相同,当前使用的固件的备份的校验码与预存的校验码相同,且,当前使用的固件的备份能够烧写到第二分区中,表示第一预设条件中的情况(4)。
当处理器确定校验结果满足第一预设条件的情况下,处理器可以继续进行固件升级。
可能存在校验当前使用的固件的内容和当前使用的固件的备份的内容有一个不正确,且正确的一个无法修复另外一个,那么就不满足第一预设条件,处理器可以不进行固件升级。
本申请实施例中,处理器对当前使用的固件以及当前使用的固件的备份进行校验,可以保证当前使用的固件和当前使用的固件的备份的有效性。
在将升级的固件写入第二分区中之后,请继续参照图2,处理器可以执行步骤204,即确定通过引导加载程序能否正常运行第二分区中的升级的固件。
具体来说,处理器将升级的固件写入第二分区之后,处理器通过引导加载程序运行第二分区中的升级的固件。如果引导加载程序能够正常运行第二分区中的升级的固件,则表示固件升级成功,请继续参照图2,再执行步骤205,即若能正常运行第二分区中的升级的固件,则将升级的固件烧写至第三分区中,再将第一分区中的升级的固件删除。为了便于处理器获取升级的固件的运行情况,如果固件升级成功,引导加载程序可以设置升级成功标志位,从而处理器可以根据升级成功标志位确定该升级的固件正常运行。例如,固件升级成功之后,引导加载程序设置升级成功标志位为“1”,处理器可以根据升级成功标志位“1”确定升级的固件正常运行。
为了保证第三分区中的升级的固件的正确性,在将升级的固件烧写至第三分区中之后,处理器还可以确定第三分区中的升级的固件的试运行过程成功,从而保证第三分区中的升级的固件的正确性。关于确定第三分区中的升级的固件的试运行过程成功的内容可以参照前文关于确定第一分区中的升级的固件的试运行过程成功的方式的内容,此处不再赘述。
如果引导加载程序能够无法正常运行升级的固件,则表示固件升级失败,请继续参照图2,处理器再执行步骤206,即若不能正常运行第二分区中的升级的固件,则将第三分区中的当前使用的固件的备份烧写至第二分区中,并删除第一分区中的升级的固件。从而使得处理器可以通过引导加载程序运行第二分区中的当前使用的固件的备份。
应当说明的是,步骤204、步骤205以及步骤206是可选的步骤,即不是必须执行的步骤。
本申请实施例中,在固件升级成功之后,处理器将升级的固件烧写到第三分区中,从而保证嵌入式设备中存储有升级的固件的备份。在固件升级失败之后,处理器可以将第三分区中的当前使用的固件的备份烧写到第二分区中,从而保证嵌入式设备的正常运行。另外,在固件升级成功或失败之后,处理器均会删除第一分区中的升级的固件,从而保证了第一分区可以重复利用,提高了嵌入式设备的存储空间的利用率。
在前文论述的固件升级方法的基础上,本申请实施例还提供一种固件升级装置。请参照图3,该固件升级装置包括获取模块301和处理模块302。获取模块301,用于获取升级的固件,并将升级的固件存储至第一分区。处理模块302,用于确定升级的固件的试运行过程是否成功,其中,试运行过程是指嵌入式设备的处理器通过调用第一分区中的升级的固件代替当前使用的固件的运行过程,当前使用的固件存储在与第一分区不同的第二分区,第二分区为处理器通过引导加载程序直接调用的存储区域,以及若升级的固件试运行过程成功,则将升级的固件烧写至第二分区中。
在一种可能的设计中,获取模块301,还用于获取第一信息,第一信息为升级的固件的启动状态信息或第一信息是根据升级的固件的启动状态信息生成的;若第一信息指示升级的固件在第一预设时长内正常启动,处理模块302,则具体用于确定升级的固件的试运行过程成功。
在一种可能的设计中,处理模块302,具体用于确定在第二预设时长内是否收到远程设备发送的反馈信息,其中,远程设备是指用于向嵌入式设备发送升级的固件的设备,反馈信息用于表示远程设备接收到嵌入式设备发送的试运行过程成功信息;
若在第二预设时长内收到反馈信息,则确定升级的固件的试运行过程成功。
在一种可能的设计中,处理模块302,用于对当前使用的固件的内容以及当前使用的固件的备份的内容进行校验,其中,当前使用的固件的备份存储在第三分区中;
在确定当前使用的固件的内容以及当前使用的固件的备份的校验结果满足第一预设条件时,将升级的固件烧写至第二分区中;
其中,第一预设条件为:
检验结果指示当前使用的固件的内容正确,以及当前使用的固件的备份的内容正确;或,
检验结果指示当前使用的固件的内容不正确,以及校验当前使用的固件的备份的内容不正确;或,
检验结果指示当前使用的固件的内容正确,以及校验当前使用的固件的备份的内容不正确,且,当前使用的固件的内容能对当前使用的固件的备份的内容进行修复;或
检验结果指示当前使用的固件的内容不正确,以及校验当前使用的固件的备份的内容的正确,且,当前使用的固件的备份的内容能对当前使用的固件的内容进行修复。
在一种可能的设计中,处理模块302,在将升级的固件烧写至第二分区中之后,还用于确定通过引导加载程序能否正常运行第二分区中的升级的固件;
若能正常运行第二分区中的升级的固件,则将升级的固件烧写至第三分区中;
若不能正常运行第二分区中的升级的固件,则将第三分区中的当前使用的固件的备份烧写至第二分区中,并删除第一分区中的升级的固件。
在一种可能的设计中,升级的固件包括固件文件头,处理模块302,还用于:
在将升级的固件存储至第一分区之前,确定嵌入式设备的存储空间的容量大于或等于升级的固件的大小;和/或,
通过固件文件头获取第一字段中的升级的固件的适用的硬件版本,确定升级的固件的适用的硬件版本与嵌入式设备的硬件版本兼容;以及通过固件文件头的第二字段中的升级的固件的校验码,确定升级的固件的校验码与预存的校验码相同,其中,固件文件头包括第一字段和第二字段,第一字段用于指示升级的固件兼容的硬件版本,第二字段用于指示升级的固件的内容的校验码。
在一种可能的设计中,处理模块302,还用于确定第二分区的有效存储空间的容量大于或等于升级的固件的大小,第二分区的有效存储空间是指第二分区中未被损坏的存储区域。
在前文论述的固件升级方法的基础上,本申请实施例还提供一种固件升级装置,请参照图4,该装置包括:
至少一个处理器401,以及
与至少一个处理器401通信连接的存储器402;
其中,存储器402存储有可被至少一个处理器401执行的指令,至少一个处理器401通过执行存储器402存储的指令实现如图1或图2以及中任一实施例中的固件方法。
作为一种实施例,图4中是以处理器401的数量为一个为例,但是实际上不限制处理器401的数量。
作为一种实施例,图3中的处理模块302可以通过图4中的处理器401来实现。
在前文论述的固件升级方法的基础上,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如图1或图2以及中任一实施例中的固件方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种固件升级方法,其特征在于,应用于嵌入式设备中,所述方法包括:
获取升级的固件,并将所述升级的固件存储至第一分区;
确定升级的固件的试运行过程是否成功,其中,所述试运行过程是指所述嵌入式设备的处理器通过调用所述第一分区中的所述升级的固件代替当前使用的固件的运行过程,所述当前使用的固件存储在与所述第一分区不同的第二分区,所述第二分区为所述处理器通过引导加载程序直接调用的存储区域;
若所述升级的固件试运行过程成功,则将所述升级的固件烧写至所述第二分区中。
2.如权利要求1所述的方法,其特征在于,确定升级的固件的试运行过程是否成功,包括:
获取第一信息,所述第一信息为所述升级的固件的启动状态信息或所述第一信息是根据所述升级的固件的启动状态信息生成的;
若所述第一信息指示所述升级的固件在第一预设时长内正常启动,则确定升级的固件的试运行过程成功。
3.如权利要求1所述的方法,其特征在于,确定升级的固件的试运行过程是否成功,包括:
确定在第二预设时长内是否收到远程设备发送的反馈信息,其中,所述远程设备是指用于向所述嵌入式设备发送所述升级的固件的设备,所述反馈信息用于表示所述远程设备接收到所述嵌入式设备发送的试运行过程成功信息;
若在所述第二预设时长内收到所述反馈信息,则确定所述升级的固件的试运行过程成功。
4.如权利要求1所述的方法,其特征在于,将所述升级的固件烧写至所述第二分区中,包括:
对所述当前使用的固件的内容以及所述当前使用的固件的备份的内容进行校验,其中,所述当前使用的固件的备份存储在第三分区中;
在确定所述当前使用的固件的内容以及所述当前使用的固件的备份的校验结果满足第一预设条件时,将所述升级的固件烧写至所述第二分区中;
其中,所述第一预设条件为:
所述检验结果指示所述当前使用的固件的内容正确,以及所述当前使用的固件的备份的内容正确;或,
所述检验结果指示所述当前使用的固件的内容不正确,以及校验所述当前使用的固件的备份的内容不正确;或,
所述检验结果指示所述当前使用的固件的内容正确,以及校验所述当前使用的固件的备份的内容不正确,且,所述当前使用的固件的内容能对所述当前使用的固件的备份的内容进行修复;或
所述检验结果指示所述当前使用的固件的内容不正确,以及校验所述当前使用的固件的备份的内容正确,且,所述当前使用的固件的备份的内容能对所述当前使用的固件的内容进行修复。
5.如权利要求4所述的方法,其特征在于,在将所述升级的固件烧写至所述第二分区中之后,还包括:
确定通过所述引导加载程序能否正常运行所述第二分区中的所述升级的固件;
若能正常运行所述第二分区中的所述升级的固件,则将所述升级的固件烧写至所述第三分区中;
若不能正常运行所述第二分区中的所述升级的固件,则将所述第三分区中的所述当前使用的固件的备份烧写至所述第二分区中,并删除所述第一分区中的所述升级的固件。
6.如权利要求1-5任一所述的方法,其特征在于,所述升级的固件包括固件文件头,在将所述升级的固件存储至第一分区之前,还包括:
确定所述嵌入式设备的存储空间的容量大于或等于所述升级的固件的大小;和/或,
通过所述固件文件头的第一字段获取所述升级的固件的适用的硬件版本,确定所述升级的固件的适用的硬件版本与所述嵌入式设备的硬件版本兼容;以及通过所述固件文件头的第二字段获取所述升级的固件的校验码,确定所述升级的固件的校验码与预存的校验码相同,其中,所述固件文件头包括所述第一字段和所述第二字段,所述第一字段用于指示所述升级的固件兼容的硬件版本,所述第二字段用于指示所述升级的固件的内容的校验码。
7.如权利要求6所述的方法,其特征在于,将所述升级的固件烧写至所述第二分区之前,还包括:
确定所述第二分区的有效存储空间的容量大于或等于所述升级的固件的大小,所述第二分区的有效存储空间是指所述第二分区中未被损坏的存储区域。
8.一种固件升级装置,其特征在于,所述装置包括获取模块和处理模块,其中:
所述获取模块,用于获取升级的固件,并将所述升级的固件存储至第一分区;
所述处理模块,用于确定升级的固件的试运行过程是否成功,其中,所述试运行过程是指所述嵌入式设备的处理器通过调用所述第一分区中的所述升级的固件代替当前使用的固件的运行过程,所述当前使用的固件存储在与所述第一分区不同的第二分区,所述第二分区为所述处理器通过引导加载程序直接调用的存储区域,以及若所述升级的固件试运行过程成功,则用于将所述升级的固件烧写至所述第二分区中。
9.一种固件升级装置,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1-8中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-8中任一项所述的方法。
CN201811253251.5A 2018-10-25 2018-10-25 一种固件升级方法及装置 Pending CN109189451A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811253251.5A CN109189451A (zh) 2018-10-25 2018-10-25 一种固件升级方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811253251.5A CN109189451A (zh) 2018-10-25 2018-10-25 一种固件升级方法及装置

Publications (1)

Publication Number Publication Date
CN109189451A true CN109189451A (zh) 2019-01-11

Family

ID=64943514

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811253251.5A Pending CN109189451A (zh) 2018-10-25 2018-10-25 一种固件升级方法及装置

Country Status (1)

Country Link
CN (1) CN109189451A (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947445A (zh) * 2019-02-21 2019-06-28 广州小鹏汽车科技有限公司 一种固件升级方法及系统
CN110096300A (zh) * 2019-04-08 2019-08-06 上海赛治信息技术有限公司 一种fpga程序文件备份管理系统、运行方法及升级方法
CN110231946A (zh) * 2019-05-20 2019-09-13 出门问问信息科技有限公司 电子设备的固件更新和恢复方法、装置、设备及存储介质
CN110333882A (zh) * 2019-05-09 2019-10-15 百度在线网络技术(北京)有限公司 系统的升级方法、装置、设备及计算机可读介质
CN110377320A (zh) * 2019-07-09 2019-10-25 北京遥感设备研究所 一种基于双flash的dsp代码在线更新系统及方法
CN110502262A (zh) * 2019-08-16 2019-11-26 苏州浪潮智能科技有限公司 一种固件升级方法、系统、装置及计算机可读存储介质
CN110737449A (zh) * 2019-08-23 2020-01-31 上海商米科技集团股份有限公司 用于处理设备固件的方法、装置和机器可读存储介质
CN111045709A (zh) * 2019-12-26 2020-04-21 联想(北京)有限公司 固件升级方法和固件升级装置
CN111399888A (zh) * 2020-03-11 2020-07-10 北京百度网讯科技有限公司 音频处理芯片的处理方法、装置及电子设备
CN112363739A (zh) * 2021-01-18 2021-02-12 杭州觅睿科技股份有限公司 终端设备的分区镜像在线升级方法、装置、设备及介质
CN112433739A (zh) * 2020-11-11 2021-03-02 广州鲁邦通物联网科技有限公司 一种固件升级方法
CN112559349A (zh) * 2020-12-16 2021-03-26 合安科技技术有限公司 一种程序的运行方法及运行装置
CN112860291A (zh) * 2021-02-08 2021-05-28 杭州涂鸦信息技术有限公司 固件升级方法及装置
CN114035813A (zh) * 2021-11-05 2022-02-11 珠海格力电器股份有限公司 一种升级方法、装置、设备及存储介质
CN114035818A (zh) * 2021-10-25 2022-02-11 深圳市联洲国际技术有限公司 固件升级方法、装置、计算机设备和存储介质
CN114443074A (zh) * 2022-01-23 2022-05-06 苏州浪潮智能科技有限公司 一种远程烧录固件的方法、系统、设备和存储介质
CN115220758A (zh) * 2022-06-24 2022-10-21 武汉联特科技股份有限公司 一种单片机固件在线升级的方法
CN116225490A (zh) * 2023-01-30 2023-06-06 无锡沐创集成电路设计有限公司 存储器固件的升级方法、升级装置、电子设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339227A (zh) * 2010-07-28 2012-02-01 环旭电子股份有限公司 多固件嵌入式系统及其固件更新方法
CN104331312A (zh) * 2014-11-24 2015-02-04 东软熙康健康科技有限公司 一种固件升级方法及嵌入式设备
CN105094903A (zh) * 2015-07-16 2015-11-25 广州飞米电子科技有限公司 对固件进行升级的方法及装置
CN107766064A (zh) * 2016-08-17 2018-03-06 中兴通讯股份有限公司 组件升级的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339227A (zh) * 2010-07-28 2012-02-01 环旭电子股份有限公司 多固件嵌入式系统及其固件更新方法
CN104331312A (zh) * 2014-11-24 2015-02-04 东软熙康健康科技有限公司 一种固件升级方法及嵌入式设备
CN105094903A (zh) * 2015-07-16 2015-11-25 广州飞米电子科技有限公司 对固件进行升级的方法及装置
CN107766064A (zh) * 2016-08-17 2018-03-06 中兴通讯股份有限公司 组件升级的方法及装置

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947445A (zh) * 2019-02-21 2019-06-28 广州小鹏汽车科技有限公司 一种固件升级方法及系统
CN110096300A (zh) * 2019-04-08 2019-08-06 上海赛治信息技术有限公司 一种fpga程序文件备份管理系统、运行方法及升级方法
CN110333882A (zh) * 2019-05-09 2019-10-15 百度在线网络技术(北京)有限公司 系统的升级方法、装置、设备及计算机可读介质
CN110231946A (zh) * 2019-05-20 2019-09-13 出门问问信息科技有限公司 电子设备的固件更新和恢复方法、装置、设备及存储介质
CN110377320A (zh) * 2019-07-09 2019-10-25 北京遥感设备研究所 一种基于双flash的dsp代码在线更新系统及方法
CN110377320B (zh) * 2019-07-09 2023-01-06 北京遥感设备研究所 一种基于双flash的dsp代码在线更新系统及方法
CN110502262A (zh) * 2019-08-16 2019-11-26 苏州浪潮智能科技有限公司 一种固件升级方法、系统、装置及计算机可读存储介质
CN110737449A (zh) * 2019-08-23 2020-01-31 上海商米科技集团股份有限公司 用于处理设备固件的方法、装置和机器可读存储介质
CN111045709B (zh) * 2019-12-26 2021-12-24 联想(北京)有限公司 固件升级方法和固件升级装置
CN111045709A (zh) * 2019-12-26 2020-04-21 联想(北京)有限公司 固件升级方法和固件升级装置
CN111399888A (zh) * 2020-03-11 2020-07-10 北京百度网讯科技有限公司 音频处理芯片的处理方法、装置及电子设备
CN112433739A (zh) * 2020-11-11 2021-03-02 广州鲁邦通物联网科技有限公司 一种固件升级方法
CN112559349A (zh) * 2020-12-16 2021-03-26 合安科技技术有限公司 一种程序的运行方法及运行装置
CN112559349B (zh) * 2020-12-16 2024-04-09 合安科技技术有限公司 一种程序的运行方法及运行装置
CN112363739A (zh) * 2021-01-18 2021-02-12 杭州觅睿科技股份有限公司 终端设备的分区镜像在线升级方法、装置、设备及介质
CN112860291A (zh) * 2021-02-08 2021-05-28 杭州涂鸦信息技术有限公司 固件升级方法及装置
CN112860291B (zh) * 2021-02-08 2023-05-12 杭州涂鸦信息技术有限公司 固件升级方法及装置
CN114035818A (zh) * 2021-10-25 2022-02-11 深圳市联洲国际技术有限公司 固件升级方法、装置、计算机设备和存储介质
CN114035813A (zh) * 2021-11-05 2022-02-11 珠海格力电器股份有限公司 一种升级方法、装置、设备及存储介质
CN114443074A (zh) * 2022-01-23 2022-05-06 苏州浪潮智能科技有限公司 一种远程烧录固件的方法、系统、设备和存储介质
CN115220758A (zh) * 2022-06-24 2022-10-21 武汉联特科技股份有限公司 一种单片机固件在线升级的方法
CN116225490A (zh) * 2023-01-30 2023-06-06 无锡沐创集成电路设计有限公司 存储器固件的升级方法、升级装置、电子设备及介质
CN116225490B (zh) * 2023-01-30 2023-12-22 无锡沐创集成电路设计有限公司 存储器固件的升级方法、升级装置、电子设备及介质

Similar Documents

Publication Publication Date Title
CN109189451A (zh) 一种固件升级方法及装置
CN101650662B (zh) 一种嵌入式系统的存储器件的固件启动及升级方法
CN107179909A (zh) 软件升级方法、装置及计算机可读存储介质
CN107506221B (zh) 应用程序升级方法、装置及设备
CN103309709B (zh) 一种固件升级方法、装置及通信设备
CN106572372A (zh) 一种机顶盒升级方法及机顶盒
CN105760200A (zh) 终端设备及其系统升级方法
CN105988843A (zh) 移动终端固件升级方法及固件升级装置
CN108170457A (zh) 固件升级方法、装置及vr头戴式显示器
CN109086058A (zh) 车载程序升级系统
CN107220074A (zh) 对支撑层软件功能的访问、升级方法及装置
CN115762625A (zh) 验证eMMC功能的方法、系统、电子设备及存储介质
CN111459524A (zh) 软件的升级方法、装置、系统
CN106227571A (zh) 系统升级方法及其移动终端
CN102880478B (zh) 软件更新方法
CN109766140A (zh) 一种机顶盒启动异常的定位方法及装置
CN112416411B (zh) 升级方法及装置、设备端、服务器、计算机可读介质
CN110580167A (zh) 一种系统升级方法、智能设备及服务器
CN113805965B (zh) 一种外部插件安装的方法、装置、设备及可读介质
WO2011120774A1 (en) Method for managing usb devices
CN107479923A (zh) 应用程序升级方法、装置及显示终端
CN109582334B (zh) 可编程逻辑器件的升级方法及装置
CN107908418B (zh) 光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备
CN113452550A (zh) 资讯撷取装置、嵌入式系统装置的固件更新方法及系统
CN110362324A (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
TA01 Transfer of patent application right

Effective date of registration: 20200103

Address after: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Applicant after: COMBA TELECOM SYSTEMS (CHINA) Ltd.

Address before: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant before: COMBA TELECOM SYSTEMS (CHINA) Ltd.

Applicant before: COMBA TELECOM SYSTEMS (GUANGZHOU) Ltd.

Applicant before: COMBA TELECOM TECHNOLOGY (GUANGZHOU) Ltd.

Applicant before: TIANJIN COMBA TELECOM SYSTEMS Ltd.

TA01 Transfer of patent application right
CB02 Change of applicant information

Address after: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Applicant after: Jingxin Network System Co.,Ltd.

Address before: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Applicant before: COMBA TELECOM SYSTEMS (CHINA) Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20190111

RJ01 Rejection of invention patent application after publication