CN110737449A - 用于处理设备固件的方法、装置和机器可读存储介质 - Google Patents

用于处理设备固件的方法、装置和机器可读存储介质 Download PDF

Info

Publication number
CN110737449A
CN110737449A CN201910783666.1A CN201910783666A CN110737449A CN 110737449 A CN110737449 A CN 110737449A CN 201910783666 A CN201910783666 A CN 201910783666A CN 110737449 A CN110737449 A CN 110737449A
Authority
CN
China
Prior art keywords
firmware
partition
firmware partition
value
stored
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
CN201910783666.1A
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.)
Shanghai Sunmi Technology Group Co Ltd
Shanghai Sunmi Technology Co Ltd
Original Assignee
Shanghai Sunmi Technology Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Sunmi Technology Group Co Ltd filed Critical Shanghai Sunmi Technology Group Co Ltd
Priority to CN201910783666.1A priority Critical patent/CN110737449A/zh
Publication of CN110737449A publication Critical patent/CN110737449A/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

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

用于处理设备固件的方法、装置和机器可读存储介质
技术领域
本申请实施例涉及信息技术领域,并且更具体地,涉及用于处理设备固件的方法、装置和机器可读存储介质。
背景技术
目前,随着信息技术的不断发展,电子设备的使用越来越普遍。电子设备在出厂之后,在某些情况下可能需要进行升级。例如,固件在电子设备中承担着最基础、最底层的工作,决定着电子设备的功能和性能。因此,为了修复缺陷或者添加新功能,可能需要对固件进行升级。
然而,固件升级通常存在一定的风险性,一旦出错,可能会导致电子设备无法正常使用。因此,如何进行固件升级成为需要解决的问题之一。
发明内容
本申请实施例提供用于处理设备固件的方法、装置和机器可读存储介质,能够实现可靠的固件升级过程。
一方面,本申请实施例提供了一种用于处理设备固件的方法,包括:获取运行信息,其中,所述运行信息包括运行标志位,所述运行标志位具有第一值或第二值,所述第一值指示当前运行的固件分区为第一固件分区,所述第二值指示所述当前运行的固件分区为第二固件分区,所述第一固件分区和所述第二固件分区均用于存储固件;基于所述运行信息,确定所述当前运行的固件分区为所述第一固件分区;针对所述第二固件分区中所存储的固件进行升级;如果所述第二固件分区中所存储的固件的升级成功,则修改所述运行信息,使得将所述当前运行的固件分区切换为所述第二固件分区。
另一方面,本申请实施例提供了一种用于处理设备固件的装置,包括:获取单元,用于获取运行信息,其中,所述运行信息包括运行标志位,所述运行标志位具有第一值或第二值,所述第一值指示当前运行的固件分区为第一固件分区,所述第二值指示所述当前运行的固件分区为第二固件分区,所述第一固件分区和所述第二固件分区均用于存储固件;确定单元,用于基于所述运行信息,确定所述当前运行的固件分区为所述第一固件分区;升级单元,用于针对所述第二固件分区中所存储的固件进行升级;修改单元,用于:如果所述第二固件分区中所存储的固件的升级成功,则修改所述运行信息,使得将所述当前运行的固件分区切换为所述第二固件分区。
另一方面,本申请实施例提供了一种用于处理设备固件的装置,包括:至少一个处理器;与所述至少一个处理器耦合的存储器,所述存储器存储有可执行指令,并且所述存储器包括第一固件分区和第二固件分区,所述第一固件分区和所述第二固件分区均用于存储固件;其中,所述可执行指令在被所述至少一个处理器执行时使得实现上述方法。
另一方面,本申请实施例提供了一种机器可读存储介质,其上存储有可执行指令,所述可执行指令在被机器执行时使得实现上述方法。
可见,在上述技术方案中,由于设置了均用于存储固件的第一固件分区和第二固件分区,因此在进行升级时,可以针对处于非运行状态的固件分区进行升级,而在升级成功之后,再运行升级后的固件分区。这样,能够避免由于各种原因中断升级过程而导致的设备死机问题,由此能够极大地减少由于固件升级而导致的设备返厂维修的问题,使得设备更为可靠耐用。这样,不仅能够有效地降低设备的售后维护成本,而且能够极大地提升用户体验。
附图说明
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图进行简单介绍。然而,本领域技术人员应当理解的是,下面描述中的附图仅仅是本申请的一些示例,并不限制其范围。
图1是根据一个实施例的用于处理设备固件的方法的示意性流程图。
图2是根据一个实施例的设备存储资源的一个示例。
图3A是根据一个实施例的设备固件升级过程的示意性流程图。
图3B是根据一个实施例的设备启动过程的示意性流程图。
图4是根据一个实施例的用于处理设备固件的装置的示意性框图。
图5是根据一个实施例的用于处理设备固件的装置的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。本领域技术人员应当理解的是,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员可以进行任何适当的修改或变型,从而获得的所有其它实施例。
电子设备在出厂之后,为了进行系统软件的缺陷修复或新功能添加,可能需要进行设备固件的维护或升级。
例如,目前广泛使用的销售点(Point of Sales,POS)设备通常具有支持移动支付、余额查询、转账等等各种功能。这些功能通常在PoS设备出厂时预置在设备中。因此,在出厂之后,如果要对某些功能进行缺陷修复或者添加其它新功能,往往需要对其中的固件进行升级或更新。
目前,如果在PoS设备的固件升级过程中设备断电,或者由于其它原因(比如用户误操作等等)而中断升级过程,那么PoS设备可能直接死机而无法继续使用。在这种情况下,往往需要将PoS设备返厂进行维修,不仅极大地增加了PoS设备的售后维护成本,而且严重影响了用户体验。
鉴于此,本申请实施例提供了一种用于处理设备固件的技术方案。在该技术方案中,可以在设备的存储资源中划分出用于存储固件的两个固件分区。在正常使用时,可以运行其中的一个固件分区。而在进行固件升级时,可以针对非正在运行的固件分区进行升级,而不影响另一正在运行的固件分区。这样,即使升级过程出现异常,也不会影响设备的正常使用。
下面将结合具体实施例来详细描述上述技术方案。
图1是根据一个实施例的用于处理设备固件的方法的示意性流程图。
如图1所示,在步骤102中,可以获取运行信息。运行信息可以用于指示当前运行的固件分区。当前运行的固件分区可以是第一固件分区或第二固件分区中的一者。
第一固件分区和第二固件分区可以均用于存储固件。
在步骤104中,可以基于运行信息,确定当前运行的固件分区为第一固件分区。
在步骤106中,可以针对第二固件分区中所存储的固件进行升级。
在步骤108中,如果第二固件分区中所存储的固件升级成功,则修改运行信息,使得将当前运行的固件分区切换为第二固件分区。
可见,在上述技术方案中,由于设置了均用于存储固件的第一固件分区和第二固件分区,因此在进行升级时,可以针对处于非运行状态的固件分区进行升级,而在升级成功之后,再运行升级后的固件分区。这样,能够避免由于各种原因中断升级过程而导致的设备死机问题,由此能够极大地减少由于固件升级而导致的设备返厂维修的问题,使得设备更为可靠耐用。这样,不仅能够有效地降低设备的售后维护成本,而且能够极大地提升用户体验。
在本申请中,上述技术方案可以应用于PoS设备。
在一个实施例中,对于步骤102中的运行信息,其可以采用多种方式来实现。例如,运行信息可以包括运行标志位。运行标志位可以具有第一值或第二值。第一值可以指示当前运行的固件分区为第一固件分区,而第二值可以指示当前运行的固件分区为第二固件分区。
第一值和第二值可以被设置为可区分的任何值,本申请对此不作限定。比如,第一值可以被设置为1,第二值可以被设置为2。或者,第一值可以被设置0,而第二值可以被设置为1。
可见,在该实施例中,通过设置运行标志位,能够清晰地指示当前运行的固件分区,而且在实现上也简单易行。
在一个实施例中,在步骤108中,如果第二固件分区中所存储的固件升级成功,则可以对第二固件分区中的升级后的固件进行校验。比如,对升级后的固件的完整性和合法性进行校验。在校验通过之后,可以将当前运行的固件分区切换为第二固件分区,从而运行升级后的固件。可见,在该实施例中,由于对升级后的固件进行完整性和合法性校验,所以能够确保升级后的固件的可靠性,从而确保在固件升级成功之后设备的良好运行。
此外,如前所述,在对第二固件分区进行升级之前,当前运行的固件分区是第一固件分区。那么,此时的运行标志位具有第一值。而在对第二固件分区进行升级之后,为了运行升级后的固件,可以将运行标志位从第一值修改为第二值。
然后,将设备进行重启。在重启时,由于运行标志位已经被修改为第二值,所以将启动第二固件分区,从而启动升级后的固件。例如,在重启时,设备的引导程序将读取运行标志位,确定运行标志位具有第一值,从而启动第二固件分区。
在一个实施例中,如果第二固件分区中所存储的固件升级失败,则可以保持运行信息不变。例如,保持运行标志位不变,比如仍然为第一值。
在这种情况下,由于运行标志位没有改变,所以仍然会运行第一固件分区。这样,即使第二固件分区升级失败,也不会影响设备的正常运行,从而能够避免由于固件升级而导致的返厂维修问题,并且提升用户体验。
此外,如果第二固件分区中所存储的固件的升级失败,则可以结束本次升级过程。可以理解的是,在这种情况下,由于运行标志位并没有改变,因此仍然会运行第一固件分区。在下次需要进行固件升级时,基于运行标志位为第一值,可以确定当前运行的是第一固件分区,这样仍然会针对第二固件分区进行升级。
在一个实施例中,在针对第二固件分区中的固件进行升级之前,第一固件分区和第二固件分区可以存储有相同版本的固件,或者第一固件分区中的固件版本可以比第二固件分区中的固件版本新。
例如,在设备出厂时,第一固件分区和第二固件分区可以存储相同版本的固件。而如果先前针对第一固件分区中的固件进行过升级的话,则第一固件分区中的固件版本可以比第二固件分区中的固件版本更新。
在第二固件分区中的固件升级成功之后,第二固件分区中的升级后的固件版本可以比第一固件分区中的固件版本更新。
可见,在本申请实施例中,当前运行的固件分区可以具有较新的版本,而要进行升级的固件分区可以具有较旧的版本。这样,两个固件分区是交替升级的,不仅能够确保不影响正常的固件运行,而且能够使得始终运行两个固件分区中的较新版本的固件,从而保证设备的良好性能。
例如,在设备出厂时,第一固件分区和第二固件分区存储的固件版本均可以是V1.0.0,这种情况下可以将运行标志位设置为第一值,此时将运行的固件分区是第一固件分区。
之后,在进行固件升级时,可以针对处于非运行状态的第二固件分区进行升级,比如可以将第二固件分区中的固件版本成功升级为V1.0.1。另外,在升级之后运行标志位将被修改为指示第二固件分区的第二值,因此,运行的固件分区将从第一固件分区切换为第二固件分区。此时,处于非运行状态的第一固件分区中的固件版本为V1.0.0,而处于运行状态的第二固件分区中的固件版本是V1.0.1。
而在后续再次进行固件升级时,可以针对处于非运行状态的第一固件分区进行升级,比如,可以将第一固件分区中的固件版本成功升级为V1.0.3。应当注意的是,每次升级的固件版本可以是连续编号的版本,也可以是非连续编号的版本,本申请对此不作限制。然后,将运行标志位从第二值修改为第一值,这样,运行的固件分区将从第二固件分区切换到第一固件分区。此时,处于运行状态的第一固件分区中的固件版本是V1.0.3,而处于非运行状态的第二固件分区中的固件版本是V1.0.1。
此后,在再次需要进行固件升级时,以此类推,将针对第二固件分区进行升级。可见,两个固件分区可以是交替升级的,而当前运行的将会是两个固件分区中具有较新固件版本的分区。这样,不仅能够避免由于升级而导致的设备死机等问题,而且能够保证设备的良好性能。
为了帮助本领域技术人员更好地理解本申请的技术方案,下面将结合具体例子进行说明。然而,应当理解的是,这些例子并不对本申请的保护范围造成任何限制。
图2是根据一个实施例的设备存储资源的一个示例。如图2所示,设备的存储资源可以包括引导程序分区202、标志位存储分区204、固件分区206和固件分区208。
引导程序分区202可以用于存储引导程序。标志位存储分区204可以用于存储上述运行标志位。固件分区206和固件分区208均可以用于存储固件。例如,固件分区206可以对应于上述第一固件分区,固件分区208可以对应于上述第二固件分区。或者,固件分区206可以是上述第二固件分区,而固件分区208可以对应于上述第一固件分区。
在设备启动时,引导程序可以读取标志位存储分区204中的运行标志位。运行标志位可以被设置为两个值,每个值对应于固件分区206或固件分区208中的一者。这样,引导程序可以基于运行标志位的值来启动固件分区206或固件分区208。
例如,运行标志位可以具有第一值或第二值。第一值可以指示运行固件分区206,第二值可以指示运行固件分区208。这样,引导程序可以基于运行标志位具有第一值还是第二值,来启动固件分区206或固件分区208。
应当明白的是,图2的设备存储资源的划分仅是示例性的。在具体实现时,设备存储资源还可以包括其它分区,本申请对此不作限定。
下面将结合图2的示例来描述设备的运行过程。
图3A是根据一个实施例的设备固件升级过程的示意性流程图。例如,图3A的过程可以利用设备的升级程序来执行。
如图3A所示,在步骤302A中,确定要进行固件升级。
在步骤304A中,可以读取运行标志位。例如,从标志位存储分区204中读取运行标志位。
在图3A的示例中,假设运行标志位可以具有第一值或第二值。第一值可以指示运行固件分区206,第二值可以指示运行固件分区208。
基于运行标志位的值,可以执行步骤306A-312A,或者步骤314A-320A。
例如,在步骤306A中,可以确定运行标志位具有第一值。
此时,可以确定当前运行的固件分区为固件分区206。
因此,在步骤308A中,可以对处于非运行状态的固件分区208进行升级。
在步骤310A中,可以在固件分区208升级成功之后,对固件分区208中的升级后的固件进行完整性和合法性校验。
在步骤312A中,可以在校验通过之后,可以将运行标志位修改为第二值。
之后,在步骤322A中,可以重启设备,以便启动固件分区208。具体过程可以参见图3B的描述。
对于另一分支,在步骤314A中,可以确定运行标志位具有第二值。
此时,可以确定当前运行的固件分区为固件分区208。
因此,在步骤316A中,可以对处于非运行状态的固件分区206进行升级。
在步骤318A中,可以在固件分区206升级成功之后,对固件分区206中的升级后的固件进行完整性和合法性校验。
在步骤312A中,可以在校验通过之后,可以将运行标志位修改为第二值。
之后,在步骤322A中,可以重启设备,以便启动固件分区206。具体过程可以参见图3B的描述。
图3B是根据一个实施例的设备启动过程的示意性流程图。例如,图3B的过程可以利用设备的引导程序来执行,比如引导程序分区202中所存储的引导程序。
如图3B所示,在步骤302B中,启动设备。
在步骤304B中,读取运行标志位。例如,从标志位存储分区204中读取运行标志位。
例如,在步骤306B中,确定运行标志位具有第一值。那么,在步骤310B中,可以启动固件分区206。
在步骤308B中,确定运行标志位具有第二值。在步骤312B中,可以启动固件分区208。
可见,在上述技术方案中,由于设置了均用于存储固件的第一固件分区和第二固件分区,因此在进行升级时,可以针对处于非运行状态的固件分区进行升级,而在升级成功之后,再运行升级后的固件分区。这样,能够避免由于各种原因中断升级过程而导致的设备死机问题,由此能够极大地减少由于固件升级而导致的设备返厂维修的问题,使得设备更为可靠耐用。这样,不仅能够有效地降低设备的售后维护成本,而且能够极大地提升用户体验。
图4是根据一个实施例的用于处理设备固件的装置的示意性框图。例如,图4的装置可以是PoS设备。
如图4所示,装置400可以包括获取单元402、确定单元404、升级单元406和修改单元408。
获取单元402可以获取运行信息。运行信息可以包括运行标志位,运行标志位可以具有第一值或第二值,第一值指示当前运行的固件分区为第一固件分区,第二值指示当前运行的固件分区为第二固件分区,第一固件分区和第二固件分区均用于存储固件。
确定单元404可以基于运行信息,确定当前运行的固件分区为第一固件分区。
升级单元406可以针对第二固件分区中所存储的固件进行升级。
如果升级单元406对第二固件分区中所存储的固件的升级成功,则修改单元408可以修改运行信息,使得将当前运行的固件分区切换为第二固件分区。
可见,在上述技术方案中,由于设置了均用于存储固件的第一固件分区和第二固件分区,因此在进行升级时,可以针对处于非运行状态的固件分区进行升级,而在升级成功之后,再运行升级后的固件分区。这样,能够避免由于各种原因中断升级过程而导致的设备死机问题,由此能够极大地减少由于固件升级而导致的设备返厂维修的问题,使得设备更为可靠耐用。这样,不仅能够有效地降低设备的售后维护成本,而且能够极大地提升用户体验。
在一个实施例中,修改单元408可以对第二固件分区中的升级后的固件进行校验。修改单元408可以在对第二固件分区中的升级后的固件校验通过之后,将运行标志位从第一值修改为第二值。修改单元408可以将设备重启,以便基于第二值,启动第二固件分区。
在一个实施例中,在针对第二固件分区中所存储的固件进行升级之前:第一固件分区和第二固件分区可以存储有相同版本的固件;或者第一固件分区所存储的固件版本比第二固件分区所存储的固件版本新。
在第二固件分区中所存储的固件的升级成功之后:第二固件分中的升级后的固件版本可以比第一固件分区所存储的固件版本新。
在一个实施例中, 如果升级单元406对第二固件分区中所存储的固件的升级失败,则修改单元408可以保持运行信息不变。
图4的装置400的其它功能和操作可以参照上面图1至图3B的方法实施例的过程,为了避免重复,此处不再赘述。
图5是根据一个实施例的用于处理设备固件的装置的示意性框图。例如,图5的装置500可以是PoS设备。
如图5所示,装置500可以包括存储器502和至少一个处理器504。
例如,存储器502可以包括随机存储器、闪存、只读存储器、可编程只读存储器、非易失性存储器或寄存器等。处理器504可以是中央处理器(Central Processing Unit,CPU)等。
存储器502可以存储可执行指令。此外,存储器502还可以包括本文描述的各个分区,例如,第一固件分区和第二固件分区。比如,存储器502可以包括如图2所示的各个分区。
处理器504可以执行在存储器502中存储的可执行指令,从而实现本文描述的各个过程,比如在图1至图3B所示的各个过程。
此外,本申请实施例还提供一种机器可读存储介质。该机器可读存储介质可以存储有可执行指令,可执行指令在被机器执行时使得机器实现上面参照图1至图3B描述的方法实施例的具体过程。
例如,机器可读存储介质可以包括但不限于各种已知和未知类型的非易失性存储器。
本领域技术人员可以明白的是,结合本文中所公开的实施例描述的各示例的单元及算法步骤能够以电子硬件、或者软件和电子硬件的结合来实现。这些功能是以硬件还是软件方式来实现,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以针对每个特定的应用,使用不同的方式来实现所描述的功能,但是这种实现并不应认为超出本申请的范围。
在本申请实施例中,所公开的系统、装置和方法可以通过其它方式来实现。例如,所述单元的划分仅仅为一种逻辑功能划分,在实际实现时还可以有另外的划分方式。例如,多个单元或组件可以进行组合或者可以集成到另一个系统中。另外,各个单元之间的耦合可以是直接耦合或间接耦合。另外,在本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是单独的物理存在等等。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在机器可读存储介质中。因此,本申请的技术方案可以以软件产品的形式来体现,该软件产品可以存储在机器可读存储介质中,其可以包括若干指令用以使得电子设备执行本申请实施例所描述的技术方案的全部或部分过程。上述存储介质可以包括ROM、RAM、可移动盘、硬盘、磁盘或者光盘等各种可以存储程序代码的介质。
以上内容仅为本申请的具体实施方式,本申请的保护范围并不局限于此。本领域技术人员在本申请所公开的技术范围内可以进行变化或替换,这些变化或替换都应当在本申请的保护范围之内。

