CN104298599B - 嵌入式软件运行时故障的在线自检与切片恢复方法及装置 - Google Patents

嵌入式软件运行时故障的在线自检与切片恢复方法及装置 Download PDF

Info

Publication number
CN104298599B
CN104298599B CN201410562454.8A CN201410562454A CN104298599B CN 104298599 B CN104298599 B CN 104298599B CN 201410562454 A CN201410562454 A CN 201410562454A CN 104298599 B CN104298599 B CN 104298599B
Authority
CN
China
Prior art keywords
code
code segment
data
cpld
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410562454.8A
Other languages
English (en)
Other versions
CN104298599A (zh
Inventor
徐军
孙军峰
周庭梁
周宇恒
汪明新
张磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casco Signal Ltd
Original Assignee
Casco Signal Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casco Signal Ltd filed Critical Casco Signal Ltd
Priority to CN201410562454.8A priority Critical patent/CN104298599B/zh
Publication of CN104298599A publication Critical patent/CN104298599A/zh
Application granted granted Critical
Publication of CN104298599B publication Critical patent/CN104298599B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

本发明涉及一种嵌入式软件运行时故障的在线自检与切片恢复方法及装置,该方法采用离线与在线相结合的代码运行时故障检测机制,同时提供在线恢复代码段数据,所述的恢复方法具体包括以下步骤:1)代码段数据离线校验处理阶段;2)代码段实时检测与在线恢复阶段;所述的装置包括远程工作站PC机和嵌入式设备,该嵌入式设备包括主处理模块、电源模块和CPLD逻辑模块。与现有技术相比,本发明具有解决了应用程序代码段数据出现异常的问题,并且保证了应用程序的可靠性和安全性。

Description

