一种系统升级方法及嵌入式系统的制作方法
【技术领域】
[0001]本发明涉及嵌入式系统技术领域,尤其涉及一种系统升级方法及嵌入式系统。
【背景技术】
[0002]现有技术中,如果一个嵌入式系统需要进行升级,通常要在系统被启动起来之后进行,例如一些家用路由器通过连接到web网络服务器的方式进行升级。在这种升级过程中,若在向闪存(Flash)分区烧录升级文件时出现突发状况而被迫停止,则可能会对系统区域造成破坏,更为严重的情况可能会导致系统无法正常运行。而即使在工厂里由于重工更新系统版本时,也需要通过串口输入命令来进行系统版本的升级,因此会增加系统升级的工作量。
【发明内容】
[0003]根据现有技术中存在的问题,现提供一种系统升级方法及嵌入式系统的技术方案,旨在解决现有技术中必须在嵌入式系统启动后才能进行系统升级的问题,减少系统升级的相关工作量,保证系统升级过程的稳定性,简化系统升级的过程。
[0004]上述技术方案具体包括:
[0005]一种系统升级方法,适用于嵌入式系统;其中,于所述嵌入式系统上电运行后,执行下述步骤:
[0006]步骤SI,采用所述嵌入式系统内设置的一配置加载单元对所述嵌入式系统内的预设按键进行初始化操作;
[0007]步骤S2,判断所述预设按键是否处于被按下状态,并在所述预设按键处于被按下状态时转向步骤S3 ;
[0008]步骤S3,采用所述配置加载单元从一外部的服务器中下载预设的系统升级文件;
[0009]步骤S4,根据所述系统升级文件对所述嵌入式系统进行升级,并启动所述嵌入式系统,随后退出。
[0010]优选的,该系统升级方法,其中,所述步骤SI还包括,采用所述配置加载单元对所述嵌入式系统内的各基础硬件进行初始化操作。
[0011]优选的,该系统升级方法,其中,所述步骤SI中,对所述预设按键进行初始化操作包括:
[0012]将所述预设按键连接所述嵌入式系统的处理器的引脚设置为处于通用输入/输出状态;以及
[0013]将所述预设按键连接所述处理器的引脚的输入/输出方向设置为向所述处理器输入信号。
[0014]优选的,该系统升级方法,其中,所述步骤S2中,通过判断所述预设按键连接所述嵌入式系统的处理器的引脚的输出电平,判断所述预设按键是否处于被按下状态:
[0015]若所述预设按键的所述引脚的所述输出电平对应于所述预设按键处于被按下状态的电平,则判断所述预设按键处于被按下状态。
[0016]优选的,该系统升级方法,其中,所述预设按键处于被按下状态的电平为高电平。
[0017]优选的,该系统升级方法,其中,所述步骤S2中,所述预设按键处于被按下状态的电平为低电平。
[0018]优选的,该系统升级方法,其中,所述步骤S2具体包括:
[0019]步骤S21,判断所述预设按键是否处于被按下状态,并在所述预设按键处于被按下状态时转向步骤S22 ;
[0020]步骤S22,等待预设的时间间隔后,再次判断所述预设按键是否处于被按下状态,并在所述预设按键处于被按下状态时转向步骤S23 ;
[0021]步骤S23,确认所述预设按键处于被按下状态。
[0022]优选的,该系统升级方法,其中,所述预设的时间间隔的取值范围为10ms-20ms。
[0023]优选的,该系统升级方法,其中,所述嵌入式系统中的所述配置加载单元与外部的所述服务器之间实现网络连接;
[0024]所述步骤S3中,采用所述配置加载单元,根据预先配置的IP地址,从相应的所述服务器中下载获得预设的所述系统升级文件。
[0025]优选的,该系统升级方法,其中,所述步骤S4中,将下载获得的所述系统升级文件烧录至所述嵌入式系统的内核分区以及闪存分区中。
[0026]优选的,该系统升级方法,其中,所述步骤S4中,在根据所述系统升级文件对所述嵌入式系统进行升级完毕后,转入所述嵌入式系统的内核态,并启动所述嵌入式系统。
[0027]优选的,该系统升级方法,其中,所述步骤S2中,若所述预设按键未处于被按下状态,则直接转入所述嵌入式系统的内核态,并启动所述嵌入式系统。
[0028]一种嵌入式系统,其中,采用上述的系统升级方法。
[0029]上述技术方案的有益效果是:解决现有技术中必须在嵌入式系统启动后才能进行系统升级的问题,减少系统升级的相关工作量,保证系统升级过程的稳定性,简化系统升级的过程。
【附图说明】
[0030]图1是现有技术中,嵌入式系统的内部逻辑存储区域示意图;
[0031]图2是本发明的较佳的实施例中,一种系统升级方法的总体流程示意图;
[0032]图3是本发明的较佳的实施例中,于图2的基础上,对预设按键是否处于被按下状态进行判断的流程示意图。
【具体实施方式】
[0033]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0034]需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0035]下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0036]现有的嵌入式系统,其内部逻辑存储结构通常如图1所示,其中包括了配置加载分区(BootLoader),内核分区(Kernel)以及闪存分区(Flash,FS)。
[0037]I)在嵌入式系统中,BootLoader分区是在操作系统内核运行之前运行的。BootLoader可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。
[0038]2)在嵌入式系统中,Kernel分区是指嵌入式系统的主内核分区,是带动嵌入式系统正常运行的核心。
[0039]3)在嵌入式系统中,FS分区是一种电可擦可编程只读存储器,用于保存嵌入式系统的一些配置信息。
[0040]则本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种系统升级方法,适用于嵌入式系统。该系统升级方法的总体流程如图2所示,具体包括:
[0041 ] 步骤SI,采用嵌入式系统内设置的一配置加载单元对嵌入式系统内的预设按键进行初始化操作;
[0042]本发明的较佳的实施例中,所谓配置加载单元,可以为嵌入式系统中设置的BootLoader,即运行BootLoader分区中的初始化程序,对嵌入式系统中的预设按键进行初始化操作。
[0043]本发明的较佳的实施例中,所谓预设按键,可以是一个预先指定的按键,例如在嵌入式系统中设定一个系统升级按键,并将该系统升级按键作为预设按键。
[0044]本发明的较佳的实施例中,对于预设按键的初始化操作,可以包括:
[0045]将预设按键连接嵌入式系统的处理器的引脚设置为处于通用输入/输出状态;以及
[0046]将预设按键连接处理器的引脚的输入/输出方向设置为向处理器输入信号。
[0047]即本发明的较佳的实施例中,对于预设按键的初始化操作为:将预设按键连接处理器(CPU)的引脚设置为处于通用输入/输出(General Purpose Input/Output,GP10)状态,并且将该引脚的1/0方向设置为输入CPU。
[0048]本发明的较佳的实施例中,上述步骤SI中,采用BootLoader,在嵌入式系统上电后首先对嵌入式系统内的各基础硬件进行初始化操作,则上文中所述的对嵌入式系统的预设按键进行初始化操作的过程被包括在对各基础硬件进行初始化操作的过程中进行。
[0049]步骤S2,判断预设按键是否处于被按下状态,并在预设按键处于被按下状态时转向步骤S3 ;
[0050]本发明的较佳的实施例中,如图3所示,上述步骤S2具体包括:
[0051]步骤S21,判断预设按键是否处于被按下状态,并在预设按键处于被按下状态时转向步骤S22 ;
[0052]本发明的一个较佳的实施例中,判断预设按键是否处于被按下状态的方法包括:
[0053]通过判断预设按键连接嵌入式系统的处理器的引脚的输出电平,判断预设按键是否处于被按下状态:
[0054]若预设按键的引脚的输出