一种软件错误现场定位及处理的方法及装置制造方法及图纸

技术编号:16919127 阅读:31 留言:0更新日期:2017-12-31 14:46
本发明专利技术公开了一种软件错误现场定位及处理的方法及装置,涉及嵌入式系统技术领域,其方法包括:系统上电后,各数字信号处理单元对其运行软件进行软件错误检测;未检测到软件错误的数字信号处理单元,向中央处理单元发送处理器状态正常通知消息,并进行正常操作;检测到软件错误的数字信号处理单元,则进入不可屏蔽中断,并停止向中央处理单元发送处理器状态正常通知消息。本发明专利技术在处理器自检测软件错误的同时,借助系统中的其它处理器进行协同检测软件错误,提高了软件错误检出概率。

【技术实现步骤摘要】
一种软件错误现场定位及处理的方法及装置
本专利技术涉及嵌入式系统
,特别涉及一种软件错误现场定位及处理的方法及装置。
技术介绍
凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统,嵌入式系统可采用多种类型的处理器和处理器体系结构。嵌入式系统有着广泛的应用领域和应用前景,如手机、数字相机、数字摄像机、机顶盒、高清电视、游戏机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等。随着软件规模的逐渐扩大,它的复杂度也在增加,软件可靠性往往随着规模的增加而下降,软件质量也越来越难保证,尽管加强了软件开发过程的管理,开发了良好的测试用例,采用了多种测试方法,都不能保证软件运行过程中完全没有异常,其中,内存异常和程序进入某个异常分支而导致死循环,都是很难定位和排查的。内存异常可能是内存的读写超过了正常的范围,比如数组越界、堆栈溢出,也可能是内存存储单元长期受外界条件影响而失效。容易触发的软件错误往往在开发和测试阶段就已解决,遗留到产品中的软件错误往往程序运行一段时间后才会暴露问题,难以及时定位。目前,嵌入式系统软件开发商对这种软件异常错误发现和处理各不相同,并没有统一的方式。通常,软件错误检测都是停留调度和算法级别上的检测,不主动检测内存方面的异常,程序一直处于异常状态,或程序异常退出,或待人为发现程序异常后主动复位系统,未能识别是嵌入式系统中的哪个处理器造成的错误,是否有必要复位整个系统。或者软件错误检测单元和被检测单元是同一个处理器上,一旦发生软件错误,无法保证检测错误检测单元能够正常工作。或者主动监测代码异常,发现异常时才会复位处理器,此时内存改写可能已经发生一段时间了,即使保存内存信息也不是最接近异常现场的。
技术实现思路
根据本专利技术实施例提供的方案解决的技术问题是无法及时发现处理器是否发生了软件错误。根据本专利技术实施例提供的一种软件错误现场定位及处理的方法,包括:系统上电后,各数字信号处理单元对其运行软件进行软件错误检测;未检测到软件错误的数字信号处理单元,向中央处理单元发送处理器状态正常通知消息,并进行正常操作;检测到软件错误的数字信号处理单元,则进入不可屏蔽中断,并停止向中央处理单元发送处理器状态正常通知消息。优选地,当所述中央处理单元未收到处理器状态正常通知消息时,则确认相应数字信号处理单元出现了软件错误;其中,所述软件错误包括数字信号处理单元检测到的内存代码段改写,和/或堆栈溢出,和/或异常表改写的软件错误和数字信号处理单元未检测到的错误代码引起程序进入死循环和错误代码引起程序代码跑飞的软件错误。优选地,所述中央处理单元确认相应数字信号处理单元出现了软件错误后,包括:所述中央处理单元停止向相应数字信号处理单元指派业务。优选地,所述中央处理单元确认相应数字信号处理单元出现了软件错误后,包括:所述中央处理单元启动定时器开始计时,并读取相应数字信号处理单元的内存数据;所述中央处理单元将所读取的内存数据发送到服务器进行保存;当所述中央处理单元的定时器计时到预置时间或内存数据全部保存至服务器时,通知相应数字信号处理单元进行软件复位。优选地,所述中央处理单元接收到数字信号处理单元发送的处理器状态正常通知消息后,包括:所述中央处理单元对数字信号处理单元发送的处理器状态正常通知消息进行校验;若对所述处理器状态正常通知消息校验成功,则所述中央处理单元向相应数字信号处理单元指派业务;若对所述处理器状态正常通知消息校验失败,则所述中央处理单元确认相应数字信号处理单元出现了软件错误。根据本专利技术实施例提供的一种软件错误现场定位及处理的装置,包括:检测模块,用于系统上电后,各数字信号处理单元对其运行软件进行软件错误检测;第一处理模块,用于未检测到软件错误的数字信号处理单元,向中央处理单元发送处理器状态正常通知消息,并进行正常操作;第二处理模块,用于检测到软件错误的数字信号处理单元,则进入不可屏蔽中断,并停止向中央处理单元发送处理器状态正常通知消息。优选地,还包括第三处理模块,用于检测到所述中央处理单元未收到处理器状态正常通知消息时,则确认相应数字信号处理单元出现了软件错误;其中,所述软件错误包括数字信号处理单元检测到的内存代码段改写,和/或堆栈溢出,和/或异常表改写的软件错误和数字信号处理单元未检测到的错误代码引起程序进入死循环和错误代码引起程序代码跑飞的软件错误。优选地,所述第三处理模块还用于控制所述中央处理单元停止向出现了软件错误的数字信号处理单元指派业务。优选地,所述第三处理模块还用于启动所述中央处理单元的定时器开始计时,并读取相应数字信号处理单元的内存数据,并将所读取的内存数据发送到服务器进行保存,以及当定时器计时到预置时间或内存数据全部保存至服务器时,通知相应数字信号处理单元进行软件复位。优选地,所述第三处理模块还用于所述控制中央处理单元对数字信号处理单元发送的处理器状态正常通知消息进行校验,并在对所述处理器状态正常通知消息校验成功时,向相应数字信号处理单元指派业务,以及在对所述处理器状态正常通知消息校验失败时,则确认相应数字信号处理单元出现了软件错误。根据本专利技术实施例提供的方案,处理器自己检测软件错误的同时,借助其它处理器单元协助检测,提高了软件错误检出概率。发现错误后,保存更接近错误现场发生时刻的内存数据,为后续分析出错原因提供了有效的参考。业务指派时控制新发起的业务只在监测的处理器状态正常通知正常的处理器单元上运行,不会引起新的使用异常。附图说明图1是本专利技术实施例提供的一种软件错误现场定位及处理的方法流程图;图2是本专利技术实施例提供的一种软件错误现场定位及处理的装置示意图;图3是本专利技术实施例提供的软件错误现场定位及处理的系统示意图;图4是本专利技术实施例提供的图3中的数字信号处理单元的流程图;图5是本专利技术实施例提供的图3中的中央处理单元的流程图。具体实施方式以下结合附图对本专利技术的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。图1是本专利技术实施例提供的一种软件错误现场定位及处理的方法流程图,如图1所示,包括:步骤S101:系统上电后,各数字信号处理单元对其运行软件进行软件错误检测;步骤S102:未检测到软件错误的数字信号处理单元,向中央处理单元发送处理器状态正常通知消息,并进行正常操作;步骤S103:检测到软件错误的数字信号处理单元,则进入不可屏蔽中断,并停止向中央处理单元发送处理器状态正常通知消息。其中,当所述中央处理单元未收到处理器状态正常通知消息时,则确认相应数字信号处理单元出现了软件错误;其中,所述软件错误包括数字信号处理单元检测到的内存代码段改写,和/或堆栈溢出,和/或异常表改写的软件错误和数字信号处理单元未检测到的错误代码引起程序进入死循环和错误代码引起程序代码跑飞的软件错误。具体地说,所述中央处理单元确认相应数字信号处理单元出现了软件错误后,包括:所述中央处理单元停止向相应数字信号处理单元指派业务。具体地说,所述中央处理单元确认相应数字信号处理单元出现了软件错误后,包括:所述中央处理单元启动定时器开始计时,并读取相应数字信号处理单元的内存数据;所述中央处理单元将所读取的内存数据发送到服务器进行保存;当所述中央处理单元本文档来自技高网
...
一种软件错误现场定位及处理的方法及装置

