一种终端故障处理方法及相关装置制造方法

文档序号:6490681阅读:133来源:国知局
一种终端故障处理方法及相关装置制造方法
【专利摘要】本发明实施例公开了一种终端故障处理方法及相关装置,用于在终端死机的情况之后保存死机前与运行环境相关的数据。本发明实施例方法包括:当芯片发生异常时,触发终端进行复位;在所述终端进行复位时,将动态存储器存储的代码和运行数据保存到静态存储器;重新启动所述终端。
【专利说明】一种终端故障处理方法及相关装置
【技术领域】
[0001]本发明涉及电子终端领域,尤其涉及一种终端故障处理方法及相关装置。
【背景技术】
[0002]随着无线通信技术的发展,移动终端设备的实现也越来越复杂,目前的移动终端不仅需要支持全球移动通讯系统、通用分组无线服务技术、增强型数据速率全球移动通讯系统演进技术、宽带码分多址技术和时分同步码分多址技术,还需要支持长期演进技术,这给终端开发和设计带来了很大困难。为了保证产品质量,虽然在开发过程中采用了层层质量控制,但还是存在很多问题,并遗漏到了产品集成测试环节或是商用终端环节,极大影响了用户体验,关键这些问题往往是偶然出现,这给问题的跟踪和分析带来很多困难。
[0003]其实,在终端开发过程中终端异常死机是一种非常普遍存在问题,从终端实现技术来讲,造成终端异常死机常见情况有:第一:代码设计缺陷,主要体现在内存使用错误,造成了内存泄露;程序中指针非法修改;以及流程设计错误等等;第二:基带硬件本身存在差异,运行不稳定,造成了基带和看门狗异常,例如基带总线挂死;电池电压低时候等,由于不确定因数造成基带崩溃;以及测试不充分,测试不能够覆盖所有的场景或是代码分支。即使在商用的终端中,也是会偶尔出现,由于终端异常死机存在的偶然性以及不确定性,所以当发生了终端死机之后,终端运行环境很难保存,没有具体的数据提供开发人员进行分析,这对问题的定位带来分析不便,加之终端异常死机,问题具有不可恢复性,整个终端的软件系统都可能存在运行崩溃的情况,这给终端异常死机的软件环境保存带来了很大的困难。
[0004]在现有技术中,当终端发生异常死机时,终端内的看门狗电路会直接复位终端复位(RESET)管脚,导致了终端从基本输入输出系统(BIOS, BasicInput Output System)开始运行,此时所有的终端异常死机环境都会被清除,难以为技术人员提供分析的数据。

【发明内容】

[0005]本发明实施例提供了一种终端故障处理方法及相关装置,用于在终端死机的情况之后保存死机前与运行环境相关的数据。
[0006]本发明提供的终端故障处理方法,包括:
[0007]当芯片发生异常时,触发终端进行复位;在所述终端进行复位时,将动态存储器存储的代码和运行数据保存到静态存储器;重新启动所述终端。
[0008]本发明提供的终端故障处理装置方法,包括:
[0009]芯片和看门狗电路;
[0010]所述看门狗电路用于当芯片发生异常时,触发芯片对所述终端进行复位;
[0011]所述芯片包括:保存单元和重启单元;
[0012]所述保存单元用于在所述终端进行复位时,将动态存储器存储的代码和运行数据保存到静态存储器;
[0013]所述重启单元用于在将动态存储器存储的代码和运行数据保存到静态存储器之后,重新启动所述终端。
[0014]从以上技术方案可以看出,本发明实施例具有以下优点:
[0015]在本发明实施例中,当芯片发生异常时,则触发终端进行复位,在进行复位时,可以将动态存储器存储的代码和运行数据保存到静态存储器中,使得动态存储器中与运行环境相关的数据在被清除之前保存了下来,从而为技术人员分析终端死机的原因提供了依据。
【专利附图】

