一种冰箱电控板的软件在线升级方法、冰箱电控板和冰箱与流程

文档序号:16067040发布日期:2018-11-24 12:46阅读:309来源:国知局

本发明涉及制冷控制技术领域,具体涉及一种冰箱电控板的软件在线升级方法、冰箱电控板和冰箱。

背景技术

随着生活水平的不断提高,因为具有控制精确、规则弹性大、响应速度快等特点,电控冰箱越来越受到消费者的欢迎。现有的技术,通过开发过程中的测试,厂商会通过各种环境温度、湿度、负载状态的模拟,总结或者匹配出合适的控制规则和参数,写入到控制软件中,用于产品的批产。

但是因为测试的场景是有限的,产品不能适用于所有用户的使用场景,又因为产品性能升级、设计缺陷修正等需要,电控冰箱的控制软件是需要不断迭代的。现有技术中对于已经售出的冰箱,只能在用户使用出现问题,投诉维修时,进行升级或者更换电控板。

现有技术中没有人工干预冰箱无法自主完成控制软件的迭代,无法实现电控冰箱控制软件的在线升级,造成了用户使用的困扰。



技术实现要素:

为了至少部分地解决现有技术中存在的上述问题,本发明提出一种一种冰箱电控板的软件在线升级方法、冰箱电控板和冰箱。

第一方面,本发明实施例提出一种冰箱电控板的软件在线升级方法,包括:

若判断获知冰箱电控板执行复位操作,则通过引导boot区域的引导程序对备份backup区域进行检查;

若检查获知所述backup区域内存有合法的二进制数据,则擦除应用程序app区域内的数据,将所述backup区域内的所述合法的二进制数据写入所述app区域,并擦除所述backup区域内的所述合法的二进制数据;其中,所述合法的二进制数据为待升级程序;

通过所述引导程序控制所述app区域内的所述待升级程序执行,以完成冰箱电控板的软件在线升级。

可选地,所述方法还包括:

若检查获知所述backup区域内无合法的二进制数据,则通过所述引导程序控制所述app区域内的当前程序执行。

可选地,所述若判断获知冰箱电控板执行复位操作,则通过引导boot区域的引导程序对备份backup区域进行检查之前,还包括:

接收wifi模块发送的所述待升级程序,若判断获知所述backup区域为空,则将所述待升级程序以二进制数据的方式写入所述backup区域内,并对写入的二进制数据进行检验,若检验获知写入的二进制数据不合法,则擦除写入的二进制数据。

可选地,所述若判断获知冰箱电控板执行复位操作,则通过引导boot区域的引导程序对备份backup区域进行检查之前,还包括:

若判断获知所述backup区域内存有合法的二进制数据、冰箱的门未打开且冰箱不在化霜阶段,则执行冰箱电控板的复位操作。

可选地,包括:

所述boot区域的大小根据所述引导程序的存储空间确定;

所述app区域的大小根据冰箱的软件需求确定;

所述backup区域的大小大于等于所述app区域的大小。

第二方面,本发明实施例还提出一种冰箱电控板,包括:

检查模块,用于若判断获知冰箱电控板执行复位操作,则通过引导boot区域的引导程序对备份backup区域进行检查;

写入模块,用于若检查获知所述backup区域内存有合法的二进制数据,则擦除应用程序app区域内的数据,将所述backup区域内的所述合法的二进制数据写入所述app区域,并擦除所述backup区域内的所述合法的二进制数据;其中,所述合法的二进制数据为待升级程序;

升级模块,用于通过所述引导程序控制所述app区域内的所述待升级程序执行,以完成冰箱电控板的软件在线升级。

可选地,所述冰箱电控板还包括:

程序执行模块,用于若检查获知所述backup区域内无合法的二进制数据,则通过所述引导程序控制所述app区域内的当前程序执行。

可选地,所述冰箱电控板还包括:

升级程序接收模块,用于接收wifi模块发送的所述待升级程序,若判断获知所述backup区域为空,则将所述待升级程序以二进制数据的方式写入所述backup区域内,并对写入的二进制数据进行检验,若检验获知写入的二进制数据不合法,则擦除写入的二进制数据。

可选地,所述冰箱电控板还包括:

复位模块,用于若判断获知所述backup区域内存有合法的二进制数据、冰箱的门未打开且冰箱不在化霜阶段,则执行冰箱电控板的复位操作。

可选地,包括:

所述boot区域的大小根据所述引导程序的存储空间确定;

所述app区域的大小根据冰箱的软件需求确定;

所述backup区域的大小大于等于所述app区域的大小。

第三方面,本发明实施例还提出一种冰箱,包括上述任一所述冰箱电控板。

第四方面,本发明实施例还提出一种电子设备,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。

第五方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。