嵌入式软件运行时故障的在线自检与切片恢复方法及装置
技术领域
本发明涉及一种提高软件代码段可靠性的技术,尤其是涉及一种嵌入式软件运行时故障的在线自检与切片恢复方法及装置。
背景技术
应用在轨道交通行业中的安全计算机,从外部设备接收数据,并进行逻辑运算处理,在实际应用中主要设计安全应用软件来实现逻辑运算的功能,安全应用软件在运行过程中执行的指令,被存储在安全计算机系统内存的代码段中,安全计算机系统所处的工作环境具有高温、震动剧烈、辐射强等特点,可能出现各种软硬件故障,导致存储在代码段中的数据发生异常,从而使任何运行在内存中的逻辑运算结果出错,最终影响整个系统的安全性和可靠性。
为了保证安全计算机代码段的正确性和可靠性,需要实时的对代码段进行检测,同时,如果发现代码段错误,应该采取一些措施来时安全计算机不会产生错误的输出。目前已有一些提高应用软件代码段可靠性的方法,但这些方法有以下不足:
1、对应用程序本身进行校验,不能动态在线的对代码段进行检测;
2、难以实时地发现因内存系统性故障引起代码段异常;
3、在发现代码段故障后,对系统应用软件功能进行恢复时,往往中断业务的时间比较长,其中恢复业务消耗时间长达秒级甚至分钟级;
4、通过系统自身软件对代码段副本进行一致性比较,来进行代码段检测,运算量大,占用系统资源,实时性不好;
5、自身软件文件损坏后,在现场对嵌入式板卡的设备进行恢复,需要采用专用设备对板卡的Flash进行烧写,操作繁琐,耗时长达秒级甚至分钟级。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种嵌入式软件运行时故障的在线自检与切片恢复方法,解决了应用程序代码段数据出现异常的问题,并且保证了应用程序的可靠性和安全性。
本发明的目的可以通过以下技术方案来实现:
一种嵌入式软件运行时故障的在线自检与切片恢复方法,其特征在于,该方法采用离线与在线相结合的代码运行时故障检测机制,同时提供在线恢复代码段数据,所述的恢复方法具体包括以下步骤:
1)代码段数据离线校验处理阶段;
2)代码段实时检测与在线恢复阶段。
所述的步骤1)代码段数据离线校验处理阶段具体为:
a1)在应用程序的代码编码完成后,放入工作站PC机上进行交叉编译,生成可在嵌入式设备上运行的ELF格式的可执行文件HPM.out;
a2)通过ELF文件离线解析工具OffLineParseElfTool来获取文件HPM.out的解析ELF信息头数据,从中计算段头数据总表的偏移与大小;
a3)OffLineParseElfTool在头数据总表中解析代码段信息头数据,计算代码段在ELF文件中的偏移与大小,然后从对应位置获取代码段数据;
a4)OffLineParseElfTool根据代码段数据和10组冗余码,生成10组离线校验数据;
a5)利用VHDL语言编写校验算法逻辑,并生成相应文件,将相应文件和离线生成的校验数据码数据烧写到CPLD中;
a6)通过ftp工具将可执行应用程序文件HPM.out进行远程下载,或在线烧写到嵌入式设备的板载Flash中。
在线烧写前,备份较老版本的应用程序文件为HPM.old,如果烧写失败,从HPM.old文件恢复,使用老版本应用程序。
所述的步骤2)代码段实时检测与在线恢复阶段具体为:
b1)嵌入式设备上电后,初始化硬件设备,并对CPLD模块进行初始化,如果初始化成功继续步骤b2),否则执行步骤b11);
b2)嵌入式设备的操作系统开始初始化,挂载Flash文件系统,并且创建系统初始化任务InitTask,如果初始化成功继续步骤b3),否则执行步骤b11);
b3)初始化任务InitTask从Flash文件系统的加载可执行文件HPM.out,加载到指定的内存区域;InitTask创建恢复任务RecoverTask、主处理任务MainTask和网络任务NetTask,并挂起恢复任务RecoverTask;InitTask获取对应代码段在内存区域中地址和大小,然后并从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,如果校验通过继续步骤b4),否则执行步骤b11);
b4)MainTask对嵌入式设备的系统数据进行逻辑处理,并执行步骤b5);
b5)判断定时中断是否触发,如果触发执行步骤b6),否则返回执行步骤b4);
b6)定时中断处理函数通过锁住操作系统操作来禁止任务调度和响应中断,然后通过CPLD根据冗余码来生成校验码,并与离线生成的校验码比较,如果校验通过继续步骤b7),否则执行步骤b8);
b7)解锁操作系统操作来恢复任务调度和响应中断,并返回执行步骤b4);
b8)获取主处理任务MainTask运行参数与系统状态变量切片值,并将这些变量切片值保存到系统内存的高内存的教育数据区,同时对该教育数据进行CRC(循环冗余校验码)处理,并保存CRC值,供教育恢复时,校验数据使用,继续步骤b9);
b9)调用在线恢复代码段功能模块,来恢复应用程序的代码段数据,判断如果恢复成功,执行步骤b10),否则执行步骤b11);
b10)从教育数据区恢复主处理任务MainTask运行参数与系统状态变量并返回执行步骤b4);
b11)控制板卡前面板上LED闪烁,来进行告警,并持续闪烁3分钟后,嵌入式设备重启。
所述的步骤b5)中的定时中断的周期为500ms。
6.根据权利要求4所述的一种嵌入式软件运行时故障的在线自检与切片恢复方法,其特征在于,所述的在线恢复代码段功能模块具体工作流程如下:
c1)解锁操作系统,激活创建恢复任务RecoverTask,RecoverTask开始运行,并关闭CPLD中定时器,继续步骤c2);
c2)恢复任务RecoverTask删除MainTask和NetTask,并且清除MainTask和NetTask的控制块信息,删除HPM.out模块加载信息,继续步骤c3);
c3)恢复任务RecoverTask从Flash文件系统的加载可执行文件HPM.out,从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,如果校验通过继续步骤c6),否则执行步骤c4);
c4)恢复任务RecoverTask通过FTP协议从远程工作站PC机下载可执行文件HPM.out,从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,继续步骤c5);
c5)判断校验码是否一致,如果校验码一致继续步骤c6),否则设置g_RECOVER为1,并执行步骤c8);
c6)恢复任务RecoverTask加载可执行文件HPM.out,加载到指定的内存区域;然后创建主处理任务MainTask和网络任务NetTask,并挂起恢复任务RecoverTask;
c7)判断是否加载成功,如果成功,设置g_RECOVER为0,否则,设置g_RECOVER为1,然后执行步骤c8);
c8)打开CPLD中的定时器,并返回。
一种嵌入式软件运行时故障的在线自检与切片恢复方法的装置,其特征在于,包括远程工作站PC机和嵌入式设备,该嵌入式设备包括主处理模块、电源模块和CPLD逻辑模块,所述的主处理模块包括微处理器以及分别与微处理器连接的内存模块、Flash模块、网络模块和看门狗模块,所述的CPLD逻辑模块包括分别与微处理器连接的HSD(High SpeedDetection)模块、LED指示模块、定时器模块,所述的网络模块与远程工作站PC机连接;
所述的主处理模块通过网络模块从外部设备接收网络数据包,然后由微处理器负责对接收的数据进行逻辑处理,所述的CPLD模块从主处理模块接收数据,并根据预先设计的冗余码生成在线校验码,所述的HSD模块负责生成在线校验码,并比较在线校验码和离线校验码的一致性。
所述的远程工作站PC机依次通过网络连接线、路由设备、以太网与嵌入式设备连接。
所述的电源模块将输入的220V电压转换成24V的电压,给主处理模块、CPLD模块供电。
与现有技术相比,本发明具有以下优点:
1、采用硬件逻辑进行代码段检测,检测速度高、不占用微处理器资源;
2、采用多组冗余码数据,通过离线工具生成校验码,与在线生成校验码一致性比较,提高了检测结果的可靠性;
3、以500ms为周期进行代码段在线检测,检测周期短,提高了系统的可靠性;
4、采用代码段切片在线恢复技术,不需要重启设备,能最低限度的降低对业务的影响;
5、采用切片参数再教育技术,保持代码恢复前与代码恢复后,系统处理数据的一致性,可以方便快捷重新开始处理业务,耗时为100秒,提高了设备的可用性。
6、通过在Flash文件系统中加载可执行文件和网络下载可执行文件相结合,加强了检测与恢复流程的稳定性和可靠性。
7、通过远程下载应用程序文件,方便快捷,中断业务时间为3分钟,提高了系统的可用性。
附图说明
图1为离线处理的流程图;
图2为代码段在线检测的流程图;
图3为代码段在线恢复的流程图;
图4为本发明的装置结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
图1、图2、图3所示为本发明的具体流程。结合图1、图2、图3和图4对以下各步骤进行详细描述:
如图1所示,一种嵌入式软件运行时故障的在线自检与切片恢复方法的代码段数据离线校验处理阶段,该阶段包括以下步骤:
1)在应用程序的代码编码完成后,在工作站PC机上进行交叉编译,生成可以在嵌入式设备上运行的ELF格式的可执行文件HPM.out;
2)通过ELF文件离线解析工具OffLineParseElfTool来获取文件HPM.out的解析ELF信息头数据,从中计算段头数据总表的偏移与大小;
3)OffLineParseElfTool在头数据总表中解析代码段信息头数据,计算代码段在ELF文件中的偏移与大小,然后从对应位置获取代码段数据;
4)OffLineParseElfTool根据代码段数据和10组冗余码,生成10组离线校验数据;
5)利用VHDL语言编写校验算法逻辑,并生成相应文件,将相应文件和离线生成的校验数据码数据烧写到CPLD中。
6)通过ftp工具将可执行应用程序文件HPM.out,远程下载,并在线烧写到嵌入式设备的板载Flash中。在烧写前,备份较老版本的应用程序文件为HPM.old,如果烧写失败,从HPM.old文件恢复,使用老版本应用程序。
如图2所示,一种嵌入式的代码运行时在线自检与恢复方法的代码段实时检测与在线恢复阶段,该阶段包括以下步骤:
101)嵌入式设备上电后,开始初始化CPU、RAM、Flash、网络芯片等硬件,并对CPLD模块进行初始化,如果初始化成功继续步骤102),否则执行步骤111);
102)嵌入式设备的操作系统开始初始化,挂载Flash文件系统,并且创建系统初始化任务InitTask,如果初始化成功继续步骤103),否则执行步骤111);
103)初始化任务InitTask从Flash文件系统的加载可执行文件HPM.out,加载到指定的内存区域:InitTask创建恢复任务RecoverTask、主处理任务MainTask和网络任务NetTask,并挂起恢复任务RecoverTask;InitTask获取对应代码段在内存区域中地址和大小,然后并从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,如果校验通过继续步骤104),否则执行步骤111);
104)MainTask对嵌入式设备的系统数据进行逻辑处理,并执行步骤105);
105)判断周期为500ms的定时中断是否触发,如果触发执行步骤106),否则返回执行步骤104);
106)定时中断处理函数通过锁住操作系统操作来禁止任务调度和响应中断,然后通过CPLD根据冗余码来生成校验码,并与离线生成的校验码比较,如果校验通过继续步骤107),否则执行步骤108);
107)解锁操作系统操作来恢复任务调度和响应中断,并返回执行步骤104);
108)获取主处理任务MainTask运行参数与系统状态变量值,并将这些变量值保存到系统内存的高内存的教育数据区,继续步骤109);
109)调用在线恢复代码段功能模块,来恢复应用程序的代码段数据,判断如果恢复成功,执行步骤110),否则执行步骤111);
110)从教育数据区恢复主处理任务MainTask运行参数与系统状态变量并返回执行步骤4);
111)控制板卡前面板上LED闪烁,来进行告警,并持续闪烁3分钟后,嵌入式设备重启。
如图3所示,一种嵌入式软件运行时故障的在线自检与切片恢复方法的代码段实时检测与在线恢复阶段,包含在线恢复代码段功能模块执行子阶段,该子阶段包括以下步骤:
201)解锁操作系统,激活创建恢复任务RecoverTask,RecoverTask开始运行,并关闭CPLD中定时器,继续步骤202);
202)恢复任务RecoverTask删除MainTask和NetTask,并且清除MainTask和NetTask的控制块信息,删除HPM.out模块加载信息。继续步骤203);
203)恢复任务RecoverTask从Flash文件系统的加载可执行文件HPM.out,从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,如果校验通过继续步骤206),否则执行步骤204);
204)恢复任务RecoverTask通过FTP协议从工作站PC机下载可执行文件HPM.out,从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较;
205)判断校验码是否一致,如果校验码一致继续步骤206),否则设置g_RECOVER为1,并执行步骤208);
206)恢复任务RecoverTask加载可执行文件HPMout,加载到指定的内存区域;然后创建主处理任务MainTask和网络任务NetTask,并挂起恢复任务RecoverTask;
207)判断是否加载成功,如果成功,设置g_RECOVER为0,否则,设置g_RECOVER为1,然后执行步骤208);
208)打开CPLD中的定时器,并返回。
(2)如图4所示,一种嵌入式软件运行时故障的在线自检与切片恢复装置,该装置包括远程工作站PC机f和嵌入式设备。所述远程工作站PC机为工业计算机。所述的嵌入式设备主要由主处理模块a、CPLD逻辑模块b和电源模块c组成,所述的主处理模块a由微处理器a1、内存模块a3、Flash模块a5、网络模块a2、看门狗模块a4组成,所述CPLD逻辑模块b主要由HSD(High Speed Detection)模块bl、LED指示模块b2、定时器模块b3组成,所述的电源模块c给主处理模块a、CPLD模块b供电,微处理器al通过本地系统总线与主处理模块a其他子模块(a2,a3,a4,a5)以及CPLD模块b连接,远程工作站PC机f通过网络连接线e、路由设备d、以太网g与嵌入式设备连接。
主处理模块a通过网络模块a2从外部设备接收网络数据包,然后由微处理器a1负责对接收的数据进行逻辑处理。网络模块a2采用1000M速率的网络芯片,微处理器a1的型号为ARM(Cortex-R)。内存模块a3为嵌入式设备运行提供内存空间。Flash模块a5主要用于Flash文件系统,存储可执行文件以及其他配置文件。看门狗模块a4主要负责系统监控功能,防止程序进入异常死循环状态。
CPLD模块b从主处理模块a接收数据,并根据预先设计的冗余码生成在线校验码。HSD模块b1负责生成在线校验码,并比较在线校验码和离线校验码的一致性。LED指示模块b2为多色LED灯,通过闪烁不同的颜色表示不同的告警内容。定时器模块b3主要负责产生定时器中断信号,中断信号的周期为500ms。
电源模块c将输入的220V电压转换成24V的电压,给主处理模块a、CPLD模块b供电。
主处理模块a上运行的操作系统为嵌入式vxWorks操作系统,HPM.out软件采用标准C语言进行软件开发。
CPLD模块b中的逻辑功能通过VHDL硬件逻辑语言开发。
远程工作站PC机f上运行的操作系统为Microsoft Windows XP Professional。网络连接线e为带屏蔽层的双绞线,路由设备d为思科路由器设备。
离线解析工具OffLineParseElfTool采用C++语言开发,软件开发环境为微软公司的Visual Studio 2010。
可执行文件HPM.out主要包含主处理任务和网络任务的逻辑代码,HPM.out的软件结构如下:
1)网络通信任务模块
通过网络协议接收输入数据和发送输出数据,数据包括状态信息和控制命令。
2)主处理任务模块
对输入的数据进行逻辑处理,并输出。
在应用程序编译完成后,会生成ELF格式的可执行文件HPM.out,利用离线解析工具OffLineParseElfTool从中提取出代码段数据,利用校验码生成算法结合设计好的10组冗余码,来生成10组离线校验码,并将生成的10组相异的校验码,存储到对应的文件中。10组冗余码如表1所示:表1
编号 冗余码
1 0x1E0F2F03
2 0x08D62F01
3 0x4F0F2F07
4 0xA3B2F07
5 0x1E0F2F8C
6 0xB5332FA1
7 0x1E0F2F3E
8 0x8DDB2FE9
9 0xF0072F3C
10 0x5DA42F25

