CN109634631A - 固件恢复方法、装置、电子设备及固件恢复系统 - Google Patents
固件恢复方法、装置、电子设备及固件恢复系统 Download PDFInfo
- Publication number
- CN109634631A CN109634631A CN201811296657.1A CN201811296657A CN109634631A CN 109634631 A CN109634631 A CN 109634631A CN 201811296657 A CN201811296657 A CN 201811296657A CN 109634631 A CN109634631 A CN 109634631A
- Authority
- CN
- China
- Prior art keywords
- firmware
- server
- information
- upgrade
- recovery
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
Abstract
本公开提供一种固件恢复方法、装置、电子设备及固件恢复系统。方法包括,接收服务器发送的恢复触发信息,若恢复触发信息与预设信息相同,则运行恢复区中存储的恢复固件;根据恢复固件向服务器发送登录请求;接收服务器发送的升级信息;根据升级信息确定是否需要进行固件升级,若是,则根据升级信息确定需要升级的目标固件;接收服务器发送的升级数据,并升级目标固件。本公开提供的方案,可以根据服务器发出信号确定电子设备中的固件是否存在异常情况,如存在,则执行恢复区中的恢复固件,并基于恢复固件对存储芯片中的其他固件进行升级,避免由于固件异常造成电子设备无法正常工作的问题。
Description
技术领域
本发明涉及固件存储技术,尤其涉及一种固件恢复方法、装置、电子设备及固件恢复系统。
背景技术
嵌入式终端产品是常见的采集和数据传输设备,产品功能通过执行存储在存储芯片的固件实现。可以将固件烧写进芯片中,再将芯片固定在产品中,较常见的方式是将芯片固定在电路板上。
由于在终端产品使用过程中,需要对其中的固件进行升级,从而完善产品。现有技术中可以通过向芯片烧录固件的方式,升级固件。例如,现有的IAP在应用现场编程技术,这种技术不需要专用设备和拆卸芯片、节省人工而被广泛应用于固件升级。
但是,如果传统远程IAP技术在应用现场升级过程中终端断电、或者升级文件错误,将导致终端无法正常工作。例如,在升级固件时,芯片中的原有固件被清除,新版本的固件还未完全写入芯片,就发生了断电,那么此时该产品将无法正常工作,进而导致终端无法正常工作。此时,就必须返厂采用其他方法重新烧写相关固件后才能恢复。
发明内容
本发明提供一种固件恢复方法、装置、电子设备及固件恢复系统,以解决现有技术中,在终端产品升级固件的过程中发生异常断电、固件损坏、固件不正确等情况,会导致该终端产品无法正常工作的技术问题。
本发明的第一个方面是提供一种固件恢复方法,包括:
接收所述服务器发送的恢复触发信息,若所述恢复触发信息与预设信息相同,则运行恢复区中存储的恢复固件;
根据所述恢复固件向所述服务器发送登录请求;
接收所述服务器发送的升级信息;
根据所述升级信息确定是否需要进行固件升级,若是,则根据所述升级信息确定需要升级的目标固件;
接收所述服务器发送的升级数据,并升级所述目标固件。
本发明的第二个方面是提供一种固件恢复装置,包括:
接收模块,用于接收所述服务器发送的恢复触发信息,若所述恢复触发信息与预设信息相同,则运行恢复区中存储的恢复固件;
发送模块,用于根据所述恢复固件向所述服务器发送登录请求;
所述接收模块还用于接收所述服务器发送的升级信息;
确定模块,用于根据所述升级信息确定是否需要进行固件升级,若是,则根据所述升级信息确定需要升级的目标固件;
升级模块,用于接收所述服务器发送的升级数据,并升级所述目标固件。
本发明的第三个方面是提供一种电子设备,包括处理器、存储芯片,所述存储芯片包括分区存储结构;
所述处理器用于第一方面所述的固件恢复方法。
本发明的第四个方面是提供一种固件恢复系统,包括:服务器、如第三方面所述的电子设备。
本发明实施例提供的固件恢复方法、装置、电子设备及固件恢复系统的技术效果是:
本发明实施例提供的固件升级方法、装置、电子设备及固件升级系统,包括:接收服务器发送的恢复触发信息,若恢复触发信息与预设信息相同,则运行恢复区中存储的恢复固件;根据恢复固件向服务器发送登录请求;接收服务器发送的升级信息;根据升级信息确定是否需要进行固件升级,若是,则根据升级信息确定需要升级的目标固件;接收服务器发送的升级数据,并升级目标固件。本实施例提供的固件恢复方法、装置、电子设备及固件恢复系统中,可以根据服务器发出信号确定电子设备中的固件是否存在异常情况,如存在,则执行恢复区中的恢复固件,并基于恢复固件对存储芯片中的其他固件进行升级,避免由于固件异常造成电子设备无法正常工作的问题。
附图说明
图1为本发明一示例性实施例示出的存储芯片的存储结构图;
图1A为本发明一示例性实施例示出的固件恢复方法流程图;
图1B为本发明另一示例性实施例示出的固件恢复方法流程图;
图2为本发明另一示例性实施例示出的存储芯片的存储结构图;
图2A为本发明又一示例性实施例示出的固件恢复方法流程图;
图3为本发明一示例性实施例示出的固件恢复装置的结构图。
具体实施方式
图1为本发明一示例性实施例示出的存储芯片的存储结构图。
如图1所示,本实施例提供的存储芯片包括:恢复区11。本实施例提供的存储芯片还可以包括其他分区12,例如引导区等。
存储芯片(flash)是嵌入式系统常用的存储芯片,通过在芯片中嵌入软件,实现多功能和高性能,以及对多种协议、多种硬件和不同应用的支持。
图1A为本发明一示例性实施例示出的固件恢复方法流程图。
其中,本实施例提供的方法可以应用于为包括如图1所示的存储芯片的电子设备进行固件恢复。本实施例中,恢复区11中存储有恢复固件;其他分区12也存储有与分区功能相应的固件。
可以在电子设备上电时执行本实施例提供的方法,该上电可以是正常上电,也可以是异常断电后又恢复供电时的上电。可以由服务器向需要固件恢复的电子设备供电,该服务器具体用于控制电子设备的固件恢复。固件是写入可擦写存储器中的程序。
实际应用时,电子设备上电后,可以向服务器发送登录消息,告知服务器设备是否正常。例如,若存储芯片中其他分区12中存储的应用固件异常,则设备可以向服务器发送异常消息。一般情况下,一台服务器可以连接多台电子设备,监控这些电子设备是否正常。具体的,电子设备的存储芯片中,还可以设置有引导区(图中未示出),引导区中存储有引导固件。当电子设备上电后,处理器可以先读取引导固件,并运行该引导固件,根据引导固件确定存储芯片中的各个固件是否正常。并根据引导固件向服务器反馈是否存在异常的消息。
在另一种实施方式中,电子设备上电后,若检测自身正常,则可以向服务器发送确认消息,若不正常,则不向服务器发送消息。此时,服务器可以通过确定是否接收到电子设备发送的确认消息,确定电子设备是否正常。
其中,服务器可以根据电子设备发送的登录消息或未发送任何消息的情况,向电子设备发送恢复触发信息。
步骤101,电子设备接收服务器发送的恢复触发信息,若恢复触发信息与预设信息相同,则运行恢复区中存储的恢复固件。
具体的,若电子设备异常,例如,电子设备在升级过程中异常断电后,其内部的应用固件被擦除,导致电子设备无法正常启动,则与该电子设备对应的服务器会向其发送与预设信息相同的恢复触发信息。若电子设备内的固件正常,则服务器可以不向电子设备发送恢复触发信息,也可以发送与预设信息不同的恢复触发信息。
其中,可以由电子设备的处理器执行本实施例提供的方法。存储在存储芯片中的固件是程序本身,处理器可以从存储芯片中读取固件,并执行相应的固件。
具体的,服务器发送的恢复触发信息可以是波形形式,相应的,预设信息也是波形形式,处理器可以解析出恢复触发信息中包括的波形,并与预设信息中的波形进行比对,若两个波形图案相同且时序一致,则认为恢复触发信息与预设信息相同。即服务器确定电子设备异常,因此,向电子设备发送了与预设信息相同的恢复触发信息,用于指示电子设备执行恢复流程。
实际应用时,还可以预先设置时间,电子设备可以判断服务器在预设时间内是否发出与预设信息相同的恢复触发信息,若是,则运行恢复区中存储的恢复固件。
可选的,电子设备还可以开启计时功能,从电子设备上电开始计时,若超出预设时间未接收到与预设信息相同的恢复触发信息,则认为恢复触发信息与预设信息不相符,若在预设时间内接收到了与预设信息相同的恢复触发信息,则认为二者相符。
其中,可以在恢复区11内存储恢复固件,恢复固件在实际应用过程中可以命名为APP_FAC,并通过处理器读取该固件,并执行该固件。本实施例提供的方法中,根据服务器发送的恢复触发信息确定是否需要执行恢复流程,若需要执行恢复流程,则运行恢复固件。
步骤102,根据恢复固件向服务器发送登录请求。
具体的,恢复固件可以是具有发送登录请求功能的程序。处理器可以读取并运行恢复固件,进而根据恢复固件向服务器发送登录请求。
登录请求可以包括存储芯片中的固件标识,以使服务器根据固件标识确定是否需要升级固件,并确定升级信息。登录请求中还可以包括电子设备标识,以使服务器确定将升级信息发送给哪台电子设备。
进一步的,服务器还可以包括主服务器、子服务器,一个主服务器可以连接多个子服务器,每个子服务器可以与多个电子设备连接。主服务器与子服务器可以通过互联网连接,子服务器与电子设备可以通过局域网连接。
实际应用时,若电子设备接收到服务器在预设时间内发出的预设信号,则说明电子设备内的固件是异常情况,则可以由处理器获取恢复区中的恢复固件,并执行该恢复固件中的向服务器发送登录请求的步骤,具体可以向子服务器发送该登陆请求。
其中,登录请求中可以包括存储芯片的固件标识,固件标识是指该存储芯片当前存储的固件的标识,具体可以是版本号等信息。另外,登陆请求中还可以包括存储芯片所在设备的网卡地址,并以该网卡地址作为设备标识封装在登陆请求中。另外,若固件存在异常情况,则登录请求中还可以包括固件异常的信息,以使服务器根据该异常信息确定升级信息。
步骤103,接收服务器发送的升级信息。
具体的,服务器在接收到登陆请求后,可以对该请求进行解析,并获取其中包括的固件标识,再根据固件标识确定该电子设备的固件是否需要升级。若服务器包括主服务器和子服务器,则子服务器在接收到登陆请求后,可以解析出其中包括的固件标识,并将该固件标识发送给主服务器,由主服务器确定电子设备是否需要升级固件。例如,若固件标识是版本信息,则服务器可以判断该固件版本信息是否为最新版本,若否,则确定需要升级。另外,若登录请求中包括固件异常信息,则服务器还可以根据这一异常信息确定需要升级的固件。
进一步的,服务器根据是否需要升级的确定结果,则可以确定相应的升级信息,并根据登录请求中的设备标识,将升级信息发送给对应的电子设备。若确定需要升级,则服务器还可以将升级的工作模式封装到升级信息中,并将其发送给电子设备的处理器。具体可以由子服务器向处理器发送。若不需要升级,则可以将正常工作的工作模式封装到升级信息中。
实际应用时,若服务器确定需要升级固件,则还可以将需要升级的固件标识也封装在升级信息中,发送给电子设备的处理器,以使处理器对需要升级的固件进行升级。
步骤104,根据升级信息确定是否需要进行固件升级,若是,则根据升级信息确定需要升级的目标固件。
其中,处理器接收到升级信息后,可以对该升级信息进行解析,获取其中的工作模式,若工作模式为升级,则确定需要升级固件。若获取的工作模式为正常,则不对电子设备的固件进行升级。
若确定需要对固件进行升级,则进一步的对升级信息进行解析,确定需要升级的目标固件。例如,目标固件是应用固件。
步骤105,接收服务器发送的升级数据,并升级目标固件。
在接收服务器发送的升级数据之前还可以包括:
擦除目标固件所在的存储分区,例如,若需要升级固件为应用固件,则可以擦除应用区,并将接收的升级数据写入该应用区。
另外,服务器向电子设备的处理器发送升级信息时,若工作模式为升级,则还可以在升级信息中封装升级数据大小的信息,例如3M。相应的,处理器可以在接收升级数据前,就擦除分区,并擦除与该升级数据大小相同的扇区。在擦除分区后,还可以向服务器发送等待接受升级数据的消息。
服务器接收到电子设备的处理器发送的等待接收升级数据的消息以后,可以向处理器发送升级数据,以使处理器接收该升级数据,处理器还可以将升级数据写入需要升级固件的分区,具体写入之前擦除的扇区内。
其中,处理器可以在每接收一帧数据后,就向需要升级固件的分区写入一帧数据,并在写入成功后,向服务器发送成功消息,直到第一升级数据被全部写入需要升级固件的分区为止。
具体的,在处理器将第一升级数据写入完毕后,还可以更新存储芯片的固件标识。
进一步的,在固件升级完毕后,本实施例提供的方法还可以重启电子设备,即处理器继续执行步骤101。本实施例提供的固件恢复方法,若对电子设备内的固件存在异常,导致电子设备功能无法正常运行,那么可以根据恢复区内存储的恢复固件对其他分区进行升级恢复的操作,使存储芯片内的固件恢复正常,从而使电子设备能够正常工作,因此,本实施例提供的方法,通过设置恢复固件,能够解决现有技术中电子设备由于固件异常,导致设备无法正常工作的问题。
本实施例提供的固件恢复方法,包括:接收服务器发送的恢复触发信息,若恢复触发信息与预设信息相同,则运行恢复区中存储的恢复固件;根据恢复固件向服务器发送登录请求;接收服务器发送的升级信息;根据升级信息确定是否需要进行固件升级,若是,则根据升级信息确定需要升级的目标固件;接收服务器发送的升级数据,并升级目标固件。本实施例提供的固件恢复方法中,可以根据服务器发出信号确定是否执行恢复流程,若需要,则执行恢复区中的恢复固件,并基于恢复固件对存储芯片中的其他固件进行升级,避免由于固件异常造成电子设备无法正常工作的问题。
图1B为本发明另一示例性实施例示出的固件恢复方法流程图。
本实施例提供的固件恢复方法可以为包括如图1所示的存储芯片的电子设备进行固件恢复。可以由需要升级固件的电子设备的处理器执行本实施例提供的方法。
如图1B所示,本实施例提供的固件恢复方法包括:
步骤201,接收服务器发送的恢复触发信息。
若恢复触发信息与预设信息相同,则执行步骤202。
步骤202,运行恢复区中存储的恢复固件。
步骤201-202与步骤101的具体原理和实现方式类似,此处不再赘述。
步骤203,根据恢复固件向服务器发送登录请求。
步骤203与步骤102的具体原理和实现方式类似。
其中,登录请求包括:设备标识、固件标识;以使服务器根据固件标识、设备标识确定升级信息及升级信息对应的设备。
具体的,设备标识可以是网卡MAC地址。固件标识可以是固件的版本号,例如固件1-v1,即表示固件1,v1版本。若电子设备内存储有多个固件,则登录请求中可以包括多个固件标识。
服务器可以根据固件标识确定出固件是否需要升级,并根据设备标识确定将是否需要升级的确定结果发送至哪台电子设备。
步骤204,接收服务器发送的升级信息。
步骤204与步骤103的具体原理和实现方式类似。
步骤205,根据升级信息确定是否需要进行固件升级。
若是,则执行步骤206。若否,则继续执行步骤203。
步骤206,根据升级信息确定需要升级的目标固件。
步骤205-206与步骤104-105的具体原理和实现方式类似。
步骤207,接收服务器发送的包括第一固件数据的第一升级数据帧。
其中,服务器可以向电子设备发送第一数据帧,第一数据帧中包括第一固件数据。服务器可以逐帧向电子设备发送数据帧,相应的,电子设备也一帧一帧的接收该数据。
步骤208,擦除目标固件所属的存储分区。
具体的,若需要升级的固件是应用固件,则擦除应用固件所在的分区,例如,应用固件所在的分区是应用区,则擦除应用区。
擦除的存储分区大小,与接收的固件数据大小相同。
进一步的,上述擦除分区是指擦除该分区的扇区。在服务器向处理器发送的第一数据帧中,还可以包括升级数据的大小。相应的,处理器可以根据升级数据的大小擦除扇区,使擦除的大小与该升级数据的大小相同。处理器也可以读取第一数据帧中,第一固件数据的大小,并基于该数据大小擦除相应的扇区。
步骤209,将第一固件数据写入存储分区。
其中,处理器每接收到一个升级数据帧,就向擦除的存储分区写入该数据帧中包括的第一固件数据。
具体的,若将第一固件数据写入存储分区失败,则电子设备可以向服务器发送数据无效的指令,以使服务器再次发送恢复触发信息,从而重启升级流程。以保证电子设备在存储芯片未物理损坏的情况下成功升级固件。
在另一种实施方式中,处理器向需要存储分区内写入一帧数据后,就向服务器反馈写入结果信息,例如,写入成功或写入失败。若向服务器发送写入失败的信息,则服务器还可以根据该信息重新发送相应的数据帧。若服务器接收到的写入成功的信息,则服务器继续向处理器发送下一帧数据。通过上述设置,可以使处理器将全部的第一固件数据均成功写入需要存储分区为止。这里的存储分区是指目标固件所在的存储分区。
实际应用时,将目标固件对应的所有固件数据都成功写入存储分区后,更新目标固件的版本信息。处理器可以更新存储芯片中的固件标识,具体可以更新固件的版本号,例如从v1更新为v2。
图2为本发明另一示例性实施例示出的存储芯片的存储结构图。
如图2所示,本实施例提供的存储芯片,除了恢复区21以外,还可以包括:引导区22、参数存储区23、拷贝区24、代码数据缓存区25、应用区26。在本实施例,存储芯片也可以包括图中未示出的其他分区。
图2A为本发明又一示例性实施例示出的固件恢复方法流程图。
本实施例提供的固件恢复方法可以为包括图2所示的存储芯片的电子设备进行固件升级。可以由电子设备的处理器执行本实施例提供的方法。
如图2A所示,本实施例提供的固件恢复方包括:
步骤301,接收服务器发送的恢复触发信息。
若恢复触发信息与预设信息不同,则执行步骤302。
其中,当电子设备上电后,处理器可以先读取引导区22中引导固件,并运行该引导固件,实际应用过程中,引导固件可以命名为APP_Boot,引导区22可以命名为Boot区。可以根据引导固件确定存储芯片中的各个固件是否正常。并根据引导固件向服务器反馈是否存在异常的消息。以使服务器根据电子设备发送的消息确定恢复触发信息。具体的,若电子设备内的固件正常,则不会收到服务器发送的与预设信息相同的恢复触发信息。
步骤302,读取引导参数存储区中存储的引导参数。
其中,存储芯片中还设置有引导参数存储区23,用于存储引导参数。实际应用过程中,引导参数可以命名为Boot_Index,引导参数存储区23可以命名为Para区。若引导参数为伪,则执行步骤303,若引导参数为真,则执行步骤309。
步骤303,运行应用区存储的应用固件,根据应用固件向服务器发送登录请求。
存储芯片中还设置有应用区26,用于存储应用固件。实际应用过程中,应用固件可以命名为APP_Run,应用区26可以命名为RUN区。
具体的,应用固件可以是包括发送登录请求功能的程序。处理器可以读取并运行应用固件,进而根据应用固件向服务器发送登录请求。
登录请求可以包括存储芯片中的固件标识,以使服务器根据固件标识确定是否需要升级固件,并确定升级信息。登录请求中还可以包括电子设备标识,以使服务器确定将升级信息发送给哪台电子设备。登录请求中具体包括的内容与根据恢复固件向服务器发送的登录请求相同,不再赘述。
步骤304,接收服务器发送的升级信息。
步骤305,根据升级信息确定是否需要进行固件升级。
步骤304-305与步骤103-104类似,不再赘述。
若确定需要升级,则执行步骤306,否则,执行步骤311。
步骤306,接收服务器发送的包括第二固件数据的第二升级数据帧。
步骤307,擦除代码数据缓存区,将第二固件数据写入代码数据缓存区。
其中,若服务器发送的恢复触发信息与预设信息不一致,则可以认为电子设备内部存储的固件正常,此时,可以根据引导参数对电子设备进行正常的固件升级流程。
存储芯片中还设置有代码数据缓存区25,用于临时存储升级数据,实际应用过程中,代码数据缓存区25可以命名为Bak区。
具体的,处理器可以接收服务器发送的第二升级数据帧,并擦除代码数据缓存区25。具体擦除的扇区大小可以与第二固件数据大小相同。
在另一种实施方式中,若服务器确定需要升级固件,则可以在升级信息中写入需要升级数据的大小,处理器根据该数据大小擦除代码数据缓存区25的扇区,具体可以擦除与升级数据大小相同的扇区。
处理器还可以将第二固件数据写入代码数据缓存区25。处理器每接收一帧第二升级数据帧,就将其中的第二固件数据写入擦除的扇区。还可以向服务器反馈写入结果,如写入成功或失败的消息。
步骤308,将引导参数设置为真,并重启设备。
将全部的固件升级数据都写入代码数据缓存区25后,可以将引导参数存储区23中存储的引导参数设置为真,并重启电子设备。电子设备重启后,会继续执行步骤301-302的步骤,此时,步骤302中读取的引导参数会为真。
步骤309,运行拷贝区存储的拷贝固件,根据拷贝固件将代码数据缓存区中的固件数据写入目标固件所属的存储分区。
本实施例以目标固件为应用固件为例进行说明。引导参数用于表示代码数据缓存区25中是否存储有数据,若有,则引导参数为真,若没有,则引导参数为伪。
将第二固件数据全部写入代码数据缓存区25以后,处理器还将参数存储区23中的引导参数设置为真,以使电子设备再次上电或重启时,处理器可以读取到该引导参数为真,并运行拷贝区中存储的拷贝固件。
存储芯片中还设置有拷贝区24,用于存储拷贝固件。实际应用过程中,拷贝固件可以命名为APP_Cpy,拷贝区24可以命名为Cpy区。
处理器可以根据拷贝固件获取代码数据缓存区25中的固件数据,并将其写入应用区26。在写入之前,处理器也可以擦除应用区的扇区,具体擦除的大小与代码数据缓存区25中的固件数据大小相同。将固件全部写入应用区后26,就可以实现应用区26中的应用固件的升级。
步骤310,将引导参数设置为伪。
其中,当处理器将代码数据缓存区25的数据写入应用区26以后,可以将引导参数存储区23中的引导参数设置为伪,以使电子设备重启后,处理器能够读取到该引导参数为伪。
具体的,若应用区26中的固件升级完毕,那么存储芯片正常上电后,仍然会执行步骤301,此时,恢复触发信息与预设信息不同。进而执行步骤302,读取引导参数,此时读取的引导参数为伪,则根据应用固件向服务器发送登录请求,由于已经对固件进行了升级,因此,服务器回复的升级信息中为正常工作的模式,因此,会进入步骤311,正常运行应用固件。
图3为本发明一示例性实施例示出的固件恢复装置的结构图。
如图3所示,本实施例提供的固件恢复装置,包括:
接收模块31,用于接收所述服务器发送的恢复触发信息,若所述恢复触发信息与预设信息相同,则运行恢复区中存储的恢复固件;
发送模块32,用于根据所述恢复固件向所述服务器发送登录请求;
所述接收模块31还用于接收所述服务器发送的升级信息;
确定模块33,用于根据所述升级信息确定是否需要进行固件升级,若是,则根据所述升级信息确定需要升级的目标固件;
升级模块34,用于接收所述服务器发送的升级数据,并升级所述目标固件。
本实施例提供的固件恢复装置的具体原理和实现方式均与图1A所示的实施例类似,此处不再赘述。
本实施例还提供另一种固件恢复装置,在上述固件恢复装置的基础上,若确定模块33根据所述升级信息确定不需要进行固件升级,则发送模块32继续执行根据所述恢复固件向所述服务器发送登录请求的步骤。
所述登录请求包括:设备标识、固件标识;以使所述服务器根据所述固件标识、所述设备标识确定所述升级信息及所述升级信息对应的设备。
所述升级模块34具体用于:
接收所述服务器发送的包括第一固件数据的第一升级数据帧;
擦除所述目标固件所属的存储分区;
将所述第一固件数据写入所述存储分区。
擦除的所述存储分区大小,与接收的所述固件数据大小相同。
若将所述固件数据写入所述存储分区失败,则所述升级模块34还用于:
向所述服务器发送数据无效的指令,以使所述服务器再次发送所述恢复触发信息。
所述升级模块34还将所述目标固件对应的所有固件数据都成功写入所述存储分区后,还用于更新所述目标固件的版本信息。
若所述接收模块确定升级信息与所述预设信息不同,则所述发送模块32还用于:
读取引导参数存储区中存储的引导参数;
若所述引导参数是伪,则运行应用区存储的应用固件,并根据所述应用固件执行向所述服务器发送所述登录请求的步骤。
所升级模块34还用于:
接收所述服务器发送的包括第二固件数据的第二升级数据帧;
擦除代码数据缓存区;
将所述第二固件数据写入所述代码数据缓存区;
将所述引导参数设置为真,并重启设备。
若所述引导参数为真,则所述升级模块还用于:
运行拷贝区存储的拷贝固件,根据所述拷贝固件将所述代码数据缓存区中的所述固件数据写入所述目标固件所属的存储分区;
将所述引导参数设置为伪。
若根据所述升级信息确定不需要进行固件升级,则所述升级模块正常运行所述应用固件。
本实施例提供的固件恢复装置的具体原理和实现方式均与图1B-2A所示的实施例类似,此处不再赘述。
本实施例还提供一种电子设备,包括:处理器、存储芯片,所述存储芯片包括分区存储结构;
所述处理器用于执行如上所述任一种固件恢复方法。
其中,述存储芯片包括分区存储结构如图1或图2所示的实施例相似,不再赘述。
本实施例还提供一种固件恢复系统,包括服务器、如上所述的电子设备。
服务器用于向电子设备供电,并在电子设备出现异常断电的情况时,向电子设备发送预设信号。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种固件恢复方法,其特征在于,包括:
接收服务器发送的恢复触发信息,若所述恢复触发信息与预设信息相同,则运行恢复区中存储的恢复固件;
根据所述恢复固件向所述服务器发送登录请求;
接收所述服务器发送的升级信息;
根据所述升级信息确定是否需要进行固件升级,若是,则根据所述升级信息确定需要升级的目标固件;
接收所述服务器发送的升级数据,并升级所述目标固件。
2.根据权利要求1所述的方法,其特征在于,若根据所述升级信息确定不需要进行固件升级,则继续执行根据所述恢复固件向所述服务器发送登录请求的步骤。
3.根据权利要求1所述的方法,其特征在于,所述接收所述服务器发送的升级数据,升级所述目标固件,包括:
接收所述服务器发送的包括第一固件数据的第一升级数据帧;
擦除所述目标固件所属的存储分区;
将所述第一固件数据写入所述存储分区。
4.根据权利要求3所述的方法,其特征在于,将所述目标固件对应的所有固件数据都成功写入所述存储分区后,更新所述目标固件的版本信息。
5.根据权利要求1所述的方法,其特征在于,若所述升级信息与所述预设信息不同,则所述方法还包括:
读取引导参数存储区中存储的引导参数;
若所述引导参数是伪,则运行应用区存储的应用固件,并根据所述应用固件执行向所述服务器发送所述登录请求的步骤。
6.根据权利要求5所述的方法,其特征在于,所述升级所述目标固件,包括:
接收所述服务器发送的包括第二固件数据的第二升级数据帧;
擦除代码数据缓存区;
将所述第二固件数据写入所述代码数据缓存区;
将所述引导参数设置为真,并重启设备。
7.根据权利要求6所述的方法,其特征在于,若所述引导参数为真,则所述升级所述目标固件,还包括:
运行拷贝区存储的拷贝固件,根据所述拷贝固件将所述代码数据缓存区中的所述固件数据写入所述目标固件所属的存储分区;
将所述引导参数设置为伪。
8.一种固件恢复装置,其特征在于,包括:
接收模块,用于接收服务器发送的恢复触发信息,若所述恢复触发信息与预设信息相同,则运行恢复区中存储的恢复固件;
发送模块,用于根据所述恢复固件向所述服务器发送登录请求;
所述接收模块还用于接收所述服务器发送的升级信息;
确定模块,用于根据所述升级信息确定是否需要进行固件升级,若是,则根据所述升级信息确定需要升级的目标固件;
升级模块,用于接收所述服务器发送的升级数据,并升级所述目标固件。
9.一种电子设备,其特征在于,包括:
处理器、存储芯片,所述存储芯片包括分区存储结构;
所述处理器用于执行如权利要求1-7任一项所述的固件恢复方法。
10.一种固件恢复系统,其特征在于,包括:
服务器、如权利要求9所述的电子设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811296657.1A CN109634631A (zh) | 2018-11-01 | 2018-11-01 | 固件恢复方法、装置、电子设备及固件恢复系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811296657.1A CN109634631A (zh) | 2018-11-01 | 2018-11-01 | 固件恢复方法、装置、电子设备及固件恢复系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109634631A true CN109634631A (zh) | 2019-04-16 |
Family
ID=66067084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811296657.1A Pending CN109634631A (zh) | 2018-11-01 | 2018-11-01 | 固件恢复方法、装置、电子设备及固件恢复系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109634631A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258608A (zh) * | 2020-01-16 | 2020-06-09 | 宁波三星医疗电气股份有限公司 | 终端设备的软件升级方法、装置和电子系统 |
CN111399888A (zh) * | 2020-03-11 | 2020-07-10 | 北京百度网讯科技有限公司 | 音频处理芯片的处理方法、装置及电子设备 |
CN116847019A (zh) * | 2023-07-12 | 2023-10-03 | 荣耀终端有限公司 | 通讯异常处理方法、电子设备和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040068334A1 (en) * | 2000-08-10 | 2004-04-08 | Mustek Systems Inc. | Method for updating firmware of computer device |
CN106610840A (zh) * | 2015-10-22 | 2017-05-03 | 深圳市中兴微电子技术有限公司 | 一种无线固件升级方法及系统 |
CN107329775A (zh) * | 2017-05-25 | 2017-11-07 | 杭州赫智电子科技有限公司 | 一种wifi固件烧录方法 |
CN107608705A (zh) * | 2017-09-29 | 2018-01-19 | 深圳市瑞科慧联科技有限公司 | 一种无线wifi视频设备及其固件升级方法 |
CN107608701A (zh) * | 2017-10-20 | 2018-01-19 | 深圳市道通科技股份有限公司 | 一种升级固件的方法和装置 |
CN107634859A (zh) * | 2017-09-30 | 2018-01-26 | 飞天诚信科技股份有限公司 | 一种固件升级方法及装置 |
-
2018
- 2018-11-01 CN CN201811296657.1A patent/CN109634631A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040068334A1 (en) * | 2000-08-10 | 2004-04-08 | Mustek Systems Inc. | Method for updating firmware of computer device |
CN106610840A (zh) * | 2015-10-22 | 2017-05-03 | 深圳市中兴微电子技术有限公司 | 一种无线固件升级方法及系统 |
CN107329775A (zh) * | 2017-05-25 | 2017-11-07 | 杭州赫智电子科技有限公司 | 一种wifi固件烧录方法 |
CN107608705A (zh) * | 2017-09-29 | 2018-01-19 | 深圳市瑞科慧联科技有限公司 | 一种无线wifi视频设备及其固件升级方法 |
CN107634859A (zh) * | 2017-09-30 | 2018-01-26 | 飞天诚信科技股份有限公司 | 一种固件升级方法及装置 |
CN107608701A (zh) * | 2017-10-20 | 2018-01-19 | 深圳市道通科技股份有限公司 | 一种升级固件的方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258608A (zh) * | 2020-01-16 | 2020-06-09 | 宁波三星医疗电气股份有限公司 | 终端设备的软件升级方法、装置和电子系统 |
CN111399888A (zh) * | 2020-03-11 | 2020-07-10 | 北京百度网讯科技有限公司 | 音频处理芯片的处理方法、装置及电子设备 |
CN116847019A (zh) * | 2023-07-12 | 2023-10-03 | 荣耀终端有限公司 | 通讯异常处理方法、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9110843B2 (en) | Rack and method thereof for simultaneously updating basic input output systems | |
CN109634631A (zh) | 固件恢复方法、装置、电子设备及固件恢复系统 | |
EP3147782A1 (en) | Method and device for upgrading software | |
CN106250192B (zh) | 上位机的软件升级方法及系统 | |
CN106325929B (zh) | 一种固件升级方法、固件升级装置、冰箱和服务端 | |
CN104899065A (zh) | 一种可批量软件在线恢复与软件在线升级的方法和系统 | |
CN112612524A (zh) | Linux系统启动的方法、装置、设备及存储介质 | |
CN109002310A (zh) | 固件升级方法 | |
CN103942080A (zh) | 电子设备信息传输方法 | |
CN103713925A (zh) | 避免存储阵列在升级过程的业务中断方法和装置 | |
CN109982355B (zh) | 保存和恢复网络通路的方法及其装置、终端和存储介质 | |
CN102693142A (zh) | 网络适配方法及装置 | |
CN112134765A (zh) | Wifi回连测试方法、装置、测试终端和可读存储介质 | |
CN115840579A (zh) | Fpga远程更新方法、系统、贴片机及存储介质 | |
CN109634659A (zh) | 一种对bmc进行控制的方法、装置、设备以及存储介质 | |
CN115658113A (zh) | 服务器自启动方法、装置、可读存储介质及电子设备 | |
CN103677956A (zh) | 一种在计算设备上模拟移动设备应用运行的方法和装置 | |
CN116560678A (zh) | 固件更新方法、装置、存储介质及电子装置 | |
CN107092509B (zh) | 一种使用bmc更新固件的方法 | |
CN104346209A (zh) | 基板管理控制器的更新方法 | |
CN109684134B (zh) | 用于在多个设备间快速部署固件设定的方法及服务器 | |
CN109901117B (zh) | 一种雷达重启方法及装置 | |
CN113268255A (zh) | 售后程序写入方法、装置和系统 | |
CN109254782B (zh) | 操作系统安装方法和装置 | |
CN106708549B (zh) | 一种手持终端的ota升级方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190416 |
|
RJ01 | Rejection of invention patent application after publication |