由上述技术方案可知,本发明通过将冰箱电控板的存储区域分为boot区域、app区域和backup区域,通过boot区域的引导程序引导执行软件在线升级的过程,检查backup区域内数据的合法性,通过backup区域存储待升级程序,并通过app区域执行待升级程序,自动实现冰箱电控板软件的在线升级,解决用户需要人工干预才能升级的困扰。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。

图1为本发明一实施例提供的一种冰箱电控板的软件在线升级方法的流程示意图;

图2为本发明一实施例提供的app区域的状态机示意图;

图3为本发明一实施例提供的boot区域的状态机示意图;

图4为本发明一实施例提供的一种冰箱电控板的软件在线升级装置的结构示意图;

图5为本发明一实施例提供的电子设备的逻辑框图。

具体实施方式

下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

图1示出了本实施例提供的一种冰箱电控板的软件在线升级方法的流程示意图,包括:

s101、若判断获知冰箱电控板执行复位操作,则通过引导boot区域的引导程序对备份backup区域进行检查。

具体地,将冰箱电控板的mcu的flash区域切分为boot区域、app区域和backup区域。其中boot区域用来存放引导交换的代码,在软件复位后首先执行;app区域用来存放用户使用的代码,在软件复位执行boot之后,软件长期运行在app区域;backup区域用来存放即将用来升级的二进制文件。通过通讯协议更新backup区域的二进制数据,并通过boot区域的软件实现backup区域文件对app区域文件的替换,从而实现冰箱app区域软件的在线升级。

s102、若检查获知所述backup区域内存有合法的二进制数据,则擦除应用程序app区域内的数据,将所述backup区域内的所述合法的二进制数据写入所述app区域,并擦除所述backup区域内的所述合法的二进制数据;其中,所述合法的二进制数据为待升级程序。

具体地,冰箱电控板可以通过通讯协议接受二进制文件,并且将二进制文件中的二进制数据改写在backup区域;由boot区域的引导程序对backup区域进行校验,并用backup区域中的二进制数据替换掉app区域中的数据,实现待升级程序的拷贝。

s103、通过所述引导程序控制所述app区域内的所述待升级程序执行,以完成冰箱电控板的软件在线升级。

需要说明的是,所述boot区域的大小根据所述引导程序的存储空间确定;所述app区域的大小根据冰箱的软件需求确定;所述backup区域的大小大于等于所述app区域的大小。

具体地,boot区域的大小需要根据实际使用的引导程序的代码的大小来设定。为了保证mcu中,可用区域app区域尽量大,boot区域应在满足可靠性的前提下,尽量精简,并尽可能少的使用外部资源。这样可以减少引导程序对资源的依赖,提高通用性。app区域的大小根据冰箱的实际功能需要进行设定即可。backup区域的大小需要保证和app区域相同或者更大。考虑到复制二进制文件的效率和便捷,在实际使用中可以设置了和app相同大小的backup区域。

举例来说,以瑞萨的r5f100xg系列芯片为例,该mcu有128kbflash,我们定义了boot区域的大小为8k,app区域和backup区域的大小均为59k,并预留出2k用于仿真调试使用。参考如下:

本实施例通过将冰箱电控板的存储区域分为boot区域、app区域和backup区域,通过boot区域的引导程序引导执行软件在线升级的过程,检查backup区域内数据的合法性,通过backup区域存储待升级程序,并通过app区域执行待升级程序,自动实现冰箱电控板软件的在线升级,解决用户需要人工干预才能升级的困扰。

进一步地,在上述方法实施例的基础上,所述方法还包括:

s104、若检查获知所述backup区域内无合法的二进制数据,则通过所述引导程序控制所述app区域内的当前程序执行。

具体地,若backup区域内无合法的二进制数据,则说明没有可以升级的程序,即app区域内的当前程序为最新的程序,无需进行升级,继续执行app区域内的当前程序即可。

进一步地,在上述方法实施例的基础上,s101之前,还包括:

s100、接收wifi模块发送的所述待升级程序,若判断获知所述backup区域为空,则将所述待升级程序以二进制数据的方式写入所述backup区域内,并对写入的二进制数据进行检验,若检验获知写入的二进制数据不合法,则擦除写入的二进制数据。

具体地,当接收到wifi模块发送的所述待升级程序时,如果backup区域为空的,则说明app区域内的程序不是最新的程序,需要进行升级,因此将所述待升级程序以二进制数据的方式写入所述backup区域内,并对写入的二进制数据进行检验,以保证数据的合法性。若检验获知写入的二进制数据不合法,则擦除写入的二进制数据,保证后续写入app区域的数据都是合法的。

进一步地,在上述方法实施例的基础上,s101之前,还包括:

s1001、若判断获知所述backup区域内存有合法的二进制数据、冰箱的门未打开且冰箱不在化霜阶段,则执行冰箱电控板的复位操作。

具体地,在实际执行过程中,主要包括以下步骤:

a1、冰箱电控板上电,软件复位后开始运行,首先运行在boot区域,对backup区域进行检查,无可用内容时,跳转到app区域执行;