Claims (7)

1.一种嵌入式软件运行时故障的在线自检与切片恢复方法,其特征在于,该方法采用离线与在线相结合的代码运行时故障检测机制,同时提供在线恢复代码段数据,所述的恢复方法具体包括以下步骤:
1)代码段数据离线校验处理阶段;
2)代码段实时检测与在线恢复阶段;
所述的步骤1)代码段数据离线校验处理阶段具体为:
a1)在应用程序的代码编码完成后,放入工作站PC机上进行交叉编译,生成可在嵌入式设备上运行的ELF格式的可执行文件HPM.out;
a2)通过ELF文件离线解析工具OffLineParseElfTool来获取文件HPM.out的解析ELF信息头数据,从中计算头数据总表的偏移与大小;
a3)OffLineParseElfTool在头数据总表中解析代码段信息头数据,计算代码段在ELF文件中的偏移与大小,然后从对应位置获取代码段数据;
a4)OffLineParseElfTool根据代码段数据和10组冗余码,生成10组离线校验数据;
a5)利用VHDL语言编写校验算法逻辑,并生成相应文件,将相应文件和离线生成的校验数据码数据烧写到CPLD中;
a6)通过ftp工具将可执行应用程序文件HPM.out进行远程下载,或在线烧写到嵌入式设备的板载Flash中;
所述的步骤2)代码段实时检测与在线恢复阶段具体为:
b1)嵌入式设备上电后,初始化硬件设备,并对CPLD模块进行初始化,如果初始化成功继续步骤b2),否则执行步骤b11);
b2)嵌入式设备的操作系统开始初始化,挂载Flash文件系统,并且创建系统初始化任务InitTask,如果初始化成功继续步骤b3),否则执行步骤b11);
b3)初始化任务InitTask从Flash文件系统的加载可执行文件HPM.out,加载到指定的内存区域;InitTask创建恢复任务RecoverTask、主处理任务MainTask和网络任务NetTask,并挂起恢复任务RecoverTask;InitTask获取对应代码段在内存区域中地址和大小,然后并从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,如果校验通过继续步骤b4),否则执行步骤b11);
b4)MainTask对嵌入式设备的系统数据进行逻辑处理,并执行步骤b5);
b5)判断定时中断是否触发,如果触发执行步骤b6),否则返回执行步骤b4);
b6)定时中断处理函数通过锁住操作系统操作来禁止任务调度和响应中断,然后通过CPLD根据冗余码来生成校验码,并与离线生成的校验码比较,如果校验通过继续步骤b7),否则执行步骤b8);
b7)解锁操作系统操作来恢复任务调度和响应中断,并返回执行步骤b4);
b8)获取主处理任务MainTask运行参数与系统状态变量切片值,并将这些变量切片值保存到系统内存的高内存的教育数据区,同时对该教育数据区进行CRC处理,并保存CRC值,供教育恢复时,校验数据使用,继续步骤b9);
b9)调用在线恢复代码段功能模块,来恢复应用程序的代码段数据,判断如果恢复成功,执行步骤b10),否则执行步骤b11);
b10)从教育数据区恢复主处理任务MainTask运行参数与系统状态变量并返回执行步骤b4);
b11)控制板卡前面板上LED闪烁,来进行告警,并持续闪烁3分钟后,嵌入式设备重启。
2.根据权利要求1所述的一种嵌入式软件运行时故障的在线自检与切片恢复方法,其特征在于,在线烧写前,备份较老版本的应用程序文件为HPM.old,如果烧写失败,从HPM.old文件恢复,使用老版本应用程序。
3.根据权利要求1所述的一种嵌入式软件运行时故障的在线自检与切片恢复方法,其特征在于,所述的步骤b5)中的定时中断的周期为500ms。
4.根据权利要求1所述的一种嵌入式软件运行时故障的在线自检与切片恢复方法,其特征在于,所述的在线恢复代码段功能模块具体工作流程如下:
c1)解锁操作系统,激活创建恢复任务RecoverTask,RecoverTask开始运行,并关闭CPLD中定时器,继续步骤c2);
c2)恢复任务RecoverTask删除MainTask和NetTask,并且清除MainTask和NetTask的控制块信息,删除HPM.out模块加载信息,继续步骤c3);
c3)恢复任务RecoverTask从Flash文件系统的加载可执行文件HPM.out,从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,如果校验通过继续步骤c6),否则执行步骤c4);
c4)恢复任务RecoverTask通过FTP协议从远程工作站PC机下载可执行文件HPM.out,从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,继续步骤c5);
c5)判断校验码是否一致,如果校验码一致继续步骤c6),否则设置g_RECOVER为1,并执行步骤c8);
c6)恢复任务RecoverTask加载可执行文件HPM.out,加载到指定的内存区域;然后创建主处理任务MainTask和网络任务NetTask,并挂起恢复任务RecoverTask;
c7)判断是否加载成功,如果成功,设置g_RECOVER为0,否则,设置g_RECOVER为1,然后执行步骤c8);
c8)打开CPLD中的定时器,并返回。
5.一种实施权利要求1至4中任一的嵌入式软件运行时故障的在线自检与切片恢复方法的装置,其特征在于,包括远程工作站PC机和嵌入式设备,该嵌入式设备包括主处理模块、电源模块和CPLD逻辑模块,所述的主处理模块包括微处理器以及分别与微处理器连接的内存模块、Flash模块、网络模块和看门狗模块,所述的CPLD逻辑模块包括分别与微处理器连接的HSD模块、LED指示模块、定时器模块,所述的网络模块与远程工作站PC机连接;
所述的主处理模块通过网络模块从外部设备接收网络数据包,然后由微处理器负责对接收的数据进行逻辑处理,所述的CPLD逻辑模块从主处理模块接收数据,并根据预先设计的冗余码生成在线校验码,所述的HSD模块负责生成在线校验码,并比较在线校验码和离线校验码的一致性。
6.根据权利要求5所述的装置,其特征在于,所述的远程工作站PC机依次通过网络连接线、路由设备、以太网与嵌入式设备连接。
7.根据权利要求5所述的装置,其特征在于,所述的电源模块将输入的220V电压转换成24V的电压,给主处理模块、CPLD模块供电。
CN201410562454.8A 2014-10-21 2014-10-21 嵌入式软件运行时故障的在线自检与切片恢复方法及装置 Active CN104298599B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410562454.8A CN104298599B (zh) 2014-10-21 2014-10-21 嵌入式软件运行时故障的在线自检与切片恢复方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410562454.8A CN104298599B (zh) 2014-10-21 2014-10-21 嵌入式软件运行时故障的在线自检与切片恢复方法及装置

