技术领域
[0001] 本
发明涉及软件升级技术领域,具体地是涉及一种基于家电
控制器中的主控单片机的软件自升级方法和系统。
背景技术
[0002] 随着智能化的不断发展,智能家居的不断普及,家电智能化发展也越来越快。就像现在的智能手机,半年甚至几个月就会有新功能导入,现如今家电产品功能更新也很迅速,为了适应家电智能化的发展,现对产品的功能升级提出了更高的要求。
[0003] 目前,市场上的家电对支持软件自动升级功能的产品很少,很多大的家电厂商都在开发这个功能。从智能家居后续的发展考虑,新的家电产品都应该支持软件自动升级功能。
[0004] 因此,本发明的
发明人亟需构思一种新技术以改善其问题。
发明内容
[0005] 本发明旨在提供一种单片机软件自升级方法和系统,其可以实现智能家电的软件自动升级功能,有利于软件应用新功能的导入和软件漏洞的修复。
[0006] 为解决上述技术问题,本发明的技术方案是:
[0007] 一种单片机软件自升级方法,包括如下步骤:
[0008] S1:boot区程序初始化;
[0009] S2:判断boot区程序是否含有自动升级标志,如果含有自动升级标志,则执行软件自动升级程序,并在升级完成后清除该自动升级标志;如果不含有自动升级标志,则进入步骤S3;
[0010] S3:flash区程序初始化;
[0011] S4:判断flash区程序是否含有自动升级标志,如果含有自动升级标志,则进入步骤S2;如果不含有自动升级标志,则执行flash区当前的控制程序。
[0012] 优选地,还包括步骤S0:
[0013] 把单片机程序
存储器划分成boot区和flash区,其中软件自动升级程序放在boot区,控制程序放在flash区。
[0014] 优选地,所述自动升级标志为自动升级按键
信号。
[0015] 一种单片机软件自升级系统,包括:
[0016] 第一初始化模
块,用于初始化boot区程序;
[0017] 第一判断模块,用于断boot区程序是否含有自动升级标志,如果含有自动升级标志,则启动第一执行模块;如果不含有自动升级标志,则启动第二初始化模块;
[0018] 所述第一执行模块,用于执行软件自动升级程序,并在升级完成后清除该自动升级标志;
[0019] 所述第二初始化模块,用于初始化flash区程序;
[0020] 第二判断模块,用于判断flash区程序是否含有自动升级标志,如果含有自动升级标志,则驱动所述第一判断模块;如果不含有自动升级标志,则启动第二执行模块;
[0021] 所述第二执行模块,用于执行flash区当前的控制程序。
[0022] 优选地,还包括:
[0023] 分区模块,用于把单片机程序存储器划分成boot区和flash区;其中软件自动升级程序放在boot区,控制程序放在flash区。
[0024] 优选地,所述自动升级标志为自动升级按键信号。
[0025] 采用上述技术方案,本发明至少包括如下有益效果:
[0026] 本发明所述的单片机软件自升级方法和系统,应用于智能家电的软件自动升级功能,有利于软件应用新功能的导入和软件漏洞的修复。
附图说明
[0027] 图1为本发明所述的单片机软件自升级方法的原理图;
[0028] 图2为本发明所述的单片机软件自升级系统的结构示意图。
具体实施方式
[0029] 下面将结合本发明
实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030] 实施例1
[0031] 如图1所示,为符合本发明的一种单片机软件自升级方法,包括如下步骤:
[0032] S1:boot区程序初始化;
[0033] S2:判断boot区程序是否含有自动升级标志,如果含有自动升级标志,则执行软件自动升级程序,并在升级完成后清除该自动升级标志;如果不含有自动升级标志,则进入步骤S3;
[0034] S3:flash区程序初始化;
[0035] S4:判断flash区程序是否含有自动升级标志,如果含有自动升级标志,则进入步骤S2;如果不含有自动升级标志,则执行flash区当前的控制程序。
[0036] 优选地,还包括步骤S0:
[0037] 把单片机程序存储器划分成boot区和flash区,其中软件自动升级程序放在boot区,控制程序放在flash区。
[0038] 优选地,所述自动升级标志为自动升级按键信号。例如:采用
硬件方式置位自动升级标志:线路板中预留自动升级按键,当主控单片机检测到自动升级按键按下信号时,即置位自动升级标志。当然还可以是其他自动升级标志,如使用串口通信的方式置位自动升级标志:用通信指令控制自动升级标志位。当我们发送升级指令给主控单片机,主控单片机成功接收指令,判断为自动升级指令,即置位自动升级标志。由于其具体设置本领域技术人员应当知晓,故本实施例对此不作赘述。
[0039] 众所周知,家电控制器中的主控单片机发展迅速,flash(程序存储器)也越来越大,所以我们有足够的程序空间把flash区划分成两部分:boot区、flash区。其中软件自动升级程序放在boot区,家电主控程序放在flash区。
[0040] 上电时:先执行boot区程序,判断自动升级标志是否需要软件升级,如需升级执行软件升级功能,升级结束后清除软件自动升级标志,然后跳转至flash区执行升级后的主控程序,不需要软件升级则跳转至flash区执行。通电中:软件执行在flash区,实时判断软件自动升级标志,如果flash区软件执行过程中接到自动升级标志,软件跳转至boot区从新执行,执行软件升级功能,升级结束后清除软件自动升级标志,然后跳转至flash区执行升级后的主控程序。
[0041] 本实施例应用于智能家电的软件自动升级功能,有利于软件应用新功能的导入和软件漏洞的修复。
[0042] 实施例2
[0043] 一种单片机软件自升级系统,包括:
[0044] 第一初始化模块,用于初始化boot区程序;
[0045] 第一判断模块,用于断boot区程序是否含有自动升级标志,如果含有自动升级标志,则启动第一执行模块;如果不含有自动升级标志,则启动第二初始化模块;
[0046] 所述第一执行模块,用于执行软件自动升级程序,并在升级完成后清除该自动升级标志;
[0047] 所述第二初始化模块,用于初始化flash区程序;
[0048] 第二判断模块,用于判断flash区程序是否含有自动升级标志,如果含有自动升级标志,则驱动所述第一判断模块;如果不含有自动升级标志,则启动第二执行模块;
[0049] 所述第二执行模块,用于执行flash区当前的控制程序。
[0050] 优选地,还包括:
[0051] 分区模块,用于把单片机程序存储器划分成boot区和flash区;其中软件自动升级程序放在boot区,控制程序放在flash区。
[0052] 优选地,所述自动升级标志为自动升级按键信号。例如:采用硬件方式置位自动升级标志:线路板中预留自动升级按键,当主控单片机检测到自动升级按键按下信号时,即置位自动升级标志。当然还可以是其他自动升级标志,如使用串口通信的方式置位自动升级标志:用通信指令控制自动升级标志位。当我们发送升级指令给主控单片机,主控单片机成功接收指令,判断为自动升级指令,即置位自动升级标志。由于其具体设置本领域技术人员应当知晓,故本实施例对此不作赘述。
[0053] 众所周知,家电控制器中的主控单片机发展迅速,flash(程序存储器)也越来越大,所以我们有足够的程序空间把flash区划分成两部分:boot区、flash区。其中软件自动升级程序放在boot区,家电主控程序放在flash区。
[0054] 上电时:先执行boot区程序,判断自动升级标志是否需要软件升级,如需升级执行软件升级功能,升级结束后清除软件自动升级标志,然后跳转至flash区执行升级后的主控程序,不需要软件升级则跳转至flash区执行。通电中:软件执行在flash区,实时判断软件自动升级标志,如果flash区软件执行过程中接到自动升级标志,软件跳转至boot区从新执行,执行软件升级功能,升级结束后清除软件自动升级标志,然后跳转至flash区执行升级后的主控程序。
[0055] 本实施例应用于智能家电的软件自动升级功能,有利于软件应用新功能的导入和软件漏洞的修复。
[0056] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或
计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0057] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的
流程图和/或方
框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程
数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中
指定的功能的装置。
[0058] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0059] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0060] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和
修改。所以,所附
权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。