Claims (11)

1.一种用于处理设备固件的方法,包括:
获取运行信息,其中,所述运行信息包括运行标志位,所述运行标志位具有第一值或第二值,所述第一值指示当前运行的固件分区为第一固件分区,所述第二值指示所述当前运行的固件分区为第二固件分区,所述第一固件分区和所述第二固件分区均用于存储固件;
基于所述运行信息,确定所述当前运行的固件分区为所述第一固件分区;
针对所述第二固件分区中所存储的固件进行升级;
如果所述第二固件分区中所存储的固件的升级成功,则修改所述运行信息,使得将所述当前运行的固件分区切换为所述第二固件分区。
2.根据权利要求1所述的方法,其特征在于,所述修改所述运行信息,以便将所述当前运行的固件分区切换为所述第二固件分区,包括:
对所述第二固件分区中的升级后的固件进行校验;
在对所述第二固件分区中的升级后的固件校验通过之后,将所述运行标志位从所述第一值修改为所述第二值;
将所述设备重启,以便基于所述第二值,启动所述第二固件分区。
3.根据权利要求1或2所述的方法,其特征在于,
在针对所述第二固件分区中所存储的固件进行升级之前:
所述第一固件分区和所述第二固件分区存储有相同版本的固件;或者
所述第一固件分区所存储的固件版本比所述第二固件分区所存储的固件版本新;
在所述第二固件分区中所存储的固件的升级成功之后:
所述第二固件分中的升级后的固件版本比所述第一固件分区所存储的固件版本新。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
如果所述第二固件分区中所存储的固件的升级失败,则保持所述运行信息不变。
5.一种用于处理设备固件的装置,包括:
获取单元,用于获取运行信息,其中,所述运行信息包括运行标志位,所述运行标志位具有第一值或第二值,所述第一值指示当前运行的固件分区为第一固件分区,所述第二值指示所述当前运行的固件分区为第二固件分区,所述第一固件分区和所述第二固件分区均用于存储固件;
确定单元,用于基于所述运行信息,确定所述当前运行的固件分区为所述第一固件分区;
升级单元,用于针对所述第二固件分区中所存储的固件进行升级;
修改单元,用于:如果所述第二固件分区中所存储的固件的升级成功,则修改所述运行信息,使得将所述当前运行的固件分区切换为所述第二固件分区。
6.根据权利要求5所述的装置,其特征在于,所述修改单元具体用于:
对所述第二固件分区中的升级后的固件进行校验;
在对所述第二固件分区中的升级后的固件校验通过之后,将所述运行标志位从所述第一值修改为所述第二值;
将所述设备重启,以便基于所述第二值,启动所述第二固件分区。
7.根据权利要求5或6所述的装置,其特征在于,
在针对所述第二固件分区中所存储的固件进行升级之前:
所述第一固件分区和所述第二固件分区存储有相同版本的固件;或者
所述第一固件分区所存储的固件版本比所述第二固件分区所存储的固件版本新;
在所述第二固件分区中所存储的固件的升级成功之后:
所述第二固件分中的升级后的固件版本比所述第一固件分区所存储的固件版本新。
8.根据权利要求5或6所述的装置,其特征在于,所述修改单元还用于:
如果所述第二固件分区中所存储的固件的升级失败,则保持所述运行信息不变。
9.根据权利要求5或6所述的装置,其特征在于,所述装置为销售点PoS设备。
10.一种用于处理设备固件的装置,包括:
至少一个处理器;
与所述至少一个处理器耦合的存储器,所述存储器存储有可执行指令,并且所述存储器包括第一固件分区和第二固件分区,所述第一固件分区和所述第二固件分区均用于存储固件;
其中,所述可执行指令在被所述至少一个处理器执行时使得实现根据权利要求1至4中任一项所述的方法。
11.一种机器可读存储介质,其上存储有可执行指令,所述可执行指令在被机器执行时使得实现根据权利要求1至4中任一项所述的方法。
CN201910783666.1A 2019-08-23 2019-08-23 用于处理设备固件的方法、装置和机器可读存储介质 Pending CN110737449A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910783666.1A CN110737449A (zh) 2019-08-23 2019-08-23 用于处理设备固件的方法、装置和机器可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910783666.1A CN110737449A (zh) 2019-08-23 2019-08-23 用于处理设备固件的方法、装置和机器可读存储介质