Publications (2)

Publication Number Publication Date
CN104298599A CN104298599A (zh) 2015-01-21
CN104298599B true CN104298599B (zh) 2017-09-15

Family

ID=52318334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410562454.8A Active CN104298599B (zh) 2014-10-21 2014-10-21 嵌入式软件运行时故障的在线自检与切片恢复方法及装置

Country Status (1)

Country Link
CN (1) CN104298599B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105388883A (zh) * 2015-11-05 2016-03-09 株洲南车时代电气股份有限公司 主机插件的运行自检方法和装置
CN106354635B (zh) * 2016-08-25 2018-11-09 许继集团有限公司 一种嵌入式设备的程序代码段自检方法及装置
CN108762821B (zh) * 2017-04-18 2023-04-25 海马云(天津)信息技术有限公司 电子设备运行应用的装置及方法、电子设备
CN107301042B (zh) * 2017-06-06 2020-07-14 北京航天自动控制研究所 一种带自检功能的SoC应用程序引导方法
CN107491313B (zh) * 2017-08-28 2021-07-13 深圳市壹起教育科技有限公司 一种嵌入式教学系统控制方法及装置
CN109614279B (zh) * 2018-12-07 2022-03-15 陕西瑞迅电子信息技术有限公司 一种工控机自检系统及其控制方法和相关设备
CN109635567B (zh) * 2019-01-29 2022-12-16 腾讯科技(深圳)有限公司 针对应用客户端的校验方法、装置及服务器平台

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1704763A (zh) * 2004-06-01 2005-12-07 阿尔卡特公司 电子设备诊断方法和系统
CN1755646A (zh) * 2004-09-29 2006-04-05 微软公司 关于自动测试用例执行的松散耦合的自动测试用例验证
CN103176876A (zh) * 2013-03-19 2013-06-26 卡斯柯信号有限公司 一种高效安全的计算机在线自检方法及自检装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8607099B2 (en) * 2010-12-17 2013-12-10 Microsoft Corporation Online fault verification in a file system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1704763A (zh) * 2004-06-01 2005-12-07 阿尔卡特公司 电子设备诊断方法和系统
CN1755646A (zh) * 2004-09-29 2006-04-05 微软公司 关于自动测试用例执行的松散耦合的自动测试用例验证
CN103176876A (zh) * 2013-03-19 2013-06-26 卡斯柯信号有限公司 一种高效安全的计算机在线自检方法及自检装置