【技术保护点】
一种软件错误现场定位及处理的方法,包括:系统上电后,各数字信号处理单元对其运行软件进行软件错误检测;未检测到软件错误的数字信号处理单元,向中央处理单元发送处理器状态正常通知消息,并进行正常操作;检测到软件错误的数字信号处理单元,则进入不可屏蔽中断,并停止向中央处理单元发送处理器状态正常通知消息。

【技术特征摘要】
1.一种软件错误现场定位及处理的方法,包括:系统上电后,各数字信号处理单元对其运行软件进行软件错误检测;未检测到软件错误的数字信号处理单元,向中央处理单元发送处理器状态正常通知消息,并进行正常操作;检测到软件错误的数字信号处理单元,则进入不可屏蔽中断,并停止向中央处理单元发送处理器状态正常通知消息。2.根据权利要求1所述的方法,当所述中央处理单元未收到处理器状态正常通知消息时,则确认相应数字信号处理单元出现了软件错误;其中,所述软件错误包括数字信号处理单元检测到的内存代码段改写,和/或堆栈溢出,和/或异常表改写的软件错误和数字信号处理单元未检测到的错误代码引起程序进入死循环和错误代码引起程序代码跑飞的软件错误。3.根据权利要求1或2所述的方法,所述中央处理单元确认相应数字信号处理单元出现了软件错误后,包括:所述中央处理单元停止向相应数字信号处理单元指派业务。4.根据权利要求3所述的方法,所述中央处理单元确认相应数字信号处理单元出现了软件错误后,包括:所述中央处理单元启动定时器开始计时,并读取相应数字信号处理单元的内存数据;所述中央处理单元将所读取的内存数据发送到服务器进行保存;当所述中央处理单元的定时器计时到预置时间或内存数据全部保存至服务器时,通知相应数字信号处理单元进行软件复位。5.根据权利要求4所述的方法,所述中央处理单元接收到数字信号处理单元发送的处理器状态正常通知消息后,包括:所述中央处理单元对数字信号处理单元发送的处理器状态正常通知消息进行校验;若对所述处理器状态正常通知消息校验成功,则所述中央处理单元向相应数字信号处理单元指派业务;若对所述处理器状态正常通知消息校验失败,则所述中央处...

【专利技术属性】
技术研发人员:王丹丹
申请(专利权)人:上海中兴软件有限责任公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1