嵌入式处理器宕机的处理方法技术

技术编号:12223608 阅读:70 留言:0更新日期:2015-10-22 01:32
本发明专利技术涉及嵌入式系统领域,提供了一种基于硬件与软件共同检测并处理嵌入式处理器的宕机异常方法,提供了新的处理器宕机后处理手段,增强了嵌入式系统的可调测性,有利于准确、高效的定位嵌入式处理器宕机类的复杂问题。

【技术实现步骤摘要】

本专利技术涉及嵌入式系统领域,尤其涉及一种基于硬件与软件共同检测并处理嵌入式处理器的宕机异常方法。
技术介绍
嵌入式处理器中的软件在运行中如果发生致命的异常,会使处理器宕机,导致控制端软件无法接入,处理器上的调试信息无法获取。尤其是在脱离硬件仿真器的正式产品运行环境下,嵌入式处理器在宕机时,缺乏手段获取处理器的软件运行记录,不容易对处理器的宕机原因进行分析。通常的宕机处理流程如图1所示,在该流程中,处理器的复位破坏了宕机时的第一运行现场,无法对异常原因进行分析;并且该流程往往需要大量的测试版本进行尝试,才能定位问题。
技术实现思路
为解决现有技术中存在的上述问题,本专利技术实施例一方面提供了一种,方法包括: 使用软件存活检测为后续处理器是否存活的判断提供第一依据; 使用硬件存活检测为后续处理器是否存活的判断提供第二依据; 处理器存活判断根据软件与硬件的检测结果决定处理器是否存活; 处理器软复位对宕机进行强制恢复,但不破坏处理器的运行环境; 处理器根据硬件特征,决定是运行宕机后处理程序,或者重新运行正常程序。宕机后处理程序用于重新建立与控制端的通信链路; 宕机后处理程序将处理器宕机后的内存传送给控制端; 在链接正常程序时,保留一段内存,在生成正常程序的可执行文件镜象后,将宕机后处理程序追加到预留的内存中。本专利技术实施例,采用一种基于硬件与软件共同检测并处理嵌入式处理器的宕机异常方法,提供了新的处理器宕机后处理手段,增强了嵌入式系统的可调测性,有利于准确、高效的定位嵌入式处理器宕机类的复杂问题。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为嵌入式处理器的宕机常规处理流程的示意图; 图2为本专利技术的嵌入式处理器的宕机处理的第一实施例的流程示意图; 图3为本专利技术的和装置的第一实施例中宕机后处理程序的存储不意图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图2,是本专利技术的的第一实施例的流程示意图,该方法包括: 步骤Sll:软件存活检测。本步骤中,软件模块基于请求?应答的模式,由控制端向被检测的处理器发送软件请求,要求处理器进行响应。本步骤中,在控制端发出请求后,同时启动接收时间窗,如果在时间窗内未收到被检测端的响应,则记为一次检测超时,同时再次发送请求。在经过连续的多次检测超时后,即可认为处理器不存活。示例性的,可以从控制端向被检测的处理器发送PING命令,或发送特定格式的数据字段。步骤S12:硬件存活检测。本步骤中,硬件存活检测基于侦听模式,即由跟被检测处理器连接的其它处理器或芯片,被动的检测处理器的活动状态,如检测处理器外部管脚上的电平变化。硬件存活检测较软件存活检测有更严格的要求,如果在设定的时间窗内,一直未检测到处理器的活动状态变化,即可认为处理器不存活。步骤S13:判定处理器是否存活。本步骤中,根据Sll和S12的检测结果判定处理器是否存活。步骤S14:处理器软复位。本步骤中,当判定为处理器不存活后,触发处理器的软复位,使程序从启动代码开始重新执行。软复位的触发方式,可以通过与被检测处理器相连接的其它处理器来触发,或者直接使用跟处理器软复位管脚连接的其它可行方式。步骤S15:读取硬件特征。本步骤中,根据期望的后续处理流程,需要设定硬件特征,从而使启动代码选择相应的可执行程序。启动代码在最开始的最小运行环境中,需要读取硬件特征。硬件特征如处理器外部管脚的电平,处理器内部某个寄存器等。步骤S16:判定是否进行宕机后处理。本步骤中,当启动代码将根据硬件特征判定需要运行宕机后处理程序。步骤S17:运行宕机后处理程序。本步骤中,启动代码将跳转到宕机后处理程序执行。宕机后处理程序用于重新建立与控制端的通信链路,并且将处理器在宕机后的内存传送给控制端,开发人员再利用收集的内存信息对宕机的原因进行分析。本专利技术实施例,为用户提供了嵌入式系统宕机后的分析手段,便于用户读取准确的获取处理宕机的原因,提高问题定位的效率。上文对本专利技术中嵌入式系统的调试方法的实施例作了详细介绍。下面将相应于上述方法的调试装置作进一步阐述。图3,是本专利技术的嵌入式系统的调试装置的第一实施例中宕机后处理程序的存储结构示意图,该装置100包括正常程序110、宕机后处理程序120。其中,模块110,是用户的正常功能代码;模块120,是存储宕机后处理程序的预留的内存。在编译与链接宕机后处理程序时,需要指定程序的运行堆栈、数据段、代码段等所有内容,均只能在预留的内存中存在。以上所述仅为本专利技术的较佳实施例而已,并不用于限定本专利技术,凡在本专利技术的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本专利技术的保护范围之内。【主权项】1.一种,其特征在于,所述方法包括: 软件存活检测为后续处理器是否存活的判断提供第一依据; 硬件存活检测为后续处理器是否存活的判断提供第二依据; 处理器存活判断根据软件与硬件的检测结果决定处理器是否存活; 处理器软复位对宕机进行强制恢复,但不破坏处理器的运行环境; 处理器重新运行启动代码; 处理器根据硬件特征,决定是运行宕机后处理程序,或者重新运行正常程序。2.如权利要求1所述的方法,其特征在于,所述软件存活检测基于请求?应答的模式,即由控制端向被检测的处理器发送软件请求,要求处理器进行响应。3.如权利要求1所述的方法,其特征在于,所述软件存活检测在控制端发出请求后,同时启动接收时间窗,如果在时间窗内未收到被检测端的响应,则记为检测超时,同时再次发送请求; 所述软件存活检测在经过连续的多次检测超时后,即可认为处理器不存活。4.如权利要求1所述的方法,其特征在于,所述硬件存活检测基于侦听模式,由与被检测处理器连接的其它处理器或芯片,被动的检测处理器的活动状态; 所述的硬件存活检测在设定的时间窗内,一直未检测到处理器的活动状态变化,即可认为处理器不存活。5.如权利要求1所述的方法,其特征在于,当判定处理器不存活后,触发所述处理器的软复位,使程序从启动代码开始重新执行。6.如权利要求1所述的方法,其特征在于,所述根据期望的后续处理流程,需要设定硬件特征,从而使启动代码选择相应的可执行程序; 所述启动代码在最开始的最小运行环境中,需要读取硬件特征。7.如权利要求1所述的方法,其特征在于,所述宕机后处理程序当启动代码根据硬件特征判定需要运行时,程序将跳转到所述宕机后处理程序执行。8.如权利要求1所述的方法,其特征在于,所述宕机后处理程序的方法包括: 用于重新建立与控制端的通信链路; 将处理器宕机后的内存传送给控制端; 开发人员再利用收集的内存信息对宕机的原因进行分析。9.如权利要求1所述的方法,其特征在于,所述宕机后处理程序是在内存保留区本文档来自技高网...

【技术保护点】
一种嵌入式处理器宕机的处理方法,其特征在于,所述方法包括:软件存活检测为后续处理器是否存活的判断提供第一依据;硬件存活检测为后续处理器是否存活的判断提供第二依据;处理器存活判断根据软件与硬件的检测结果决定处理器是否存活;处理器软复位对宕机进行强制恢复,但不破坏处理器的运行环境;处理器重新运行启动代码;处理器根据硬件特征,决定是运行宕机后处理程序,或者重新运行正常程序。

【技术特征摘要】

【专利技术属性】
技术研发人员:何宗彬周果
申请(专利权)人:成都彬鸿科技有限公司
类型:发明
国别省市:四川;51

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

1