CN115129349A - 电控固件的在线升级方法及装置、设备、介质 - Google Patents
电控固件的在线升级方法及装置、设备、介质 Download PDFInfo
- Publication number
- CN115129349A CN115129349A CN202210865683.1A CN202210865683A CN115129349A CN 115129349 A CN115129349 A CN 115129349A CN 202210865683 A CN202210865683 A CN 202210865683A CN 115129349 A CN115129349 A CN 115129349A
- Authority
- CN
- China
- Prior art keywords
- display panel
- firmware
- wifi module
- area
- upgrading
- 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
Images
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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种电控固件的在线升级方法及装置、设备、介质,方法包括:若确定云端上存储有所述电控固件的升级版本,则将所述云端上的所述升级版本的电控固件作为升级固件下载至所述WIFI模块的第一备份区中,通知显示板将当前版本的电控固件作为备份固件存储至所述WIFI模块的第二备份区中;向所述显示板发送固件升级指令,以使所述显示板进入引导模式;将所述第一备份区中的升级固件逐帧发送至显示板;在传输完成后通知所述显示板检测所述升级固件的启动运行情况;若接收到所述固件重传指令,则将所述第二备份区中的备份固件发送至所述显示板,在传输完成后通知所述显示板退出引导模式,结束升级。本发明实施例可以提高在线升级的稳定性、可靠性。
Description
技术领域
本发明涉及智能家电技术领域,尤其是涉及一种电控固件的在线升级方法及装置、设备、介质。
背景技术
在线升级电控固件不仅能够持续升级和扩展产品功能,丰富产品的商业模式,而且能够远程解决已售产品的软件缺陷,减少售后压力,提升品牌形象。同时在产品硬件满足需求的情况下,渐进式开发,以加快产品上市进度,实现互联网式的敏捷研发。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本发明提供了一种电控固件的在线升级方法及装置、设备、介质。
第一方面,本发明实施例提供一种电控固件的在线升级方法,所述方法由智能家电的WIFI模块执行,所述方法包括:
确定云端上是否存储有所述电控固件的升级版本,若是,则将所述云端上的所述升级版本的电控固件作为升级固件下载至所述WIFI模块的第一备份区中,并通知显示板将当前版本的电控固件作为备份固件存储至所述WIFI模块的第二备份区中;
向所述显示板发送固件升级指令,以使所述显示板进入引导模式;
将所述第一备份区中的升级固件逐帧发送至进入引导模式的显示板;
在传输完成后通知所述显示板检测所述升级固件的启动运行情况;其中,若所述启动运行情况为成功,则所述显示板退出引导模式并通知所述WIFI模块;若所述启动运行情况为失败,则向所述WIFI模块发送固件重传指令;
若接收到所述启动运行情况为成功的通知消息,则结束本次升级;若接收到所述固件重传指令,则将所述第二备份区中的备份固件逐帧发送至所述显示板,在传输完成后通知所述显示板退出引导模式,并结束本次升级,并结束本次升级。
第二方面,本发明实施例提供一种电控固件的在线升级装置,所述装置位于智能家电的WIFI模块上,所述装置包括:
第一确定模块,用于确定云端上是否存储有所述电控固件的升级版本,若是,则将所述云端上的所述升级版本的电控固件作为升级固件下载至所述WIFI模块的第一备份区中,并通知显示板将当前版本的电控固件作为备份固件存储至所述WIFI模块的第二备份区中;
第一发送模块,用于向所述显示板发送固件升级指令,以使所述显示板进入引导模式;
第二发送模块,用于将所述第一备份区中的升级固件逐帧发送至进入引导模式的显示板;
第一通知模块,用于在传输完成后通知所述显示板检测所述升级固件的启动运行情况;其中,若所述启动运行情况为成功,则所述显示板退出引导模式并通知所述WIFI模块;若所述启动运行情况为失败,则向所述WIFI模块发送固件重传指令;
第三发送模块,用于若接收到所述启动运行情况为成功的通知消息,则结束本次升级;若接收到所述固件重传指令,则将所述第二备份区中的备份固件逐帧发送至所述显示板,在传输完成后通知所述显示板退出引导模式,并结束本次升级。
第三方面,本发明一个实施例提供一种计算设备,该设备包括:至少一个存储器和至少一个处理器;所述至少一个存储器,用于存储机器可读程序;所述至少一个处理器,用于调用所述机器可读程序,执行第一方面提供的方法。
第四方面,本发明实施例提供一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面提供的方法。
本发明实施例提供的电控固件的在线升级方法及装置、设备、介质,在云端上存储有升级固件时,将升级固件下载到WIFI模块的第一备份区中,将备份固件传输到WIFI模块的第二备份区中。然后WIFI模块向显示板发送固件升级指令,使得显示板进入引导模式。进而WIFI模块向进入引导模式的显示板发送升级固件,在传输完成后,通知显示板进行功能检测,如果检测成功,则说明固件升级成功,此时显示板退出引导模式,结束本次升级。如果检测失败,则说明固件升级失败,此时显示板向WIFI模块发送固件重传指令,使得WIFI模块将备份固件回传到显示板,这样使得显示板回到升级流程之前的状态,以避免因升级失败而影响智能家电的正常使用。可见,在升级固件传输完成后,启动了升级固件检测功能,检测升级固件的启动运行情况,以防止因人为误操作导致产品不可用的情况发生。同时,在升级中遇到异常断电、固件校验错误、flash写入错误等情况时,能够恢复到显示板之前的状态,防止显示板失效,大大提高了在线升级的稳定性、可靠性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例中电控固件的在线升级方法的流程示意图;
图2为本发明一个实施例中WIFI模块和显示板的flash的分区示意图;
图3为本发明一个实施例中电控固件的在线升级方法的流程示意图;
图4为本发明一个实施例中电控固件的在线升级装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一方面,本发明实施例提供一种电控固件的在线升级方法。该方法由智能家电的WIFI模块执行。
参见图1,本发明实施例提供的在线升级方法包括如下步骤S110~S150:
S110、确定云端上是否存储有所述电控固件的升级版本,若是,则将所述云端上的所述升级版本的电控固件作为升级固件下载至所述WIFI模块的第一备份区中,并通知显示板将当前版本的电控固件作为备份固件存储至所述WIFI模块的第二备份区中;
其中,在S110中确定云端是否存储有电控固件的升级版本,即是否存储有升级固件,如果存储有升级固件则执行后续的升级流程,否则不执行后续的升级流程。
例如,在云端预先部署好升级固件,当智能家电一上电,WIFI模块就通过查新接口检测云端上是否有新版本存在。
具体的,S110中所述确定云端上是否存储有所述电控固件的升级版本,可以包括:从所述显示板中获取所述当前版本的电控固件对应的软硬件信息,并根据所述软硬件信息查询所述云端中是否存在所述电控固件的升级版本。
其中,软硬件信息可以包括多种信息,例如,所述智能家电的SN号、电控固件的型号、电控固件的软件版本号、硬件版本号等。其中,SN号为智能家电的产品序列号。电控固件的型号不同,电控固件的功能有差异。软件版本号体现的是电控固件的版本,硬件版本号体现的是电控固件的所在硬件显示板的版本。
具体的,在从显示板上获取当前版本的电控固件的软硬件信息外,还通过查新接口获取云端上电控固件的软硬件信息,进而进行对比分析,是否存在升级版本。
例如,如果云端中存在满足预设条件的电控固件,则认为云端中存在所述电控固件的升级版本。其中预设条件为:云端中的电控固件对应的智能家电的SN号、云端中的电控固件的型号、云端中的电控固件的硬件版本号分别与从所述显示板中获取的智能家电的SN号、电控固件的型号、电控固件的硬件版本号一一对应相同,且云端中的电控固件的软件版本号高于从所述显示板中获取的软件版本号。
在S110中,如果确定云端具有升级版本,则将升级版本的电控固件作为升级固件下载到WIFI模块的第一备份区中,还通知显示板,使得显示板将显示板中当前存储的电控固件作为备份固件传输到WIFI模块中的第二备份区中。
其中,第一备份区中存储的是升级固件,是升级版本的电控固件。在第二备份区中存储的是备份固件,是当前版本的电控固件,当前版本低于升级版本。
其中,第一备份区和第二备份区不交叉、不重叠。
在一个实施例中,参见图2,可以看出WIFI模块和显示板的flash的分区对比情况。所述显示板的flash分为第一区和第二区,所述显示板的第一区中存储有第一引导程序,所述显示板的第二区中存储有电控固件;所述WIFI模块的flash分为第一区、第二区和备份区,所述WIFI模块的第一区中存储有第二引导程序,所述WIFI模块的第二区中存储有WIFI固件,所述备份区包括第一备份区和第二备份区。
其中,考虑到成本控制的原因,智能家电如冰箱、洗衣机等的显示板一般为64KBflash,但是电控固件需要60KB,所以没有空间作为备份区。所以显示板的flash分为第一区和第二区,该第一区用来存储第一引导程序,即bootloader程序,运行bootloader程序可以使得显示板进入引导模式,在引导模式下才能对第二区中的电控固件进行更新。第二区用来存储电控固件和启动运行电控固件。
其中,WIFI模块的flash一般为4MB,空间比较大,因此可以分为三个区,第一区、第二区和备份区,第一区中存储第二引导程序,即bootloader程序,运行该程序时可以使得WIFI模块进入引导模式,在引导模式下才能对第二区中的WIFI固件进行更新升级。第二区存储WIFI固件,启动并运行WIFI固件。备份区的空间大小在450KB左右,足够放置两个固件,因此被分为两部分:第一备份区和第二备份区,第一备份区中存放从云端下载的升级固件,第二备份区中存放显示板上的备份固件。
可理解的是,在电控固件或WIFI固件升级时,升级的固件独占备份区的使用权。在升级结束后,再让出权限。显示板和WIFI模块可以分时使用WIFI模块的备份区。
S120、向所述显示板发送固件升级指令,以使所述显示板进入引导模式;
即,在执行完毕S110后,WIFI模块向显示板发送固件升级指令,当显示板接收到固件升级指令后,进入到引导模式。
在一个实施例中,WIFI模块向显示板发送固件升级指令后,在执行S130之前,还可以将传输通道由当前的第一波特率切换到第二波特率;其中,所述第二波特率高于所述第一波特率。
其中,第一波特率为初始的默认的波特率,在非升级状态下为第一波特率,在升级状态下为第二波特率,第二波特率高于第一波特率,这样在传输固件升级包时可以提高传输速度。
当然,在结束升级后,需要将传输通道切换回第一波特率。
也就是说,在后续步骤中,如果WIFI模块接收到所述显示板发送来的所述启动运行情况为成功的通知信息后,表明升级成功,此时WIFI模块可以将传输通道切换回所述第一波特率。或者,WIFI模块在所述备份固件传输完成后将传输通道切换回所述第一波特率。即,升级失败,将备份固件传输到显示板上,使得显示板仍然运行备份固件,恢复到升级流程之前的状态,此时也需要将传输通道切换回第一波特率。总之,不论升级成功还是失败,只要本次升级流程结束,就将传输通道切换回初始的默认波特率。
在一个实施例中,基于图2中的分区方式,所述显示板进入引导模式的过程可以包括:所述显示板在接收到所述固件升级指令后,进行重启,在重启后切换至所述显示板的第一区中运行该第一区中的第一引导程序,使得所述显示板进入引导模式。
也就是说,WIFI模块向显示板发送固件升级指令后,显示板接收到该固件升级指令,之后显示板进行重启,在重启后,显示板切换至其第一区中运行第一引导程序,这样可以使得显示板进入到引导模式,进而使得显示板在引导模式下进行升级操作。
对应的,在下文中提到显示板在一些情况下需要退出引导模式,显示板退出引导模式的过程可以包括:显示板切换至所述显示板的第二区,停止运行所述显示板的第一区中的第一引导程序,使得所述显示板退出引导模式。
也就是说,显示板切换至其第二区中,启动运行第二区中的电控固件,即停止运行第一区中的第一引导程序,从而使得显示板退出引导模式。
可见,在电控固件的升级过程中,仅涉及到第一引导程序,而如果是针对WIFI模块中的WIFI程序进行升级,则涉及到的是第二引导程序。
S130、将所述第一备份区中的升级固件逐帧发送至进入引导模式的显示板;
在一个实施例中,为了保证传输的正确性,S130具体可以包括如下步骤S131~S132:
S131、在向所述显示板发送所述升级固件的每一帧数据后,接收所述显示板发送来的反馈信息;
S132、若所述反馈信息为ACK信息,则向所述显示板发送所述升级固件的下一帧数据;若所述反馈信息为NAK信息,则向所述显示板重新发送当前帧数据;若所述反馈信息为CAN信息,则结束升级,并将传输通道切换回所述第一波特率;
其中,所述显示板在接收到所述每一帧数据后,对数据帧进行校验,在校验成功后向所述WIFI模块反馈ACK信息;在校验失败后向所述WIFI模块反馈NAK信息;若对同一帧数据的校验失败次数达到第一次数后,向所述WIFI模块反馈CAN信息。
也就是说,WIFI模块每传输一帧数据后,等待显示板的回复,根据显示板的回复信息确定是发送下一帧数据,还是重新发送本帧数据,或者结束升级。具体的,当WIFI模块向显示板发送来一帧数据之后,显示板收到这一帧数据,然后对这一帧数据进行校验,校验后发现该帧数据正确,则向WIFI模块反馈ACK信息,该信息表征校验正确,ACK信息即为确认信息。当WIFI模块接收到显示板发送来的ACK信息后,发送下一帧数据。如果显示板经过校验后发现数据存在错误,则发送NAK信息,该NAK信息表明显示板接收到了数据但是数据存在错误,WIFI模块接收到NAK信息后,会重新发送本帧数据。但是如果显示板连续多次接收到的数据经过校验发现都存在错误,则向WIFI模块反馈CAN信息,该信息表明对于同一帧数据的校验次数达到第一次数且均为错误,当WIFI模块接收到CAN信息,则结束升级,从第二波特率切换到第一波特率,即结束本次的升级。
其中,第一次数可以根据需要设置,例如,设置为10。
S140、在传输完成后通知所述显示板检测所述升级固件的启动运行情况;其中,若所述启动运行情况为成功,则所述显示板退出引导模式并通知所述WIFI模块;若所述启动运行情况为失败,则向所述WIFI模块发送固件重传指令;
即,在升级固件传输结束后,WIFI模块向显示板发送检测通知。当显示板接收到检测通知后,检测升级固件的启动运行情况。如果检测结果为成功,则显示板退出引导模式,并通知WIFI模块。WIFI模块接收到通知后,会结束升级,将传输通道切换回第一波特率。而如果检测结果为失败,则显示板会向WIFI模块发送固件传输指令。
具体的,显示板在接收到所述WIFI模块发送来的检测启动运行情况的通知信息后,所述显示板可以切换至所述显示板的第二区中,启动所述升级固件并运行所述升级固件,并在检测结束后切换至所述显示板的第一区中,回到所述引导模式。
也就是说,显示板在接收到WIFI模块的检测通知后,显示板切换至其第一区中,启动、运行升级固件,如果启动成功且在运行中没有发生异常或者中断,则说明固件升级成功。如果检测成功,则显示板退出引导模式,结束升级。如果启动失败,或者运行过程中发生异常或者中断等情况,则说明固件升级失败。
S150、若接收到所述启动运行情况为成功的通知消息,则结束本次升级;若接收到所述固件重传指令,则将所述第二备份区中的备份固件逐帧发送至所述显示板,在传输完成后通知所述显示板退出引导模式,并结束本次升级。
例如,当WIFI模块接收到检测成功的通知后,结束升级,将传输通道切换回第一波特率。如果WIFI模块接收到的是固件重传指令,则WIFI模块得知检测失败,因此将第二备份区中的备份固件回传给显示板,在传输结束后,显示板退出引导模式,结束本次升级,可见显示板恢复到了执行升级流程之前的状态。
其中,将所述第二备份区中的备份固件逐帧发送至所述显示板的过程可以参考WIFI模块将升级固件逐帧发送至显示板的过程。具体的,WIFI模块每向显示板发送备份固件的一帧数据后,都等待显示板的回复消息,如果回复的是ACK信息,则表明显示板对该帧数据的校验是正确的,因此WIFI模块发送备份固件的下一帧。如果回复的是NAK信息,则说明显示板接收到该帧数据但校验失败,因此WIFI模块重新发送本帧数据。如果回复的是CAN信息,表明显示板连续多次对同一帧数据的校验都是错误的,因此WIFI模块结束升级,将传输通道切换回第一波特率。同时告知显示板退出引导模式,并结束升级。
在本发明实施例中,在升级固件传输之后,启动了固件检测功能,检测固件的启动、运行情况,以防止因人为误操作导致产品不可用的情况发生。
举例来说,参见图3,本发明实施例提供的升级流程大致包括如下步骤:
a、在云端上预先部署好升级固件;
b、一上电,WIFI模块通过查新接口去检测云端上是否有升级版本;如果有,则从云端下载升级固件到WIFI模块的flash的第一备份区中;
c、通知显示板将备份固件传输到WIFI模块的flash的第二备份区中;
d、WIFI模块向显示板发送固件升级指令,并同时切换第二波特率。
e、显示板收到固件升级指令后,重启,切换至第一区中执行第一引导程序,进入引导模式;
f、WIFI模块向显示板传输第一备份区中的升级固件:从第一帧数据开始传输,待显示板接收到第一帧数据后,对接收到的数据进行校验,校验通过后,WIFI模块接着传输第二帧数据、第三帧数据、......第N帧数据,......,直至升级固件传输完成。其中,每一帧数据校验通过后,WIFI模块才回发送下一帧数据。
g、显示板切换至第二区中启动、运行升级固件,以检测升级固件是否升级成功。检测结束后回到第一区中,显示板重新回到引导模式。如果检测结果为成功,则通知WIFI模块,WIFI模块结束升级,切换至第一波特率。同时,显示板也退出引导模式,进行常规控制。如果启动或运行出现异常,则执行h:
h、显示板向WIFI模块发送固件重传指令,请求WIFI模块回传备份固件;在备份固件传输完成后,结束升级,退出引导模式,并通知WIFI模块结束升级,切换回第一波特率。
综上,本发明实施例提供的升级方法,在云端上存储有升级固件时,将升级固件下载到WIFI模块的第一备份区中,将备份固件传输到WIFI模块的第二备份区中。然后WIFI模块向显示板发送固件升级指令,使得显示板进入引导模式。进而WIFI模块向进入引导模式的显示板发送升级固件,在传输完成后,通知显示板进行功能检测,如果检测成功,则说明固件升级成功,此时显示板退出引导模式,结束本次升级。如果检测失败,则说明固件升级失败,此时显示板向WIFI模块发送固件重传指令,使得WIFI模块将备份固件回传到显示板,这样使得显示板回到升级流程之前的状态,以避免因升级失败而影响智能家电的正常使用。可见,在升级固件传输完成后,启动了升级固件检测功能,检测升级固件的启动运行情况,以防止因人为误操作导致产品不可用的情况发生。同时,在升级中遇到异常断电、固件校验错误、flash写入错误等情况时,能够恢复到显示板之前的状态,防止显示板失效,大大提高了在线升级的稳定性、可靠性。
第二方面,本发明实施例提供一种电控固件的在线升级装置,所述装置位于智能家电的WIFI模块上,参见图4,所述装置100包括:
第一确定模块110,用于确定云端上是否存储有所述电控固件的升级版本,若是,则将所述云端上的所述升级版本的电控固件作为升级固件下载至所述WIFI模块的第一备份区中,并通知显示板将当前版本的电控固件作为备份固件存储至所述WIFI模块的第二备份区中;
第一发送模块120,用于向所述显示板发送固件升级指令,以使所述显示板进入引导模式;
第二发送模块130,用于将所述第一备份区中的升级固件逐帧发送至进入引导模式的显示板;
第一通知模块140,用于在传输完成后通知所述显示板检测所述升级固件的启动运行情况;其中,若所述启动运行情况为成功,则所述显示板退出引导模式并通知所述WIFI模块;若所述启动运行情况为失败,则向所述WIFI模块发送固件重传指令;
第三发送模块150,用于若接收到所述启动运行情况为成功的通知消息,则结束本次升级;若接收到所述固件重传指令,则将所述第二备份区中的备份固件逐帧发送至所述显示板,在传输完成后通知所述显示板退出引导模式,并结束本次升级。
在一个实施例中,第一确定模块具体用于:从所述显示板中获取所述当前版本的电控固件对应的软硬件信息,并根据所述软硬件信息查询所述云端中是否存在所述电控固件的升级版本。
在一个实施例中,所述显示板的flash分为第一区和第二区,所述显示板的第一区中存储有第一引导程序,所述显示板的第二区中存储有电控固件;所述WIFI模块的flash分为第一区、第二区和备份区,所述WIFI模块的第一区中存储有第二引导程序,所述WIFI模块的第二区中存储有WIFI固件,所述备份区包括第一备份区和第二备份区。
进一步的,第一发送模块还用于:在所述向所述显示板发送固件升级指令之后以及第二发送模块执行将所述第一备份区中的升级固件逐帧发送至进入引导模式的显示板之前,将传输通道由当前的第一波特率切换到第二波特率;其中,所述第二波特率高于所述第一波特率;
对应的,第三发送模块还用于:若接收到所述显示板发送来的所述启动运行情况为成功的通知信息后,将传输通道切换回所述第一波特率;或者,在所述备份固件传输完成后,将传输通道切换回所述第一波特率。
进一步的,所述显示板进入引导模式的过程包括:所述显示板在接收到所述固件升级指令后,进行重启,在重启后切换至所述显示板的第一区中运行该第一区中的第一引导程序,使得所述显示板进入引导模式;对应的,所述显示板退出引导模式,包括:所述显示板切换至所述显示板的第二区,停止运行所述显示板的第一区中的第一引导程序,使得所述显示板退出引导模式。
在一个实施例中,所述显示板检测所述升级固件的启动运行情况,包括:显示板在接收到所述WIFI模块发送来的检测启动运行情况的通知信息后,所述显示板切换至所述显示板的第二区中,启动所述升级固件并运行所述升级固件,并在检测结束后切换至所述显示板的第一区中,回到所述引导模式。
在一个实施例中,第二发送模块具体包括:
第一发送单元,用于在向所述显示板发送所述升级固件的每一帧数据后,接收所述显示板发送来的反馈信息;
信息接收单元,用于若所述反馈信息为ACK信息,则向所述显示板发送所述升级固件的下一帧数据;若所述反馈信息为NAK信息,则向所述显示板重新发送当前帧数据;若所述反馈信息为CAN信息,则结束升级,并将传输通道切换回所述第一波特率;
其中,所述显示板在接收到所述每一帧数据后,对数据帧进行校验,在校验成功后向所述WIFI模块反馈ACK信息;在校验失败后向所述WIFI模块反馈NAK信息;若对同一帧数据的校验失败次数达到第一次数后,向所述WIFI模块反馈CAN信息。
可理解的是,本发明实施例提供的装置中有关内容的解释、具体实施方式、有益效果、举例等内容可以参见第一方面提供的方法中的相应部分,此处不再赘述。
第三方面,本发明实施例提供一种计算设备,该设备包括:至少一个存储器和至少一个处理器;所述至少一个存储器,用于存储机器可读程序;所述至少一个处理器,用于调用所述机器可读程序,执行第一方面提供的方法。
可理解的是,本发明实施例提供的设备中有关内容的解释、具体实施方式、有益效果、举例等内容可以参见第一方面提供的方法中的相应部分,此处不再赘述。
第四方面,本发明实施例提供一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面提供的方法。
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
可理解的是,本发明实施例提供的计算机可读介质中有关内容的解释、具体实施方式、有益效果、举例等内容可以参见第一方面提供的方法中的相应部分,此处不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种电控固件的在线升级方法,其特征在于,所述方法由智能家电的WIFI模块执行,所述方法包括:
确定云端上是否存储有所述电控固件的升级版本,若是,则将所述云端上的所述升级版本的电控固件作为升级固件下载至所述WIFI模块的第一备份区中,并通知显示板将当前版本的电控固件作为备份固件存储至所述WIFI模块的第二备份区中;
向所述显示板发送固件升级指令,以使所述显示板进入引导模式;
将所述第一备份区中的升级固件逐帧发送至进入引导模式的显示板;
在传输完成后通知所述显示板检测所述升级固件的启动运行情况;其中,若所述启动运行情况为成功,则所述显示板退出引导模式并通知所述WIFI模块;若所述启动运行情况为失败,则向所述WIFI模块发送固件重传指令;
若接收到所述启动运行情况为成功的通知消息,则结束本次升级;若接收到所述固件重传指令,则将所述第二备份区中的备份固件逐帧发送至所述显示板,在传输完成后通知所述显示板退出引导模式,并结束本次升级,并结束本次升级。
2.根据权利要求1所述的方法,其特征在于,所述确定云端上是否存储有所述电控固件的升级版本,包括:
从所述显示板中获取所述当前版本的电控固件对应的软硬件信息,并根据所述软硬件信息查询所述云端中是否存在所述电控固件的升级版本。
3.根据权利要求1所述的方法,其特征在于,所述显示板的flash分为第一区和第二区,所述显示板的第一区中存储有第一引导程序,所述显示板的第二区中存储有电控固件;所述WIFI模块的flash分为第一区、第二区和备份区,所述WIFI模块的第一区中存储有第二引导程序,所述WIFI模块的第二区中存储有WIFI固件,所述备份区包括第一备份区和第二备份区。
4.根据权利要求3所述的方法,其特征在于,在所述向所述显示板发送固件升级指令之后以及在所述将所述第一备份区中的升级固件逐帧发送至进入引导模式的显示板之前,所述方法还包括:将传输通道由当前的第一波特率切换到第二波特率;其中,所述第二波特率高于所述第一波特率;
对应的,所述方法还包括:若接收到所述显示板发送来的所述启动运行情况为成功的通知信息后,将传输通道切换回所述第一波特率;或者,在所述备份固件传输完成后,将传输通道切换回所述第一波特率。
5.根据权利要求3所述的方法,其特征在于,所述显示板进入引导模式的过程包括:所述显示板在接收到所述固件升级指令后,进行重启,在重启后切换至所述显示板的第一区中运行该第一区中的第一引导程序,使得所述显示板进入引导模式;
对应的,所述显示板退出引导模式,包括:所述显示板切换至所述显示板的第二区,停止运行所述显示板的第一区中的第一引导程序,使得所述显示板退出引导模式。
6.根据权利要求5所述的方法,其特征在于,所述显示板检测所述升级固件的启动运行情况,包括:显示板在接收到所述WIFI模块发送来的检测启动运行情况的通知信息后,所述显示板切换至所述显示板的第二区中,启动所述升级固件并运行所述升级固件,并在检测结束后切换至所述显示板的第一区中,回到所述引导模式。
7.根据权利要求1所述的方法,其特征在于,所述将所述第一备份区中的升级固件逐帧发送至进入引导模式的显示板,包括:
在向所述显示板发送所述升级固件的每一帧数据后,接收所述显示板发送来的反馈信息;
若所述反馈信息为ACK信息,则向所述显示板发送所述升级固件的下一帧数据;若所述反馈信息为NAK信息,则向所述显示板重新发送当前帧数据;若所述反馈信息为CAN信息,则结束升级,并将传输通道切换回所述第一波特率;
其中,所述显示板在接收到所述每一帧数据后,对数据帧进行校验,在校验成功后向所述WIFI模块反馈ACK信息;在校验失败后向所述WIFI模块反馈NAK信息;若对同一帧数据的校验失败次数达到第一次数后,向所述WIFI模块反馈CAN信息。
8.一种电控固件的在线升级装置,其特征在于,所述装置位于智能家电的WIFI模块上,所述装置包括:
第一确定模块,用于确定云端上是否存储有所述电控固件的升级版本,若是,则将所述云端上的所述升级版本的电控固件作为升级固件下载至所述WIFI模块的第一备份区中,并通知显示板将当前版本的电控固件作为备份固件存储至所述WIFI模块的第二备份区中;
第一发送模块,用于向所述显示板发送固件升级指令,以使所述显示板进入引导模式;
第二发送模块,用于将所述第一备份区中的升级固件逐帧发送至进入引导模式的显示板;
第一通知模块,用于在传输完成后通知所述显示板检测所述升级固件的启动运行情况;其中,若所述启动运行情况为成功,则所述显示板退出引导模式并通知所述WIFI模块;若所述启动运行情况为失败,则向所述WIFI模块发送固件重传指令;
第三发送模块,用于若接收到所述启动运行情况为成功的通知消息,则结束本次升级;若接收到所述固件重传指令,则将所述第二备份区中的备份固件逐帧发送至所述显示板,在传输完成后通知所述显示板退出引导模式,并结束本次升级。
9.一种计算设备,其特征在于,该设备包括:至少一个存储器和至少一个处理器;其中:
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1~7任一项所述的方法。
10.一种计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210865683.1A CN115129349A (zh) | 2022-07-22 | 2022-07-22 | 电控固件的在线升级方法及装置、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210865683.1A CN115129349A (zh) | 2022-07-22 | 2022-07-22 | 电控固件的在线升级方法及装置、设备、介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115129349A true CN115129349A (zh) | 2022-09-30 |
Family
ID=83384348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210865683.1A Pending CN115129349A (zh) | 2022-07-22 | 2022-07-22 | 电控固件的在线升级方法及装置、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115129349A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117130639A (zh) * | 2023-10-26 | 2023-11-28 | 江苏华鲲振宇智能科技有限责任公司 | 一种bmc集群管理单板mcu固件升级方法及系统 |
-
2022
- 2022-07-22 CN CN202210865683.1A patent/CN115129349A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117130639A (zh) * | 2023-10-26 | 2023-11-28 | 江苏华鲲振宇智能科技有限责任公司 | 一种bmc集群管理单板mcu固件升级方法及系统 |
CN117130639B (zh) * | 2023-10-26 | 2024-03-08 | 江苏华鲲振宇智能科技有限责任公司 | 一种bmc集群管理单板mcu固件升级方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100419698C (zh) | 网络设备及监视其启动的方法 | |
CN105677398A (zh) | 一种通用的嵌入式计算机软件在线升级方法 | |
CN112612524A (zh) | Linux系统启动的方法、装置、设备及存储介质 | |
CN115129349A (zh) | 电控固件的在线升级方法及装置、设备、介质 | |
CN112463222A (zh) | 一种服务器bios与bmc之间的数据交互方法、装置及设备 | |
CN111800304A (zh) | 进程运行的监测方法、存储介质和虚拟装置 | |
CN115113901A (zh) | 智能家电的电控软件的远程升级方法及装置、介质 | |
US20190310842A1 (en) | Method for upgrading firmware of adapter, mobile terminal, and adapter thereof | |
CN106406963B (zh) | 一种Linux系统的初始化方法和装置 | |
CN111488246A (zh) | 一种cpld升级方法、装置、电子设备和可读存储介质 | |
CN116382745A (zh) | 一种固件加载升级的方法和装置 | |
CN115562900A (zh) | Amd服务器系统安装断电处理方法、装置、设备及介质 | |
CN114860292A (zh) | 终端设备固件升级控制方法、装置、计算机设备及介质 | |
CN115934390A (zh) | 处理应用程序崩溃的方法、系统和运行应用程序的设备 | |
CN114237722A (zh) | 一种系统的启动方法、装置、设备及工程车辆 | |
CN111475339A (zh) | 一种bios固件更新方法、装置、设备及存储介质 | |
CN111400094A (zh) | 一种服务器系统恢复出厂设置的方法、装置、设备及介质 | |
JPH08329006A (ja) | 障害通知方式 | |
CN111400076B (zh) | 一种宕机修复方法、装置、设备及存储介质 | |
CN116521201A (zh) | 电池包的软件升级方法和电池包 | |
CN109445831B (zh) | 焊机系统升级方法与焊机 | |
CN115473807A (zh) | 固件升级方法、设备、系统和存储介质 | |
CN114655140A (zh) | 一种车辆启动控制方法和相关装置 | |
CN117377518A (zh) | 用户状态切换方法、系统、设备、介质和计算机程序产品 | |
CN115857979A (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 |