Also Published As

Publication number Publication date
CN104298599A (zh) 2015-01-21

Similar Documents

Publication Publication Date Title
CN104298599B (zh) 嵌入式软件运行时故障的在线自检与切片恢复方法及装置
Raiteri et al. Repairable fault tree for the automatic evaluation of repair policies
WO2022000716A1 (zh) 一种工业安全plc控制器的安全控制方法
US8645118B2 (en) Fault support in an emulation environment
US20070282457A1 (en) Programmable controller
CN104216746B (zh) 一种星上设备dsp程序地面在线烧写的实时监控和校验方法
CN108038021B (zh) 一种计算机程序运行阶段代码内存校验方法
CN115525557A (zh) Pfr异常情况恢复cpld能力方法、系统、电子设备及存储介质
CN106339553B (zh) 一种空间飞行器的重构飞行控制方法及系统
Mader et al. A computer-aided approach to preliminary hazard analysis for automotive embedded systems
Issad et al. A scenario-based FMEA method and its evaluation in a railway context
CN112947964A (zh) 一种芯片的固件更新方法、装置、设备及存储介质
Medikonda et al. A framework for software safety in safety-critical systems
CN115242753B (zh) 网卡mac地址烧录方法、系统、电子设备与存储介质
CN115934559A (zh) 表单智能测试系统的测试方法
CN103144657B (zh) 带校验板的通用轨旁安全平台主处理子系统
CN202771317U (zh) 一种基于divbit 技术的安全计算机
CN111552263B (zh) 用于检查工业设施的方法、计算机可读存储介质和系统
Swarup et al. An approach to modeling software safety
CN113051581A (zh) 一种高度综合化复杂软件安全性分析方法
CN106354930A (zh) 一种空间飞行器的自适应重构方法及系统
Beer et al. Model-based quantitative safety analysis of Matlab Simulink/Stateflow models
CN110377320B (zh) 一种基于双flash的dsp代码在线更新系统及方法
Ekman et al. Tool Qualification for Safety Related Systems.
KR101347748B1 (ko) 씨피에스에서의 자율 컴퓨팅 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant