VxWorks系统启动失败的自动修复方法、系统、存储介质及设备与流程

文档序号:32439472发布日期:2022-12-06 20:52阅读:276来源:国知局
VxWorks系统启动失败的自动修复方法、系统、存储介质及设备与流程
vxworks系统启动失败的自动修复方法、系统、存储介质及设备
技术领域
1.本发明涉及计算机系统技术领域,尤其涉及一种vxworks系统启动失败的自动修复方法、系统、存储介质及设备。


背景技术:

2.目前嵌入式实时vxworks操作系统应用十分广泛,主要应用在对实时性要求非常强的领域,因此也提高了对其稳定性的要求,特别是一旦出现故障就会造成特别重大的灾难性后果的情况下。高速动车组中央控制单元(central control unit,ccu)和事件记录单元(event recording unit erm)即采用vxworks操作系统,前者要求对数据进行即时处理,后者要求即时记录数据,因此对系统要求较高。每当ccu或erm出现问题一般会造成机破,报铁路总公司安监部门,即使是在库内调车阶段,系统启动失败也要技术人员上车处理,而且处理过程很复杂且耗时较长,很有可能造成动车组晚点,从而影响旅客出行。


技术实现要素:

3.根据现有技术存在的问题,本发明公开了一种vxworks系统启动失败的自动修复方法,具体包括如下步骤:
4.在搭载vxworks操作系统的设备中配置用于启动并加载vxworks操作系统镜像文件的bootrom.bin文件;
5.采用dos系统对设备硬盘进行格式化;
6.在dos系统中配置用于设置选择并加载应用程序菜单的config.sys文件,在该config.sys文件中增加shell命令,该shell命令调用rainbow.exe文件,该rainbow.exe文件用于检查bootrom.bin文件、vxworks操作系统内核的镜像文件和autoexec.bat文件是否可以正常运行;
7.开机上电后进入dos系统,先加载config.sys文件,设置自动选择并加载应用程序菜单,选择完配置块名称后,根据该配置块下的shell命令运行rainbow.exe程序。后者检查启动vxworks系统所必须的autoexec.bat、bootrom.bin、vxload.com、vxworks文件及启动其配置文件,当其中一个或几个上述文件有问题时,则删除有问题的文件,把同名无误的备份的bootrom.bin文件、镜像文件、启动配置文件和autoexec.bat文件复制到原目录中;
8.rainbow.exe运行完后则进入autoexec.bat文件处理流程;
9.通过goto%config%命令将config.sys文件和autoexec.bat文件关联,在autoexec.bat中自动运行vxload.com,加载vxworks镜像文件。
10.在config.sys文件中增加shell命令,该shell命令调用rainbow.exe文件。
11.rainbow.exe文件用于检查启动vxworks系统所必须的autoexec.bat、bootrom.bin、vxload.com、vxworks文件及启动其配置文件。
12.系统上电进入dos系统后,首先加载config.sys文件再加载autoexec.bat文件。
13.所述在config.sys文件中,设置加载应用程序可选菜单,格式如下:
14.[menu]
[0015]
menuitem=配置块名称,菜单内容
[0016]
[配置块名称]
[0017]
device=c:\himem.sys/testmem:off
[0018]
shell=rainbow.exe
[0019]
自动选择完配置块名称后,则进入autoexec.bat文件处理流程。
[0020]
在rainbow.exe文件检查出上述启动文件有问题后完成如下操作:
[0021]
删除当前硬盘下旧的bootrom.bin文件、镜像文件、启动配置文件或可执行应用程序;
[0022]
复制备份文件夹下新的bootrom.bi文件、镜像文件、启动配置文件或可执行应用程序到旧的bootrom.bin文件、镜像文件、启动配置文件或可执行应用程序目录下,并将所有新文件的名称改为旧文件的名称。
[0023]
一种vxworks系统启动失败的自动修复系统:包括:
[0024]
配置模块,在搭载vxworks操作系统的设备中配置用于启动并加载vxworks操作系统镜像文件的bootrom.bin文件;
[0025]
格式化模块,将设备硬盘格式化为dos系统;
[0026]
设置模块,在dos系统中配置用于设置选择并加载应用程序菜单的config.sys文件,在config.sys文件中增加shell命令,该shell命令调用rainbow.exe文件以及用于删除和拷贝硬盘内bootrom.bin文件、镜像文件、启动配置文件或可执行应用程序的autoexec.bat文件;
[0027]
加载模块,进入dos系统,先加载config.sys文件,设置选择并加载应用程序菜单,运行rainbow.exe程序,用户在选择完配置块名称后则进入autoexec.bat文件处理流程;
[0028]
分析模块,在rainbow.exe程序中检查启动vxworks系统所必须的autoexec.bat、bootrom.bin、vxload.com、vxworks文件及启动其配置文件,当其中一个或几个上述文件有问题时,则删除有问题的文件,把同名无误的备份的bootrom.bin文件、镜像文件、启动配置文件和autoexec.bat文件复制到原目录中。rainbow.exe运行完后则进入autoexec.bat文件处理流程。在autoexec.bat文件处理流程中,通过goto%config%命令将config.sys文件和autoexec.bat文件关联,在autoexec.bat中自动运行vxload.com,加载vxworks镜像文件。
[0029]
一种计算机可读存储介质,所述的计算机可读存储介质存储有计算机程序,所述的计算机程序被处理器执行时实现上述方法的步骤。
[0030]
一种通用的vxworks下启动并加载应用程序设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述的处理器执行所述的计算机程序时实现上述方法的步骤。
[0031]
由于采用了上述技术方案,本发明提供的一种vxworks系统启动失败的自动修复方法系统、存储介质及设备,该方法通过编辑config.sys,添加启动补丁rainbow.exe,在引导vxworks系统启动之前增加对引导文件完整性判断,而不用修改vxworks镜像,因此可以对所有系统文件进行属性修改和文件损坏的判断,并且可以对关键系统文件进行备份。
附图说明
[0032]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033]
图1为本发明方法的流程图;
[0034]
图2为本发明系统的结构框图;
[0035]
图3为本发明中实施例的示意图;
[0036]
图4为本发明中实施例的示意图;
[0037]
图5为本发明中实施例的示意图。
具体实施方式
[0038]
为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:
[0039]
如图1所示的一种vxworks系统启动失败自动修复的方法,本发明应用于所有采用嵌入式vxworks操作系统的设备及在此系统上运行的各种应用软件,遇到由于某种原因导致系统不能正常启动的问题。该发明将自动修复该问题,并使vxworks系统继续正常启动,而不影响其他所有功能。
[0040]
如图2所示的一种vxworks系统启动失败的自动修复方法,包括:
[0041]
配置模块,在搭载vxworks操作系统的设备中配置用于启动并加载vxworks操作系统镜像文件的bootrom.bin文件;
[0042]
格式化模块,将设备硬盘格式化为dos系统;
[0043]
设置模块,在dos系统中配置用于设置选择并加载应用程序菜单的config.sys文件,在config.sys文件中增加shell命令,该shell命令调用rainbow.exe文件以及用于删除和拷贝硬盘内bootrom.bin文件、镜像文件、启动配置文件或可执行应用程序的autoexec.bat文件;
[0044]
加载模块,进入dos系统,先加载config.sys文件,设置选择并加载应用程序菜单,运行rainbow.exe程序,用户在选择完配置块名称后则进入autoexec.bat文件处理流程;
[0045]
分析模块,在rainbow.exe程序中检查启动vxworks系统所必须的autoexec.bat、bootrom.bin、vxload.com、vxworks文件及启动其配置文件,当其中一个或几个上述文件有问题时,则删除有问题的文件,把同名无误的备份的bootrom.bin文件、镜像文件、启动配置文件和autoexec.bat文件复制到原目录中。rainbow.exe运行完后则进入autoexec.bat文件处理流程。在autoexec.bat文件处理流程中,通过goto%config%命令将config.sys文件和autoexec.bat文件关联,在autoexec.bat中自动运行vxload.com,加载vxworks镜像文件。
[0046]
高速动车组中央控制单元ccu上电工作时,先启动dos系统,dos系统启动后会自动运行autoexec.bat文件,其功能是进行系统设置,如:path(设置路径)、mouse(鼠标启动)、doskey(键盘管理)、set(设置环境变量)等,autoexec.bat还可用来配置启动信息,加载驱动程序等,autoexec.bat损坏会导致ccu无法启动,启动流程如图3所示。根据图3可以知道,
在vxworks系统启动之前需要依次运行“autoexec.bat”和“bootrom.bin”文件。如果在运行“autoexec.bat”和“bootrom.bin”文件之前检查这两个文件是否损坏,如果已经损坏,那么采用运行备份文件或把备份文件拷贝到此继续执行,或可避免ccu启动失败问题。
[0047]
dos系统启动时,如图4所示,要先从启动盘中读取两个系统文件io.sys、msdos.sys,然后在启动盘的根目录下寻找并执行config.sys、command.com、autoexec.bat三个文件。其中io.sys、msdos.sys和command.com这三个文件缺一不可,否则ccu将无法正常启动。
[0048]
dos系统启动时只有系统环境变量配置文件congfig.sys可编辑,其他诸如io.sys、msdos.sys、command.com等都是必须且不可编辑的,那么只能分析可编辑的系统环境变量配置文件congfig.sys。
[0049]
config.sys文件是一个专业的系统启动配置文件,它主要用于加载内存管理程序、设置扩充内存及扩展内存、加载有关硬件驱动程序,设置有关环境变量等,为用户计算机的正常使用创造必要的用户环境。config.sys的名字来源于配置系统,其目的就是使dos和计算机更加协调的工作打开。
[0050]
采用记事本或其他文本编辑器打开config.sys,发现它就是microsoft ms-dos 7.1startup menu,之后是两个选项:dos和vxworks。因此需要研究通过在其中增加文件检查软件来提前分析是否有文件损坏,并加以弥补,经过研究,可以通过增加脚本调用软件rainbow.exe补丁程序来检查文件是否损坏。
[0051]
实施例:
[0052]
rainbow补丁程序,可执行文件为rainbow.exe,在config.sys里调用,从而可在运行“autoexec.bat”和“bootrom.bin”文件之前运行。
[0053]
1、config.sys内调用方法
[0054]
用记事本或其他文本编辑工具打开config.sys,在[vxworks]配置块最后一行增加“shell=rainbow.exe vxload.com bootrom.bin”,这样就可以在运行“autoexec.bat”和“bootrom.bin”文件之前调用rainbow.exe了。
[0055]
2、rainbow.exe工作原理
[0056]
程序开始执行时,若为ccu2,则延时2秒,目的是为了避免和ccu1同时运行,也是为了避免因为本软件造成两个ccu同时故障。
[0057]
判断日志文件大小,若文件大于512k,则重命名该日志文件。
[0058]
再读备份目录内文件,判断文件名是否符合要求。读根目录下同名文件,若文件不存在,则拷贝备份文件到根目录,之后检查备份目录内文件是否全部读完。若根目录下同名文件存在,则检查该文件是否和备份目录下同名文件一致。若一致,则检查是否把备份目录内文件全部读完。若不一致,则删除根目录下该文件,继续拷贝备份文件到根目录,并判断备份目录内文件是否全部读完。当备份目录内文件全部读完时,ccu2延时2秒,结束本程序。流程图如图5所示。
[0059]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1