Publications (1)

Publication Number Publication Date
CN110737449A true CN110737449A (zh) 2020-01-31

Family

ID=69267721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910783666.1A Pending CN110737449A (zh) 2019-08-23 2019-08-23 用于处理设备固件的方法、装置和机器可读存储介质

Country Status (1)

Country Link
CN (1) CN110737449A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112783535A (zh) * 2021-03-10 2021-05-11 广州优胜汽车科技有限公司 固件升级方法、嵌入式装置及存储介质
CN113467813A (zh) * 2021-05-19 2021-10-01 深圳拓邦股份有限公司 一种控制器在线升级方法、装置、电子设备及存储介质
CN113495743A (zh) * 2020-03-19 2021-10-12 瑞昱半导体股份有限公司 储存电路以及运作方法
CN115904450A (zh) * 2022-11-02 2023-04-04 易科奇通信技术(深圳)有限公司 嵌入式设备固件升级装置和方法、嵌入式设备、存储介质
WO2023071384A1 (zh) * 2021-10-28 2023-05-04 青岛海信宽带多媒体技术有限公司 光模块及其升级方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339227A (zh) * 2010-07-28 2012-02-01 环旭电子股份有限公司 多固件嵌入式系统及其固件更新方法
CN106020865A (zh) * 2016-05-10 2016-10-12 百度在线网络技术(北京)有限公司 一种系统升级方法和装置
CN109189451A (zh) * 2018-10-25 2019-01-11 京信通信系统(中国)有限公司 一种固件升级方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339227A (zh) * 2010-07-28 2012-02-01 环旭电子股份有限公司 多固件嵌入式系统及其固件更新方法
CN106020865A (zh) * 2016-05-10 2016-10-12 百度在线网络技术(北京)有限公司 一种系统升级方法和装置
CN109189451A (zh) * 2018-10-25 2019-01-11 京信通信系统(中国)有限公司 一种固件升级方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113495743A (zh) * 2020-03-19 2021-10-12 瑞昱半导体股份有限公司 储存电路以及运作方法
CN112783535A (zh) * 2021-03-10 2021-05-11 广州优胜汽车科技有限公司 固件升级方法、嵌入式装置及存储介质
CN113467813A (zh) * 2021-05-19 2021-10-01 深圳拓邦股份有限公司 一种控制器在线升级方法、装置、电子设备及存储介质
WO2023071384A1 (zh) * 2021-10-28 2023-05-04 青岛海信宽带多媒体技术有限公司 光模块及其升级方法
CN115904450A (zh) * 2022-11-02 2023-04-04 易科奇通信技术(深圳)有限公司 嵌入式设备固件升级装置和方法、嵌入式设备、存储介质