【附图说明】
[0016]图1是本发明实施例终端故障处理方法的一个流程示意图;
[0017]图2是本发明实施例终端故障处理方法的另一个流程示意图;
[0018]图3是本发明实施例终端故障处理方法的另一个流程示意图;
[0019]图4是本发明实施例终端故障处理装置的逻辑结构示意图。
【具体实施方式】
[0020]本发明实施例提供了一种终端故障处理方法及相关装置,用于在终端死机的情况之后保存死机前与运行环境相关的数据。
[0021]请参阅图1,本发明实施例中终端故障处理方法的一个实施例包括:
[0022]101、当芯片发生异常时,触发终端进行复位;
[0023]当检测到芯片发生异常时,触发芯片中的RESET管脚。
[0024]102、将动态存储器存储的代码和运行数据保存到静态存储器;
[0025]在所述终端进行复位的过程中,将动态存储器存储的代码和运行数据保存到静态存储器。
[0026]可选的,可以保存动态存储器存储的所有代码和运行数据,也可以选择保存在指定地址中存储的,与运行环境相关的数据;具体选择哪种保存方式可以根据实际需求而定,此处具体不作限定。
[0027]103、重新启动所述终端。
[0028]在动态存储器中的数据保存完之后,可以进入正常的终端启动流程,覆盖动态存储器中的所有内容,重新启动所述终端。
[0029]在本发明实施例中,当芯片发生异常时,触发终端进行复位,在进行复位时,首先将动态存储器存储的代码和运行数据保存到静态存储器中,使得动态存储器中与运行环境相关的数据在被清除之前保存了下来,从而为技术人员分析终端死机的原因提供了依据。
[0030]在实际应用中,终端可以使用看门狗电路检测终端是否正常在运行,具体请参阅图2,本发明实施例中终端故障处理方法的另一个实施例包括:
[0031]201、检测在预置时限内是否收到所述芯片的喂狗信息;
[0032]看门狗电路检测在预置时限内是否收到所述芯片的喂狗信息,若是,则确定所述芯片正常运行;若否,则确定所述芯片发生异常,并执行步骤202。
[0033]示例性的,芯片在上电后,会周期性地向看门狗电路发送喂狗信息,即启动喂狗程序,定期的执行喂狗操作。看门狗电路中会设置有定时器,当收到所述喂狗信息时,定时器会清零重新计时,当超过定时器设定的预置时限之后,看门狗电路尚未收到所述喂狗信息,则确定所述芯片发生异常。
[0034]202、设置异常状态标志位,并触发终端进行复位;
[0035]当确定芯片发生异常时,看门狗电路设置异常状态标志位为生效,触发芯片中的RESET管脚。
[0036]所述异常状态标志位用于标记终端在当前启动之前是否出现死机状态。
[0037]203、检测所述异常状态标志位是否生效,若生效,则执行步骤204 ;
[0038]204、将动态存储器存储的代码和运行数据保存到静态存储器;
[0039]在确定所述异常状态标志位生效之后,首先将动态存储器存储的代码和运行数据保存到静态存储器,然后再执行步骤205。
[0040]可选的,可以保存动态存储器存储的所有代码和运行数据,也可以选择保存在指定地址中存储的,与运行环境相关的数据;进一步,在本发明实施例中终端需要保存的关键数据,可以特指终端软件平台各个任务运行状态,各个任务程序的公共变量,也可以是整个终端的数据段内容。具体选择哪种保存方式可以根据实际需求而定,此处具体不作限定。
[0041]可选的,所述静态存储器可以包括:不全是即真闪存(Nand Flash,Not andFlash)或安全数码(SD, Secure Digital)卡;SD卡还可以包括MiniSD卡和MricoSD卡。
[0042]可选的,可以在Nand Flash中划分出一部分用于终端异常数据保存的空间,当技术人员需要调取数据时,可以直接从此部分提取。
[0043]205、将所述异常状态标志位设置为未生效;
[0044]206、重新启动所述终端。
[0045]在动态存储器中的数据保存完之后,可以进入正常的终端启动流程,覆盖动态存储器中的所有内容,重新启动所述终端。
[0046]在后续技术人员进行死机原因分析时,可以使用后台工具,将Nand Flash中的数据下载到计算机中进行分析。
[0047]为了便于理解,下面以一具体应用场景对上述的实施例中描述的终端故障处理方法再进行详细描述,请参考图3,具体为:
[0048]本发明实施例中的终端包括基带芯片、看门狗电路和存储设备;基带芯片主要由ARM系统和DSP系统组成,存储设备主要为动态存储器(以低电力双倍速率同步动态随机存储器(简称,LPDDR)为例)和静态存储器(以Nand Flash为例)。
[0049]301、基带芯片周期性执行喂狗操作;
[0050]基带芯片上电之后,ARM子系统启动喂狗流程。
[0051]302、判断喂狗是否超时;
[0052]若看门狗定时器watchDogTimer超时,则判定基带芯片发生异常,执行步骤303 ;若未超时,则初始化看门狗中的watchDogTimer。
[0053]303、设置异常状态标志位,并触发终端进行复位;
[0054]当确定基带芯片发生异常时,看门狗电路设置异常状态标志位为生效,触发基带芯片中的RESET管脚,使得终端进入热重启的流程。
[0055]304、保存代码和运行数据;
[0056]基带芯片中的ARM子系统收到来自看门狗的复位信号之后,则启动ARM的启动(简称,BOOT)过程,即ARM从O的地址开始运行。[0057]终端从CPU的BIOS中的引导加载(boot loder)代码开始运行,在bootloder代码中,终端首先检查看门狗电路的异常状态标志位是否生效,若是,则表明这次重新启动是由于看门狗复位引起的。
[0058]在本发明实施例中,修改了现有技术中的用于重启的代码(boot 1der代码),使其在正常启动之前,先检测看门狗电路的异常状态标志位是否生效,当检测到生效之后,将LPDDR中ARM的代码段和数据段保存到Nand Flash中,然后再进行正常重启的流程;若不生效,则直接进行正常重启的流程。在对现有技术改进较小的情况下,实现终端死机后与运行环境相关数据的保存。可以理解的是,本发明可以不使用异常状态标志位,直接设定一组异常状态重启的代码,在确定基带芯片发生异常之后,直接运行异常状态重启的代码,将LPDDR中ARM的代码段和数据段保存到Nand Flash中;当终端正常重启时,运行现有技术中的boot loder代码。具体的实现方式,此处不作限定。
[0059]可选的,上述保存的与运行环境相关的数据还可以包括ZSP关键数据,所述ZSP关键数据可以包括小区频点、小区标识、AFC> AGC> APC参数。
[0060]305、重新启动所述终端。
[0061]在动态存储器中的数据保存完之后,可以进入正常的终端启动流程,覆盖动态存储器中的所有内容,重新启动所述终端。
[0062]上面仅以一些例子对本发明实施例中的应用场景进行了说明,可以理解的是,在实际应用中,还可以有更多的应用场景,具体此处不作限定。
[0063]下面对用于执行上终端故障处理方法的本发明终端故障处理装置的实施例进行说明,其逻辑结构请参考图4,本发明实施例中终端故障处理装置的一个实施例包括:
[0064]芯片401和看门狗电路402 ;
[0065]所述看门狗电路用于当芯片发生异常时,触发芯片对所述终端进行复位;
[0066]所述芯片包括:保存单元4011和重启单元4012 ;
[0067]所述保存单元4011用于在所述终端进行复位时,将动态存储器存储的代码和运行数据保存到静态存储器;
[0068]所述重启单元4012用于在将动态存储器存储的代码和运行数据保存到静态存储器之后,重新启动所述终端。
[0069]进一步的,所述看门狗电路402包括:
[0070]状态设置单元4021,用于当芯片401发生异常时,将异常状态标志位设置为生效;
[0071]进一步的,所述芯片401包括:
[0072]状态检测单元4013,用于检测看门狗电路中的异常状态标志位是否生效,若生成,则触发所述将动态存储器存储的代码和运行数据保存到静态存储器的操作。
[0073]所述状态设置单元4011还用于:在将动态存储器存储的代码和运行数据保存到静态存储器之后,将所述异常状态标志位设置为未生效。
[0074]进一步的,所述看门狗电路402还包括:
[0075]定时器单元4022,用于判断看门狗电路在预置时限内是否收到所述芯片的喂狗信息,若否,则确定所述芯片401发生异常。
[0076]在本发明实施例中,各个模块的具体操作流程可以参考上述方法实施例,此处不再赘述。[0077]在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0078]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0079]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0080]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(R0M,Read-OnlyMemory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0081]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种终端故障处理方法,其特征在于,包括: 当芯片发生异常时,触发终端进行复位; 在所述终端进行复位时,将动态存储器存储的代码和运行数据保存到静态存储器; 重新启动所述终端。
2.根据权利要求1所述的方法,其特征在于,当芯片发生异常时,所述方法还包括:将异常状态标志位设置为生效; 所述将动态存储器存储的代码和运行数据保存到静态存储器之前,包括: 检测所述异常状态标志位是否生效,若生效,则触发所述将动态存储器存储的代码和运行数据保存到静态存储器的操作。
3.根据权利要求2所述的方法,其特征在于,所述将动态存储器存储的代码和运行数据保存到静态存储器之后,包括: 将所述异常状态标志位设置为未生效。
4.根据权利要求1所述的方法,其特征在于,所述触发终端进行复位之前,包括: 判断看门狗电路在预置时限内是否收到所述芯片的喂狗信息,若否,则确定所述芯片发生异常。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述静态存储器包括:不全是即真闪存Nand Flash或安全数码SD卡。
6.一种终端故障处理装置,包括: 芯片和看门狗电路; 所述看门狗电路用于当芯片发生异常时,触发芯片对所述终端进行复位; 所述芯片包括:保存单元和重启单元; 所述保存单元用于在所述终端进行复位时,将动态存储器存储的代码和运行数据保存到静态存储器; 所述重启单元用于在将动态存储器存储的代码和运行数据保存到静态存储器之后,重新启动所述终端。
7.根据权利要求6所述的装置,其特征在于,所述看门狗电路包括: 状态设置单元,用于当芯片发生异常时,将异常状态标志位设置为生效; 所述芯片包括: 状态检测单元,用于检测看门狗电路中的异常状态标志位是否生效,若生效,则触发所述将动态存储器存储的代码和运行数据保存到静态存储器的操作。
8.根据权利要求7所述的装置,其特征在于,所述状态设置单元还用于: 在将动态存储器存储的代码和运行数据保存到静态存储器之后,将所述异常状态标志位设置为未生效。
【文档编号】G06F11/00GK103793283SQ201210435865
【公开日】2014年5月14日 申请日期:2012年11月5日 优先权日:2012年11月5日
【发明者】段红光 申请人:重庆重邮信科通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1