a2、app区域内的程序在app区域持续运行,完成对冰箱的功能控制;

a3、通过通讯(比如从冰箱的wifi)开始接收冰箱的升级包文件,冰箱电控板在完成对冰箱功能控制的同时,在检查完backup区域为全空后,将接收的文件写入到backup区域,在写入完成后,对backup区域的二进制内容进行检验,合格后进入等待状态;

a4、在等待状态,冰箱电控板判断当前使用环境是否可以跳转切换,在满足情况下(如用户没有开门,并且冰箱不在化霜阶段下)软件执行复位;

a5、复位后,再次进入boot区域执行引导程序,此时,检查backup区域已经有了合法的二进制数据,则boot功能生效,将app区域的数据擦除后,把backup区域的数据复制写入到app区域,完成后进行校验,满足条件后,将backup区域的数据擦除,并跳转到app区继续运行。

在上述执行过程中,app区域的程序的状态机示意图如图2所示,从standby(待机)状态到checkrom(检查)状态,再到download(下载)状态、check_buff(检查备份区)状态,最后到error(错误)状态或changeover(结束)状态。

boot区域的引导程序的状态机示意图如图3所示,从boot_start(启动)状态到check_buff(检查备份区)状态,再到eraseapp(擦除app)状态、wait(等待)状态、copy_code(代码复制)状态、check_app(检查app)状态、earse_buff(擦除备份区)状态,最后为error(错误)状态、reset(复位)状态以及end(结束)状态。

到此结束状态时,冰箱软件已经完成了更替。在整个过程中,不需要人工干预进行断电或者烧写器的连接,只需要通过通讯口按照既定协议发送升级包数据即可,升级过程中,冰箱功能完全正常使用。

对于有wifi功能的冰箱,能够实现远程在线升级,使得厂商有能力在冰箱的控制软件优化后,推送给已经售出在使用的客户,提升用户体验,规避市场风险。实现资源的更有效利用。

图4示出了本实施例提供的一种冰箱电控板,包括:

检查模块401,用于若判断获知冰箱电控板执行复位操作,则通过引导boot区域的引导程序对备份backup区域进行检查。

写入模块402,用于若检查获知所述backup区域内存有合法的二进制数据,则擦除应用程序app区域内的数据,将所述backup区域内的所述合法的二进制数据写入所述app区域,并擦除所述backup区域内的所述合法的二进制数据;其中,所述合法的二进制数据为待升级程序。

升级模块403,用于通过所述引导程序控制所述app区域内的所述待升级程序执行,以完成冰箱电控板的软件在线升级。

具体地,检查模块401若判断获知冰箱电控板执行复位操作,则通过引导boot区域的引导程序对备份backup区域进行检查。写入模块402若检查获知所述backup区域内存有合法的二进制数据,则擦除应用程序app区域内的数据,将所述backup区域内的所述合法的二进制数据写入所述app区域,并擦除所述backup区域内的所述合法的二进制数据;其中,所述合法的二进制数据为待升级程序。升级模块403通过所述引导程序控制所述app区域内的所述待升级程序执行,以完成冰箱电控板的软件在线升级。

本实施例通过将冰箱电控板的存储区域分为boot区域、app区域和backup区域,通过boot区域的引导程序引导执行软件在线升级的过程,检查backup区域内数据的合法性,通过backup区域存储待升级程序,并通过app区域执行待升级程序,自动实现冰箱电控板软件的在线升级,解决用户需要人工干预才能升级的困扰。

进一步地,在上述实施例的基础上,所述冰箱电控板还包括:

程序执行模块,用于若检查获知所述backup区域内无合法的二进制数据,则通过所述引导程序控制所述app区域内的当前程序执行。

进一步地,在上述实施例的基础上,所述冰箱电控板还包括:

升级程序接收模块,用于接收wifi模块发送的所述待升级程序,若判断获知所述backup区域为空,则将所述待升级程序以二进制数据的方式写入所述backup区域内,并对写入的二进制数据进行检验,若检验获知写入的二进制数据不合法,则擦除写入的二进制数据。

进一步地,在上述实施例的基础上,所述冰箱电控板还包括:

复位模块,用于若判断获知所述backup区域内存有合法的二进制数据、冰箱的门未打开且冰箱不在化霜阶段,则执行冰箱电控板的复位操作。

进一步地,在上述实施例的基础上,包括:

所述boot区域的大小根据所述引导程序的存储空间确定。

所述app区域的大小根据冰箱的软件需求确定。

所述backup区域的大小大于等于所述app区域的大小。

本实施例所述的冰箱电控板可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。

本实施例还提出一种冰箱,包括上述任一所述冰箱电控板。

参照图5,所述电子设备,包括:处理器(processor)501、存储器(memory)502和总线503。

其中,所述处理器501和存储器502通过所述总线503完成相互间的通信。

所述处理器501用于调用所述存储器502中的程序指令,以执行上述各方法实施例所提供的方法。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1