[发明专利]嵌入式软件运行时故障的在线自检与切片恢复方法及装置有效
申请号: | 201410562454.8 | 申请日: | 2014-10-21 |
公开(公告)号: | CN104298599B | 公开(公告)日: | 2017-09-15 |
发明(设计)人: | 徐军;孙军峰;周庭梁;周宇恒;汪明新;张磊 | 申请(专利权)人: | 卡斯柯信号有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/10 |
代理公司: | 上海科盛知识产权代理有限公司31225 | 代理人: | 赵志远 |
地址: | 200070 上海市闸北区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种嵌入式软件运行时故障的在线自检与切片恢复方法及装置,该方法采用离线与在线相结合的代码运行时故障检测机制,同时提供在线恢复代码段数据,所述的恢复方法具体包括以下步骤1)代码段数据离线校验处理阶段;2)代码段实时检测与在线恢复阶段;所述的装置包括远程工作站PC机和嵌入式设备,该嵌入式设备包括主处理模块、电源模块和CPLD逻辑模块。与现有技术相比,本发明具有解决了应用程序代码段数据出现异常的问题,并且保证了应用程序的可靠性和安全性。 | ||
搜索关键词: | 嵌入式 软件 运行 故障 在线 自检 切片 恢复 方法 装置 | ||
【主权项】:
一种嵌入式软件运行时故障的在线自检与切片恢复方法,其特征在于,该方法采用离线与在线相结合的代码运行时故障检测机制,同时提供在线恢复代码段数据,所述的恢复方法具体包括以下步骤: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分钟后,嵌入式设备重启。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卡斯柯信号有限公司,未经卡斯柯信号有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410562454.8/,转载请声明来源钻瓜专利网。