CN116414632A - 片上系统的故障定位方法、片上系统、设备及存储介质 - Google Patents
片上系统的故障定位方法、片上系统、设备及存储介质 Download PDFInfo
- Publication number
- CN116414632A CN116414632A CN202111662394.3A CN202111662394A CN116414632A CN 116414632 A CN116414632 A CN 116414632A CN 202111662394 A CN202111662394 A CN 202111662394A CN 116414632 A CN116414632 A CN 116414632A
- Authority
- CN
- China
- Prior art keywords
- chip
- monitor
- bus
- fault
- target component
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000002159 abnormal effect Effects 0.000 claims abstract description 73
- 230000003993 interaction Effects 0.000 claims abstract description 42
- 230000003068 static effect Effects 0.000 claims abstract description 26
- 230000005856 abnormality Effects 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 20
- 238000003745 diagnosis Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 6
- 230000004807 localization Effects 0.000 claims 1
- 238000012360 testing method Methods 0.000 abstract description 23
- 230000008569 process Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
- Y04S10/52—Outage or fault management, e.g. fault detection or location
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请适用于电子技术领域,提供一种片上系统的故障定位方法、片上系统、设备及存储介质,其中方法包括:在检测到片上系统中出现系统异常时,确定目标部件所处的异常状态;基于所述目标部件所处的异常状态,采集得到与所述目标部件相关联的设备运行数据;所述设备运行数据包括:从所述第一监视器中获取的主设备与总线间的第一交互数据,从所述第二监视器中获取的所述从设备与所述总线间的第二交互数据,和/或,所述主设备或所述从设备对应的设备静态数据;基于所述设备运行数据,进行故障定位。该方案能够提升在复杂测试环境及更高测试性能需求下的故障定位准确度及系统测试效率。
Description
技术领域
本申请属于电子技术领域,尤其涉及一种片上系统的故障定位方法、片上系统、设备及存储介质。
背景技术
片上系统(System on Chip,SoC)中作为电子应用领域的重要实现技术,在芯片中具有很广泛的应用。为确保芯片性能,需要对其中的片上系统进行功能调试及性能测试。
传统的片上系统问题定位方法主要是采用JTAG(Joint Test Action Group,联合测试工作组)和串口接入至片上系统,从而尽可能排除系统中存在的功能问题,同时确保性能能够满足要求。现有常见的片上系统一般包括若干个处理器或控制器模块、总线及若干通过总线通信的外设模块,随着片上系统功能的扩展,各部分模块的数量也在不断攀升,且为了使用尽可能完整的系统进行测试,也会添加尽可能多的外设模块参与测试,这使得片上系统在进行性能测试及故障定位时面对更加复杂的测试环境及更高的测试性能需求,现有的测试方式存在故障定位不准确,测试效率低下的问题。
发明内容
本申请实施例提供了一种片上系统的故障定位方法、片上系统、设备及存储介质,以解决现有技术中片上系统在进行性能测试及故障定位时面对更加复杂的测试环境及更高的测试性能需求,现有的测试方式故障定位不准确,测试效率低下的问题。
本申请实施例的第一方面提供了一种片上系统的故障定位方法,应用于片上系统的故障定位单元,所述片上系统的故障定位单元设置于所述片上系统中,所述故障定位单元连接第一监视器及第二监视器,所述第一监视器连接至主设备与总线的连接线路上,所述第二监视器连接至从设备与所述总线的连接线路上;所述故障定位方法包括:
在检测到所述片上系统中出现系统异常时,确定目标部件所处的异常状态;
基于所述目标部件所处的异常状态,采集得到与所述目标部件相关联的设备运行数据;所述设备运行数据包括:从所述第一监视器中获取的所述主设备与所述总线间的第一交互数据,从所述第二监视器中获取的所述从设备与所述总线间的第二交互数据,和/或,所述主设备或所述从设备对应的设备静态数据;
基于所述设备运行数据,进行故障定位。
本申请实施例的第二方面提供了一种片上系统,包括:故障定位单元,所述故障定位单元连接第一监视器及第二监视器,所述第一监视器连接至主设备与总线的连接线路上,所述第二监视器连接至从设备与所述总线的连接线路上;所述故障定位单元中包括:
状态确定模块,用于在检测到所述片上系统中出现系统异常时,确定目标部件所处的异常状态;
数据获取模块,用于基于所述目标部件所处的异常状态,采集得到与所述目标部件相关联的设备运行数据;所述设备运行数据包括:从所述第一监视器中获取的所述主设备与所述总线间的第一交互数据,从所述第二监视器中获取的所述从设备与所述总线间的第二交互数据,和/或,所述主设备或所述从设备对应的设备静态数据;
故障定位模块,用于基于所述设备运行数据,进行故障定位。
本申请实施例的第三方面提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述方法的步骤。
本申请的第五方面提供了一种计算机程序产品,当所述计算机程序产品在终端上运行时,使得所述终端执行上述第一方面所述方法的步骤。
由上可见,本申请实施例中,通过在片上系统中设置的故障定位单元,在检测到片上系统中出现系统异常时,确定目标部件所处的异常状态,并基于目标部件所处的异常状态,通过故障定位单元在片上系统中与其他部件间的结构关系,采集得到与目标部件相关联的设备交互数据、设备静态数据等设备运行数据,进而基于设备运行数据,进行故障定位,该方案能够基于实际的故障定位需求,选取对不同数据的获取,利用其中的主设备与总线间的交互数据、从设备与总线间的交互数据、主设备或从设备对应的设备静态数据等信息,从设备交互过程、设备运行过程、设备运行配置等方面解析得到故障产生原因,实现故障节点的准确定位,满足不同部件异常状态下的故障定位需求,提升在复杂测试环境及更高测试性能需求下的故障定位准确度及系统测试效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种片上系统的故障定位方法的流程图一;
图2是本申请实施例提供的片上系统中各部件间的关系结构图;
图3是本申请实施例提供的一种片上系统的故障定位方法的流程图二;
图4是本申请实施例提供的片上系统中的模块结构图;
图5是本申请实施例提供的一种电子设备的结构图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
具体实现中,本申请实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
可以在终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
参见图1,图1是本申请实施例提供的一种片上系统的故障定位方法的流程图一。如图1所示,一种片上系统的故障定位方法,该方法包括以下步骤:
在检测到片上系统中出现系统异常时,确定目标部件所处的异常状态。
基于目标部件所处的异常状态,采集得到与所述目标部件相关联的设备运行数据;该设备运行数据包括:从第一监视器中获取的主设备与总线间的第一交互数据,从第二监视器中获取的从设备与总线间的第二交互数据,和/或,主设备或从设备对应的设备静态数据;
基于设备运行数据,进行故障定位。
在对该方法的具体实施方式展开阐述之前,这里先对上述片上系统的故障定位方法的应用对象进行说明。
上述片上系统的故障定位方法应用于片上系统的故障定位单元,该片上系统的故障定位单元设置于片上系统中,该故障定位单元连接第一监视器及第二监视器,其中第一监视器连接至主设备与总线的连接线路上,第二监视器连接至从设备与总线的连接线路上。
具体地,片上系统中,包括多个主设备(Master)及多个从设备(Slave),各个主设备及各个从设备通过总线相连,以实现数据传送。
总线在任一时刻只能被一个主设备及一个从设备占用,若有多个主设备需要向同一从设备请求读取数据,该多个主设备只能按序等待获取总线的使用权,分多次分别从该从设备中读取数据,从设备则相应地分别处理多个主设备的请求,反之,从设备向主设备之间进行数据请求时,处理过程相同。
在一个示例中,结合图2所示,片上系统(SoC)中包括主设备M0、从设备S0及NOC总线,此外片上系统中还增设了djtag box,该djtag box即为设置于片上系统中的故障定位单元,实现对交互数据的获取。
其中,主设备M0与从设备S0均与NOC总线连接,在主设备M0与NOC总线的连接线路上接入有第一监视器,在主设备M0与NOC总线的连接线路上接入有第二监视器,且两个监视器均连接至djtag box。
外设模块属于Slave类模块即从设备模块,它可能是DMA(Direct Memory Access,直接存储器访问)模块,也可能是USB(Universal Serial Bus,通用串行总线)、MIPI(Mobile Industry Processor Interface,移动产业处理器接口)、SDIO(Secure DigitalInput and Output,安全数字输入输出)、UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)等外设模块,诸如此类。不同的外设模块对应有独立功能的电路模块(图中的IP),片上系统中的故障定位单元(djtag box)能够对该些功能模块的静态数据进行获取。
其中,片上系统中的该故障定位单元还用于与外部的开源调试器(DAP)进行连接,该DAP中集成有JTAG应用芯片(JTAG-AP)并设置有JTAG调试接口(JTAG prot),通过JTAG调试接口,软件开发人员可以方便地通过DAP控制片上系统中部件的运行,方便快捷地进行代码调试。
其中,为了分析系统异常是由哪一笔传输导致的,以及让用户有方法可以抓取总线上感兴趣的数据交互信息,设置的监视器可支持抓取总线的闲置/挂起状态及指定对象的交互数据,实现故障定位和分析。
在具体实现过程中,用户可以预先找到待调试的模块,预先配置要查看的信号组,在监测出现系统异常时,则可以依照配置信息,采集与目标部件相关联的设备运行数据。
在此基础上,提出一种片上系统的故障定位方法,该故障定位方法中各个步骤的实现过程如下:
步骤101,在检测到片上系统中出现系统异常时,确定目标部件所处的异常状态。
对片上系统中是否出现系统异常的检测,在没有外部调试器介入时,可以是由故障定位单元来实施,具体例如是由故障定位单元定时访问片上系统中不同部件所对应寄存器,获取部件运行数据实现对系统是否出现异常及目标部件所处的异常状态的获取。
或者,在有外部调试器介入时,对片上系统中是否出现系统异常的检测,可以是通过片上系统所连接的外部DAP来实现异常检测,在获取到DAP输出的异常检测结果时,即确定片上系统中出现系统异常。
该种情况下,在片上系统上设置有诊断接口,该诊断接口用于与外部的DAP调试器连接,通过接入的外部调试器对片上系统进行功能测试,实现异常检测。
因此,片上系统中的故障定位单元需连接至该诊断接口,以实现对诊断结果的获取。对应地,在检测到片上系统中出现系统异常时,确定目标部件所处的异常状态,包括:
通过诊断接口与接入的调试器建立通信连接;
获取调试器对片上系统调试后输出的系统异常诊断结果,并基于系统异常诊断结果确定片上系统中目标部件所处的异常状态。
该过程中,系统异常诊断结果中会指示片上系统中出现异常所涉及的目标部件,故障定位单元可以基于该目标部件从片上系统中获取该部件所处的异常状态。
例如,系统异常诊断结果为主设备向主线发送的请求无法在有效时间内得到响应,则此时可以去获取总线所处的异常状态,该异常状态例如为总线挂死状态、或者总线受干扰状态等。异常状态的获取方式例如为读取总线寄存器中存储的总线运行数据解析得到总线的异常状态。
或者,系统异常诊断结果中会同时指示有片上系统中出现异常所涉及的目标部件及该部件所处的异常状态,障定位单元可以直接基于外部诊断器输出的系统异常诊断结果得到目标部件所处的异常状态。
可以根据实际需要及外部诊断器的具体诊断输出结果进行确定以何种方式实现对片上系统中出现系统异常及目标部件所处的异常状态的确定,提供更多样的实现手段。
步骤102,基于目标部件所处的异常状态,采集得到与目标部件相关联的设备运行数据。
该设备运行数据包括:从第一监视器中获取的主设备与总线间的第一交互数据,从第二监视器中获取的从设备与总线间的第二交互数据,和/或,主设备或从设备对应的设备静态数据。
本方法实施例中,在确定出系统异常后,需要实现的是进一步的故障定位功能,以找出造成异常的故障节点。
因此需要基于目标部件所处的异常状态,对与目标部件相关联的设备运行数据进行采集。其中,与目标部件相关联的设备运行数据具体包括:目标部件自身的设备运行数据、与该目标部件具有数据交互关系的其他部件的设备运行数据。
该设备运行数据可以包括设备间交互过程中产生的交互数据或者设备的静态数据,以基于实际的故障定位需求,选取对不同数据的获取,满足不同部件异常状态下的故障定位需求。
步骤103,基于该设备运行数据,进行故障定位。
在获取到设备运行数据后,即可以利用其中的主设备与总线间的交互数据、从设备与总线间的交互数据、主设备或从设备对应的设备静态数据等信息,从设备交互过程、设备运行过程、设备运行配置等方面解析得到故障产生原因,实现故障节点的准确定位,提升在复杂测试环境及更高测试性能需求下的故障定位准确度及系统测试效率。
其中,在一个具体的实施方式中,若基于目标部件所处的异常状态,采集得到与目标部件相关联的设备运行数据的处理过程,包括:
当目标部件所处的异常状态指示为总线挂死状态时,获取总线挂死状态的异常触发时刻;
获取目标监视器在异常触发时刻下抓取到的设备与总线间的交互数据作为设备运行数据。
其中,目标监视器为第一监视器与第二监视器中在异常触发时刻抓取有交互数据的监视器。
该异常触发时刻的获取可以是通过对溯源文件(trace文件)进行解析,得到记录的对应有时间戳的运行轨迹数据,获取总线挂死时的时间,即为总线挂死状态的异常触发时刻。或者,是基于外部调试器输出的系统异常诊断结果中解析得到目标部件所处的异常状态所对应的异常触发时刻。
进一步地,当总线挂死时,基于该总线挂死状态的异常触发时刻,通过与故障定位单元连接的监视器定位是哪一个主设备向总线发出访问操作产生的异常,或者是哪一个从设备被访问产生的异常。
因此,需要将在关键时刻抓取有交互数据的监视器作为目标监视器,并提取该目标监视器在该关键时刻抓取的设备与总线间的交互数据,以基于该些设备运行数据进行故障定位。
与之对应地,该基于设备运行数据,进行故障定位,包括:
从主设备及从设备中确定目标监视器在异常触发时刻下抓取到的设备运行数据所属的目标设备;生成包含目标设备及设备运行数据的描述信息的故障定位结果。
该过程需要基于目标监视器在异常触发时刻下抓取到的设备与总线间的交互数据,确定引发总线故障的设备是哪一个。
具体地,当目标监视器为第一监视器时,则从主设备中确定第一监视器在异常触发时刻下抓取的设备运行数据所属的目标主设备,生成包含目标主设备及设备运行数据的描述信息的故障定位结果。
当目标监视器为第二监视器时,则从多个从设备中确定第二监视器在异常触发时刻下抓取的设备运行数据所属的目标从设备,生成包含目标从设备及设备运行数据的描述信息的故障定位结果。
在从主设备及从设备中确定出目标设备后,则确定引起总线故障的设备为该目标设备,总线故障发生时刻对应的设备运行数据为该目标设备与总线间在该时刻对应的交互数据,最终得到包含该交互数据及目标设备的描述信息故障定位结果,实现故障定位。
进一步地,在另一个具体的实施方式中,主设备中包括处理器,基于目标部件所处的异常状态,采集得到与目标部件相关联的设备运行数据,包括:
当目标部件所处的异常状态指示为处理器挂死状态时,判断总线是否挂死;
在确定总线未挂死时,对处理器的设备静态数据进行采集得到设备运行数据。
在具体应用中,处理器可以是CPU(central processing unit,中央处理器)、DSP(Digital Signal Processing,数字信号处理器)或者GPU(Graphics Processing Unit,图形处理器)。
当主设备中包含处理器时,若处理器处于挂死的异常状态,则此时判断总线的状态是否挂死,以确定采取哪些数据实现对处理器挂死状态的异常进行故障定位。当处理器挂死,但总线未挂死时,表示处理器的挂死状态与总线无关,此时需要获取处理器自身的静态数据实现故障原因的定位。
具体地,设备静态数据是指在运行过程中主要作为控制或参考用的数据。
采集的设备静态数据具体可以包括采集设备临终遗言、程序技术器值等。
当总线没挂死,处理器挂死时,访问遗言寄存器和处理器的程序计数器(ProgramCounter,PC)获取设备临终遗言、程序技术器值,定位是哪一笔操作导致处理器挂死。
其中设备临终遗言为设备出现异常时记录下的异常信息,程序计数器是用于存放下一条指令所在单元的地址的地方,当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址。因此,通过提取设备临终遗言或者程序计数器值等静态数据,可以准确定位出导致处理器挂死的具体故障原因,从更深入层次上提升故障定位准确性。
其中,对于总线状态的获取可以对总线寄存器中的总线状态数据进行提取获得总线状态,或者从外部调试器输出的系统异常诊断结果中获取总线状态信息。
则,与之对应地,基于设备运行数据,进行故障定位,包括:
基于设备运行数据,追溯处理器进入挂死状态前的指令执行路径,基于指令执行路径的指令执行结果,确定故障产生节点;
生成包含故障产生节点及指令执行结果的故障定位结果。
其中指令执行路径具体为操作系统搜索本地可执行文件的目录列表。具体可以根据设备临终遗言、程序技术器值等静态数据,追溯得到处理器进入挂死状态前的指令执行路径,进而基于指令执行路径的指令执行结果,确定故障产生节点,定位是哪一笔处理操作导致处理器挂死。
具体地,当处理器在处理任务时,若所处理任务对应的为多线程的业务进程,由于实际上占用处理器资源的最小单位是线程,所以必然是众线程中的某一个或几个占用处理器资源过高导致的处理器异常。可以通过查看命令查看进程内各个线程占用的处理器资源百分比,也可以看到每个线程的调用堆栈,找到已经找出的占用处理器资源最高的那个线程,然后找出其对应的调用堆栈,通过这样的处理方式很容易看出在哪一步处理逻辑上导致了处理器异常,再使用trace-p tid指令查找线程的调用过程即可定位到对应的代码,实现故障的准确定位,随后还可以对bug进行修复,实现故障解决。
本申请实施例中,通过在片上系统中设置的故障定位单元,在检测到片上系统中出现系统异常时,确定目标部件所处的异常状态,并基于目标部件所处的异常状态,通过故障定位单元在片上系统中与其他部件间的结构关系,采集得到与目标部件相关联的设备交互数据、设备静态数据等设备运行数据,进而基于设备运行数据,进行故障定位,该方案能够基于实际的故障定位需求,选取对不同数据的获取,利用其中的主设备与总线间的交互数据、从设备与总线间的交互数据、主设备或从设备对应的设备静态数据等信息,从设备交互过程、设备运行过程、设备运行配置等方面解析得到故障产生原因,实现故障节点的准确定位,满足不同部件异常状态下的故障定位需求,提升在复杂测试环境及更高测试性能需求下的故障定位准确度及系统测试效率。
本申请实施例中还提供了片上系统的故障定位方法的不同实施方式。
其中,该片上系统的故障定位方法应用于片上系统的故障定位单元,该片上系统的故障定位单元设置于片上系统中,该故障定位单元连接第一监视器及第二监视器,所述第一监视器连接至主设备与总线的连接线路上,所述第二监视器连接至从设备与所述总线的连接线路上。
该故障定位单元的功能实现及片上系统中所包含的各个部件之间的结构关系已在前述实施例中进行了详细说明,此处不再赘述。
具体地,在本申请实施例中,参见图3,图3是本申请实施例提供的一种片上系统的故障定位方法的流程图二。如图3所示,一种片上系统的故障定位方法,该方法包括以下步骤:
步骤301,在检测到所述片上系统中出现系统异常时,确定目标部件所处的异常状态。
该步骤的实现过程与前述实施方式中的步骤101的实现过程相同,此处不再赘述。
步骤302,基于所述目标部件所处的异常状态,采集得到与所述目标部件相关联的设备运行数据。
该设备运行数据包括:从第一监视器中获取的主设备与总线间的第一交互数据,从第二监视器中获取的从设备与总线间的第二交互数据,和/或,主设备或从设备对应的设备静态数据。
该步骤的实现过程与前述实施方式中的步骤102的实现过程相同,此处不再赘述。
步骤303,在将片上系统复位后,对片上系统中产生的所述临终遗言数据进行解析,获取片上系统中的故障发生点。
该设备静态数据中包括:临终遗言数据。
该实施方式的故障定位处理过程中,增加关键位置的临终遗言信息,在某些情况下外部调试器无法接入的情况下,可以在系统异常重启后查检查临终遗言信息辅助定位问题。
临终遗言寄存器,是一种记录异常状态的寄存器,当芯片发生异常,触发看门后实现系统复位,硬件会将总线、处理器等关键部件的做信号记录,复位时临终遗言寄存器中的数据不会清除,可以从该临终遗言寄存器中读取信号记录内容,实现对系统的问题分析及故障定位。
上述处理过程,基于用户设置好的故障定位单元,与外部调试器进行功能结合,在检测到故障时,依照调试逻辑通过故障定位单元获取截取的主设备与总线间的交互数据、从设备与总线间的交互数据、主设备或从设备对应的静态数据,从设备交互过程、设备运行过程、设备运行配置等方面解析得到故障产生原因,实现故障节点的准确定位,满足不同部件异常状态下的故障定位需求,提升在复杂测试环境及更高测试性能需求下的故障定位准确度及系统测试效率。
进一步地,参见图4,图4是本申请实施例提供的片上系统中的模块结构图,为了便于说明,仅示出了与本申请实施例相关的部分。
该片上系统4,包括:故障定位单元400。
其中,参照图2,故障定位单元djtag box连接第一监视器及第二监视器,所述第一监视器连接至主设备与总线的连接线路上,所述第二监视器连接至从设备与所述总线的连接线路上。
进一步地,结合图4所示,故障定位单元400中包括:
状态确定模块401,用于在检测到所述片上系统中出现系统异常时,确定目标部件所处的异常状态;
数据获取模块402,用于基于所述目标部件所处的异常状态,采集得到与所述目标部件相关联的设备运行数据;所述设备运行数据包括:从所述第一监视器中获取的所述主设备与所述总线间的第一交互数据,从所述第二监视器中获取的所述从设备与所述总线间的第二交互数据,和/或,所述主设备或所述从设备对应的设备静态数据;
故障定位模块403,用于基于所述设备运行数据,进行故障定位。
其中,所述故障定位单元连接至诊断接口;状态确定模块401,具体用于:
通过所述诊断接口与接入的调试器建立通信连接;
获取所述调试器对所述片上系统调试后输出的系统异常诊断结果,并基于所述系统异常诊断结果确定所述片上系统中目标部件所处的异常状态。
其中,数据获取模块402,具体用于:
当所述目标部件所处的异常状态指示为总线挂死状态时,获取所述总线挂死状态的异常触发时刻;
获取目标监视器在所述异常触发时刻下抓取到的设备与所述总线间的交互数据作为所述设备运行数据;其中,所述目标监视器为所述第一监视器与所述第二监视器中在所述异常触发时刻抓取有交互数据的监视器。
对应地,故障定位模块403,具体用于:
从所述主设备及所述从设备中确定所述目标监视器在所述异常触发时刻下抓取到的所述设备运行数据所属的目标设备;
生成包含所述目标设备及所述设备运行数据的描述信息的故障定位结果。
其中,所述主设备中包括处理器,所述数据获取模块402,具体用于:
当所述目标部件所处的异常状态指示为处理器挂死状态时,判断所述总线是否挂死;
在确定所述总线未挂死时,对所述处理器的设备静态数据进行采集得到所述设备运行数据。
对应地,所述故障定位模块403,具体用于:
基于所述设备运行数据,追溯所述处理器进入挂死状态前的指令执行路径,基于所述指令执行路径的指令执行结果,确定故障产生节点;
生成包含所述故障产生节点及指令执行结果的故障定位结果。
其中,所述设备静态数据中包括:临终遗言数据;所述故障定位模块403,具体用于:
在将所述片上系统复位后,对所述片上系统中产生的所述临终遗言数据进行解析,获取所述片上系统中的故障发生点。
本申请实施例提供的片上系统能够实现上述片上系统的故障定位方法的实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
图5是本申请实施例提供的一种电子设备的结构图。如该图所示,该实施例的电子设备5包括:至少一个处理器50(图5中仅示出一个)、存储器51以及存储在所述存储器51中并可在所述至少一个处理器50上运行的计算机程序52,所述处理器50执行所述计算机程序52时实现上述任意各个方法实施例中的步骤。
所述电子设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备5可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是电子设备5的示例,并不构成对电子设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述电子设备5的内部存储单元,例如电子设备5的硬盘或内存。所述存储器51也可以是所述电子设备5的外部存储设备,例如所述电子设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述电子设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序产品来实现,当计算机程序产品在终端上运行时,使得所述终端执行时实现可实现上述各个方法实施例中的步骤。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种片上系统的故障定位方法,其特征在于,应用于片上系统的故障定位单元,所述片上系统的故障定位单元设置于所述片上系统中,所述故障定位单元连接第一监视器及第二监视器,所述第一监视器连接至主设备与总线的连接线路上,所述第二监视器连接至从设备与所述总线的连接线路上;所述故障定位方法包括:
在检测到所述片上系统中出现系统异常时,确定目标部件所处的异常状态;
基于所述目标部件所处的异常状态,采集得到与所述目标部件相关联的设备运行数据;所述设备运行数据包括:从所述第一监视器中获取的所述主设备与所述总线间的第一交互数据,从所述第二监视器中获取的所述从设备与所述总线间的第二交互数据,和/或,所述主设备或所述从设备对应的设备静态数据;
基于所述设备运行数据,进行故障定位。
2.根据权利要求1所述的方法,其特征在于,所述故障定位单元连接至诊断接口;所述在检测到所述片上系统中出现系统异常时,确定目标部件所处的异常状态,包括:
通过所述诊断接口与接入的调试器建立通信连接;
获取所述调试器对所述片上系统调试后输出的系统异常诊断结果,并基于所述系统异常诊断结果确定所述片上系统中目标部件所处的异常状态。
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标部件所处的异常状态,采集得到与所述目标部件相关联的设备运行数据,包括:
当所述目标部件所处的异常状态指示为总线挂死状态时,获取所述总线挂死状态的异常触发时刻;
获取目标监视器在所述异常触发时刻下抓取到的设备与所述总线间的交互数据作为所述设备运行数据;其中,所述目标监视器为所述第一监视器与所述第二监视器中在所述异常触发时刻抓取有交互数据的监视器。
4.根据权利要求3所述的方法,其特征在于,所述基于所述设备运行数据,进行故障定位,包括:
从所述主设备及所述从设备中确定所述目标监视器在所述异常触发时刻下抓取到的所述设备运行数据所属的目标设备;
生成包含所述目标设备及所述设备运行数据的描述信息的故障定位结果。
5.根据权利要求1所述的方法,其特征在于,所述主设备中包括处理器,所述基于所述目标部件所处的异常状态,采集得到与所述目标部件相关联的设备运行数据,包括:
当所述目标部件所处的异常状态指示为处理器挂死状态时,判断所述总线是否挂死;
在确定所述总线未挂死时,对所述处理器的设备静态数据进行采集得到所述设备运行数据。
6.根据权利要求5所述的方法,其特征在于,所述基于所述设备运行数据,进行故障定位,包括:
基于所述设备运行数据,追溯所述处理器进入挂死状态前的指令执行路径,基于所述指令执行路径的指令执行结果,确定故障产生节点;
生成包含所述故障产生节点及指令执行结果的故障定位结果。
7.根据权利要求1所述的问题定位方法,其特征在于,所述设备静态数据中包括:临终遗言数据;所述基于所述设备运行数据,进行故障定位,包括:
在将所述片上系统复位后,对所述片上系统中产生的所述临终遗言数据进行解析,获取所述片上系统中的故障发生点。
8.一种片上系统,其特征在于,包括:故障定位单元,所述故障定位单元连接第一监视器及第二监视器,所述第一监视器连接至主设备与总线的连接线路上,所述第二监视器连接至从设备与所述总线的连接线路上;所述故障定位单元中包括:
状态确定模块,用于在检测到所述片上系统中出现系统异常时,确定目标部件所处的异常状态;
数据获取模块,用于基于所述目标部件所处的异常状态,采集得到与所述目标部件相关联的设备运行数据;所述设备运行数据包括:从所述第一监视器中获取的所述主设备与所述总线间的第一交互数据,从所述第二监视器中获取的所述从设备与所述总线间的第二交互数据,和/或,所述主设备或所述从设备对应的设备静态数据;
故障定位模块,用于基于所述设备运行数据,进行故障定位。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111662394.3A CN116414632A (zh) | 2021-12-30 | 2021-12-30 | 片上系统的故障定位方法、片上系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111662394.3A CN116414632A (zh) | 2021-12-30 | 2021-12-30 | 片上系统的故障定位方法、片上系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116414632A true CN116414632A (zh) | 2023-07-11 |
Family
ID=87058303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111662394.3A Pending CN116414632A (zh) | 2021-12-30 | 2021-12-30 | 片上系统的故障定位方法、片上系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116414632A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627877A (zh) * | 2023-07-21 | 2023-08-22 | 武汉凌久微电子有限公司 | 一种片上总线状态记录系统和记录方法 |
-
2021
- 2021-12-30 CN CN202111662394.3A patent/CN116414632A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627877A (zh) * | 2023-07-21 | 2023-08-22 | 武汉凌久微电子有限公司 | 一种片上总线状态记录系统和记录方法 |
CN116627877B (zh) * | 2023-07-21 | 2023-09-29 | 武汉凌久微电子有限公司 | 一种片上总线状态记录系统和记录方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6944796B2 (en) | Method and system to implement a system event log for system manageability | |
Kadav et al. | Understanding modern device drivers | |
US8291379B2 (en) | Runtime analysis of a computer program to identify improper memory accesses that cause further problems | |
US7783865B2 (en) | Conditional data watchpoint management | |
US20140143463A1 (en) | System on chip and corresponding monitoring method | |
EP3369015B1 (en) | Methods and circuits for debugging circuit designs | |
CN107066390B (zh) | 一种动态内存泄漏检测方法及系统 | |
TWI544410B (zh) | 利用執行單步驟以進行編碼診斷 | |
US9355003B2 (en) | Capturing trace information using annotated trace output | |
US20070079288A1 (en) | System and method for capturing filtered execution history of executable program code | |
KR20010006188A (ko) | 마이크로프로세서 기반 장치용 트레이스 캐시 | |
CN111338901A (zh) | 一种Redis监控方法、Redis监控装置及终端 | |
US20160147587A1 (en) | Method of analyzing a fault of an electronic system | |
US10013335B2 (en) | Data flow analysis in processor trace logs using compiler-type information method and apparatus | |
US10552297B2 (en) | Determining instruction execution history in a debugger | |
US7607047B2 (en) | Method and system of identifying overlays | |
CN116627811A (zh) | 监测断点出现的存储器位置的方法、计算机系统和介质 | |
CN112506798A (zh) | 一种区块链平台的性能测试方法、装置、终端及存储介质 | |
CN116414632A (zh) | 片上系统的故障定位方法、片上系统、设备及存储介质 | |
CN111309606A (zh) | 页面异常处理方法、装置、计算机设备及存储介质 | |
EP3961403A1 (en) | Bus monitoring device and method, storage medium, and electronic device | |
US8762783B2 (en) | Error identification | |
CN116820610A (zh) | 一种可观测领域中对用户态程序动态跟踪的方法和装置 | |
US9946624B1 (en) | Systems and methods to capture data signals from a dynamic circuit | |
CN112181744A (zh) | 一种转换器接口的故障检测方法、系统、终端以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |