一种提高嵌入式系统可靠性的方法
【技术领域】
[0001]本发明涉及集成电路制造领域,特别涉及一种提高嵌入式系统可靠性的方法。
【背景技术】
[0002]无论在工业领域或者终端的消费场合,有越来越多无人值守的监控装置和自助服务装置,比如工厂的监控系统,自动售货机,ATM机,铁路售票机,地铁闸机等等,目前这些自动服务装置大都在使用Linux系统。
[0003]但现实中,我们经常遇到:去铁路售票机上自助取票时,总有一些自动售票机正在故障中,无法提供服务;去银行自助取款,也经常可以看到故障的ATM机;坐地铁或火车时,由于进站闸机出现故障,造成排队拥堵的情况也常有发生。
[0004]如果发生以上情况,目前通常的做法就是安排人工介入修复,但是人工修复花费的时间较多,不能第一时间进行修复,多是几个小时甚至几天以后才会修复。这种情况,不但增加了维护成本,也降低了设备使用效率和服务质量。
[0005]因此,如何克服以上问题,当无人值守的设备出现故障时,能够在无需人工介入的情况下,能够快速实现自我修复,恢复正常,是非常有价值的。
[0006]目前采取的方法是增加硬件的冗余,S卩,在一个自动服务装置中放入两台相同设备,当一台设备不能工作的时候,能够切换到另一台设备继续工作,这种方法在一些非常紧急和关键的场合,也是一种正确的选择,但自动服务装置的数量通常较大,应用的范围较广,需要进行大批量部署,将大大增加硬件成本。
[0007]因此,如何在确保成本的前提下保障自动服务装置长时间无故障运行,成为本领域技术人员亟待解决的一个技术问题。
【发明内容】
[0008]本发明提供一种提高嵌入式系统可靠性的方法,以解决现有技术中存在的上述技术问题。
[0009]为解决上述技术问题,本发明提供一种提高嵌入式系统可靠性的方法,应用于自动服务装置,该自助服务装置中安装有第一、第二操作系统和监控软件,方法包括:
[0010]引导程序引导第一操作系统启动;
[0011]所述第一操作系统通过开机脚本自动启动客户的应用程序,同时启动监控软件对正在运行的第一操作系统进行监控;
[0012]当正在运行的第一操作系统存在故障时,监控软件控制所述自助服务装置重启系统,再次进入引导程序,
[0013]所述引导程序引导第二操作系统启动,第二操作系统启动后开启监控软件同时修复第一操作系统;
[0014]当所述第二操作系统出现故障时,则重启系统进入已经修复好的第一操作系统,并修复第二操作系统。
[0015]作为优选,所述引导程序安装在自动服务装置中的一独立的SPI Flash上。
[0016]作为优选,所述第一、第二操作系统安装在Emmc Flash上。
[0017]作为优选,所述第一、第二操作系统均包括:内核、根文件系统、应用程序和数据文件。
[0018]作为优选,先对所述Emmc Flash分区后,再将所述第一、第二操作系统安装在EmmcFlash 上
[0019]作为优选,所述监控软件采用Watchdog。
[0020]作为优选,所述引导程序根据引导程序环境变量选择引导对应的操作系统启动,所述引导程序环境变量从所述Watchdog的状态寄存器中获取。
[0021 ] 作为优选,所述第一、第二操作系统采用Linux系统、Android系统或者Windows系统。
[0022]与现有技术相比,本发明通过软件冗余技术在一台自动服务装置中同时安装两组操作系统,并利用监控软件和引导程序配合,当其中一组操作系统出现故障时可以调用另一组操作系统,同时修复存在故障的操作系统,确保自动服务装置实现自动快速的自我修复,大大增强了系统的可靠性,保证不间断服务。即本发明通过软件冗余技术,实现双系统的相互备份,当出现故障时,可以快速切换到备份系统,并修复故障系统,在无需人为干扰的情况下实现系统的快速自我修复,本发明无需增加新的设备,大大的降低了生产成本。
【附图说明】
[0023]图1为本发明一【具体实施方式】中一种提高嵌入式系统可靠性的方法的流程图;
[0024]图2为本发明一【具体实施方式】中Emmc Flash的分区示意图。
【具体实施方式】
[0025]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的【具体实施方式】做详细的说明。需说明的是,本发明附图均采用简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
[0026]如图1所示,本发明提供的提高嵌入式系统可靠性的方法,应用于自动服务装置,该自助服务装置中安装有两组操作系统和监控软件,为示区别将两组操作系统分为第一操作系统和第二操作系统,所述第一、第二操作系统安装在Emmc Flash (Embedded MultiMedia Card Flash,嵌入式多媒体卡的缓存)上,当然在安装前需要对所述Emmc Flash进行分区处理,本实施例中,所述第一、第二操作系统均包括:内核、根文件系统、应用程序和数据文件,因此,Emmc Flash根据所述第一、第二操作系统的文件进行分区。
[0027]本发明提供的一种提高嵌入式系统可靠性的方法,包括以下步骤:
[0028]首先,引导程序引导第一操作系统启动。具体地,所述引导程序安装在自动服务装置中的一独立的SPI Flash上,所述引导程序在完成引导后即自动退出运行,因此损坏的可能性较低,不影响本发明的嵌入式系统的可靠性。
[0029]接着,所述第一操作系统通过开机脚本自动启动客户的应用程序,为客户提供相应的功能和服务,同时启动监控软件对正在运行的第一操作系统进行监控;
[0030]当正在运行的第一操作系统存在故障时,监控软件控制所述自助服务装置重启系统,再次进入引导程序;
[0031]所述引导程序引导第二操作系统启动,第二操作系统启动后开启监控软件同时修复第一操作系统;
[0032]当所述第二操作系统出现故障时,则重启系统进入已经修复好的第一操作系统,并修复第二操作系统,以此类推,可以实现系统的快速自我修复。
[0033]需要说明的是,所述引导程序根据引导程序环境变量选择引导对应的操作系统启动,所述引导程序环境变量从所述监控软件的状态寄存器中获取,也即是说,监控软件的状态寄存器记录着两组操作系统的工作状态,并在引导程序环境变量中设置一个标记,引导程序根据该标记确定引导哪个操作系统。
[0034]较佳的,所述第一、第二