Similar Documents

Publication Publication Date Title
CN110737449A (zh) 用于处理设备固件的方法、装置和机器可读存储介质
TWI384367B (zh) 韌體更新系統及方法
KR100778293B1 (ko) 디지털방송처리장치 및 디지털방송처리장치 부트로더의업그레이드 방법
US8423991B2 (en) Embedded network device and firmware upgrading method
CN102023908B (zh) 一种引导程序备份方法及装置
US7512749B2 (en) Safe software revision for embedded systems
CN105094927B (zh) 一种设备固件升级方法和装置
CN111796848A (zh) Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
CN109614265B (zh) 智能惯导传感系统的双备份系统及其配置启动方法
WO2016206514A1 (zh) 启动处理方法及装置
WO2018024198A1 (zh) 机顶盒的应用程序升级方法、系统及机顶盒
CN110737481A (zh) 基于多重备份引导程序的嵌入式linux操作系统的启动方法
CN110874237A (zh) 软件升级方法、装置、终端以及可读存储介质
CN114860291A (zh) 一种引导及应用程序灵活储存与升级的方法
WO2022156512A1 (zh) 一种固件更新方法、装置、设备及存储介质
CN111142922A (zh) 应用程序更新方法、装置、终端及服务器
CN117130672A (zh) 服务器启动流程控制方法、系统、终端及存储介质
US20090138865A1 (en) Performing an operating system upgrade without multiple system interruptions
KR101844095B1 (ko) 부트로더 실행 방법 및 장치
CN111258617B (zh) 一种电子设备
CN114237722A (zh) 一种系统的启动方法、装置、设备及工程车辆
JP6822203B2 (ja) ファームウェア実行装置、ドライバ実行装置、ドライバ管理装置、ファームウェア管理装置、コンピュータ装置、方法およびプログラム
CN116932010B (zh) 系统固件升级方法、装置及服务器
US20210326125A1 (en) Installing application program code on a vehicle control system
CN111190627A (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