CN112100016B - 一种系统异常场景下的soc诊断方法及系统 - Google Patents
一种系统异常场景下的soc诊断方法及系统 Download PDFInfo
- Publication number
- CN112100016B CN112100016B CN202010731229.8A CN202010731229A CN112100016B CN 112100016 B CN112100016 B CN 112100016B CN 202010731229 A CN202010731229 A CN 202010731229A CN 112100016 B CN112100016 B CN 112100016B
- Authority
- CN
- China
- Prior art keywords
- soc
- information
- remote interface
- diagnosis
- unit
- 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.)
- Active
Links
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/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- 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/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
-
- 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种系统异常场景下的SOC诊断方法及系统,涉及SOC芯片调试技术领域,本发明在当诊断系统使能且安全调试权限允许访问时,诊断电路在外部激励信号的驱使下,内部状态机则受外部激励设备控制;当诊断系统关闭或安全调试权限不允许访问时,诊断电路会自动屏蔽外部的任何激励信号。此控制权限由SOC内部与系统寄存器结合使用,通过软件安全系统根据调试需求进行选择,保证了调试的安全性。
Description
技术领域
本发明涉及SOC芯片调试技术领域,具体涉及一种系统异常场景下的SOC诊断方法及系统。
背景技术
SoC:SystemonChip的缩写,称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。
随着SOC规模越来越大,场景应用越来越复杂,对实际开发过程中会出现的系统崩溃情形,如遇到总线挂死或者处理器访问某些设备通路被挂住,此时依赖于处理器的传统的调试手段如处理器JTAG口、UART口等都已无法正常使用,大大增加了软件和硬件的调试难度,需要设计一种有效的诊断方法来提高系统调试的效率。
发明内容
针对现有技术中的不足,本发明提供一种系统异常场景下的SOC诊断方法及系统,处理SOC开发过程中会出现的系统崩溃情形,通过在SOC内置一个诊断电路提供当前异常状态下的系统信息,有利于进一步定位和调试问题。
为实现上述目的,本发明的技术方案如下:
一种系统异常场景下的SOC诊断方法,SOC内包括若干个各单元模块,还包括诊断电路,所述诊断电路内包括若干诊断单元,每所述单元模块对应设置有至少一所述诊断单元,所述方法应用于所述诊断电路,包括:
在SOC调试状态下,接收远程接口的激励信号;
将所述激励信号与SOC内存储的标准信息进行匹配;
当所述匹配满足设定判据时,开放接收所述远程接口的激励信号并向所述远程接口发送地址信息,所述地址信息包含所述诊断电路的接口入口地址;
接收所述远程接口的指令信息,其中,所述指令信息包含至少一个指定的诊断单元的入口地址和第一操作指令,所述第一操作指令用于定位到指定的诊断单元,并读取指定诊断单元的调试信息,所述调试信息为在SOC工作状态下,诊断单元读取并储存的SOC内对应单元模块的运行过程的上下文信息;
响应于所述指令信息,向所述远程接口发送调试信息。
根据权利要求1所述系统异常场景下的SOC诊断方法,其特征在于,所述将所述激励信号与SOC存储的标准信息进行比对,包括:
采集具有周期特性的所述激励信号的波形特征;
确定所述波形特征的采样点,并在延时设定周期后将所述采样点转换成位信息储存到SOC内的第一寄存器中;
将寄存在所述第一寄存器中的位信息与所述标准信息进行匹配,若匹配一致则认为满足设定判据,所述标准信息为通过软件预设于SOC内的第二寄存器中的二进制值。
根据权利要求1所述系统异常场景下的SOC诊断方法,其特征在于,接收远程接口的激励信号前,还包括:
接收所述远程接口的第一询问信息,所述第一询问信息用于检测SOC内的诊断电路与远程接口之间的通讯是否正常;
响应于所述第一询问信息,向所述远程接口发送第一应答信息。
根据权利要求3所述系统异常场景下的SOC诊断方法,其特征在于,向所述远程接口发送第一应答信息后,接收远程接口的激励信号前,还包括:
当SOC内的诊断电路与远程接口之间通讯正常时;
接收所述远程接口的第二询问信息,所述第二询问信息用于询问是否允许调试以及确定SOC当前状态,所述状态为SOC工作状态和SOC调试状态的其中一种;
响应于所述第二询问信息,向所述远程接口发送第二应答信息。
如上任一所述系统异常场景下的SOC诊断方法,进一步的,SOC内的诊断电路与远程接口之间采用SPI/UART/JTAG/I2C的任一种传输接口;
还包括生成对应于SOC内处理器单元的第一采集指令和第二操作指令,所述第一采集指令用于通过信号采样的形式采集所述处理器单元的通用寄存器的运行过程的上下文信息,所述第二操作指令用于对所述处理器单元进行复位和调试操作。
还包括生成对应于SOC内总线单元的第二采集指令,所述第二采集指令用于动态采集所述总线单元的信息,其中,所述总线单元的信息包括各单元模块的就绪状态、响应状态以及总线访问存储空间和IO空间。
一种异常场景下的SOC诊断系统,包括SOC以及远程接口,SOC内包括若干个各单元模块,所述诊断电路内包括若干诊断单元,每所述单元模块对应设置有至少一所述诊断单元,
所述远程接口向所述诊断电路发送激励信号;
所述诊断单元用于在SOC调试状态下,接收远程接口的激励信号,将所述激励信号与SOC内存储的标准信息进行匹配,当所述匹配满足设定判据时,开放接收所述远程接口的激励信号并向所述远程接口发送地址信息,所述地址信息包含所述诊断电路的接口入口地址;接收所述远程接口的指令信息,其中,所述指令信息包含至少一个指定的诊断单元的入口地址和第一操作指令,所述第一操作指令用于定位到指定的诊断单元,并读取指定诊断单元的调试信息,所述调试信息为在SOC工作状态下,诊断单元读取并储存的SOC内对应单元模块的运行过程的上下文信息;以及向所述远程接口发送调试信息。
如上所述的异常场景下的SOC诊断系统,进一步的,所述诊断电路将所述激励信号与SOC存储的标准信息进行比对,包括:
采集具有周期特性的所述激励信号的波形特征;
确定所述波形特征的采样点,并在延时设定周期后将所述采样点转换成位信息储存到SOC内的第一寄存器中;
将寄存在所述第一寄存器中的位信息与所述标准信息进行匹配,若匹配一致则认为满足设定判据,所述标准信息为通过软件预设于SOC内的第二寄存器中的二进制值。
如上所述的异常场景下的SOC诊断系统,进一步的,所述诊断电路在接收远程接口的激励信号前,还包括:
接收所述远程接口的第一询问信息,所述第一询问信息用于检测SOC内的诊断电路与远程接口之间的通讯是否正常;
响应于所述第一询问信息,向所述远程接口发送第一应答信息。
如上所述的异常场景下的SOC诊断系统,进一步的,所述诊断电路在向所述远程接口发送第一应答信息后,接收远程接口的激励信号前,还包括:
当SOC内的诊断电路与远程接口之间通讯正常时;
接收所述远程接口的第二询问信息,所述第二询问信息用于询问是否允许调试以及确定SOC当前状态,所述状态为SOC工作状态和SOC调试状态的其中一种;
响应于所述第二询问信息,向所述远程接口发送第二应答信息。
如上所述的异常场景下的SOC诊断系统,进一步的,SOC内的诊断电路与远程接口之间采用SPI/UART/JTAG/I2C的任一种传输接口;
还包括生成对应于SOC内处理器单元的第一采集指令和第二操作指令,所述第一采集指令用于通过信号采样的形式采集所述处理器单元的通用寄存器的运行过程的上下文信息,所述第二操作指令用于对所述处理器单元进行复位和调试操作。
还包括生成对应于SOC内总线单元的第二采集指令,所述第二采集指令用于动态采集所述总线单元的信息,其中,所述总线单元的信息包括各单元模块的就绪状态、响应状态以及总线访问存储空间和IO空间。
本发明与现有技术相比,其有益效果在于:
1.SOC内部诊断电路由外部激励设备进行驱动,其电路功能不受SOC内部其他电路工作状态的影响,可以在SOC系统异常场景下对系统信息进行采集和调试。
2.诊断电路内置多个采集和控制设备,可灵活扩展到所有需要调试的模块(含系统模块和单元模块)电路上。
3.带安全调试保护功能,提升了调试系统的安全性。诊断电路的开关除了受系统控制模块的寄存器控制外,还受securedebug电路的控制,当SOC带有securedebug功能(如authenticationinterface等)则可控制诊断电路访问权限,当访问权限设置为禁止时诊断电路会自动关闭,从而在带安全应用的场景中不会有调试漏洞。
异常场景复用正常场景的专属IO引脚,节省IO资源。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图进行简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例公开的一种系统异常场景下的SOC诊断方法的流程示意图;
图2为本发明第二实施例公开的系统异常场景下的SOC诊断方法的流程示意图;
图3为本发明第三实施例公开的系统异常场景下的SOC诊断方法的流程示意图;
图4为本发明第三实施例公开的更易于理解的系统异常场景下的SOC诊断方法的流程示意图;
图5为本发明实施例公开的SOC诊断系统的模块化示意图。
具体实施方式
下面结合附图和具体实施方式对本发明的内容做进一步详细说明。
实施例:
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例公开了一种系统异常场景下的SOC诊断方法及系统,处理SOC开发过程中会出现的系统崩溃情形,如处理器JTAG口无法正常连接(如处理器内部状态机混乱或者被系统拖住等),URAT口无法控制(处理器无法正常响应控制台),通过在SOC内置一个诊断电路提供当前异常状态下的系统信息,有利于进一步定位和调试SOC的问题。
本发明实施例的优选应用场景包括SOC和远程接口,其中,SOC内包括若干个各单元模块和诊断电路,诊断电路内包括若干诊断单元,每单元模块对应设置有至少一诊断单元。
请参阅图1,图1为本发明第一实施例公开的一种系统异常场景下的SOC诊断方法的流程示意图,该方法可以包括以下步骤:
101、在SOC调试状态下,接收远程接口的激励信号;在本发明实施例中,远程接口可以为在芯片调试领域常用的外部激励设备,如能发出脉冲、方波、正弦等波形信号的信号源或计算机。
102、将所述激励信号与SOC内存储的标准信息进行匹配;在本发明实施例中,激励信号可以是脉冲、方波、正弦等波形信号的任一种或校验码,SOC内存储的标准信息作为检验信息,可采用由0或1组成的二进制位信息、校验码或与激励信号对应的波形信息,以便于匹配。
103、当所述匹配满足设定判据时,开放接收所述远程接口的激励信号并向所述远程接口发送地址信息,所述地址信息包含所述诊断电路的接口入口地址;在本发明实施例中,外部激励设备获取了SOC的诊断电路的接口入口地址后,则可以通过诊断电路的接口入口地址访问诊断电路的各个诊断电路,当匹配没有满足设定判据时,SOC的诊断电路会屏蔽或忽略外部激励设备的激励信号,同时把对应的状态寄存器标志置起。
104、接收所述远程接口的指令信息,其中,所述指令信息包含至少一个指定的诊断单元的入口地址和第一操作指令,所述第一操作指令用于定位到指定的诊断单元,并读取指定诊断单元的调试信息,所述调试信息为在SOC工作状态下,诊断单元读取并储存的SOC内对应单元模块的运行过程的上下文信息;在本发明实施例中,由于每个诊断单元对应着一单元模块,在SOC工作状态下,SOC的单元模块运行过程的上下文信息会被采集到诊断单元的寄存器中,当诊断电路的访问接口映射出来供远程接口进行访问后,远程接口可以根据需要调取一个或多个诊断单元的寄存器中的信息,该信息为诊断单元读取并储存的SOC内对应单元模块的运行过程的上下文信息;而该上下文信息则提供了处理器单元当前异常状态的上下文信息,以利于开发人员快速定位上下文位置。
105、响应于所述指令信息,向所述远程接口发送调试信息。在本发明实施例中,远程接口可以为调试SOC的计算机,计算机获得SOC各单元模块的异常状态的上下文信息后,可以对问题进行快速定位和处理。
本发明在系统出现异常情形而传统手段已无法正常调试时,诊断电路的诊断单元记录了SOC内部处理器单元、总线单元、存储单元、外设单元等关键单元的运行信息;可采用自定义的传输接口或者采用常见传输协议的接口对诊断电路寄存器进行读写访问。获取并分析诊断电路所提供的关键单元的运行信息,可以知道SOC内部哪些单元模块的运行状态发生了哪些异常,如处理器单元,总线单元,存储单元、外设单元等当前处于什么状态等,获得此类信息可以大大缩小问题定位的范围,从而提高问题解决的效率。在SOC芯片设计过程添加此类功能可有效提升系统调试的效率。此外,在需要安全保护的安全调试功能时,此约定的专属IO则会自动忽略灌入的任何激励信号,一直停留在正常场景的应用模式,当安全调试允许访问且异常复用功能打开时此专属IO方可受外界的特定激励信号驱动。
请参阅图2,图2为本发明第二实施例公开的系统异常场景下的SOC诊断方法的流程示意图;该方法可以包括以下步骤:
201、接收所述远程接口的第一询问信息,所述第一询问信息用于检测SOC内的诊断电路与远程接口之间的通讯是否正常;在本发明实施例中,开启诊断电路的访问前,会进行一次判断:判断专属IO异常复用功能是否开启,如果没开启则仍保留正常场景应用模式(即SOC工作状态)。
202、响应于所述第一询问信息,向所述远程接口发送第一应答信息。在本发明实施例中,第一应答信息至少用于回答诊断电路与远程接口之间的通讯(专属IO)是否正常,在确认诊断电路与远程接口之间的通讯正常的情况下,才进行下一步骤。
203、在SOC调试状态下,接收远程接口的激励信号;在本发明实施例中,远程接口可以为在芯片调试领域常用的外部激励设备,如能发出脉冲、方波、正弦等波形信号的信号源或计算机。
204、将所述激励信号与SOC内存储的标准信息进行匹配;在本发明实施例中,激励信号可以是脉冲、方波、正弦等波形信号的任一种或校验码,SOC内存储的标准信息作为检验信息,可采用由0或1组成的二进制位信息、校验码或与激励信号对应的波形信息,以便于匹配。
205、当所述匹配满足设定判据时,开放接收所述远程接口的激励信号并向所述远程接口发送地址信息,所述地址信息包含所述诊断电路的接口入口地址;在本发明实施例中,外部激励设备获取了SOC的诊断电路的接口入口地址后,则可以通过诊断电路的接口入口地址访问诊断电路的各个诊断电路,当匹配没有满足设定判据时,SOC的诊断电路会屏蔽或忽略外部激励设备的激励信号,同时把对应的状态寄存器标志置起。
206、接收所述远程接口的指令信息,其中,所述指令信息包含至少一个指定的诊断单元的入口地址和第一操作指令,所述第一操作指令用于定位到指定的诊断单元,并读取指定诊断单元的调试信息,所述调试信息为在SOC工作状态下,诊断单元读取并储存的SOC内对应单元模块的运行过程的上下文信息;在本发明实施例中,由于每个诊断单元对应着一单元模块,在SOC工作状态下,SOC的单元模块运行过程的上下文信息会被采集到诊断单元的寄存器中,当诊断电路的访问接口映射出来供远程接口进行访问后,远程接口可以根据需要调取一个或多个诊断单元的寄存器中的信息,该信息为诊断单元读取并储存的SOC内对应单元模块的运行过程的上下文信息;而该上下文信息则提供了处理器单元当前异常状态的上下文信息,以利于开发人员快速定位上下文位置。
207、响应于所述指令信息,向所述远程接口发送调试信息。在本发明实施例中,远程接口可以为调试SOC的计算机,计算机获得SOC各单元模块的异常状态的上下文信息后,可以对问题进行快速定位和处理。
请参阅图3、图4,图3为为本发明第三实施例公开的系统异常场景下的SOC诊断方法的流程示意图;图4为本发明第三实施例公开的更易于理解的系统异常场景下的SOC诊断方法的流程示意图;该方法可以包括以下步骤:
301、接收所述远程接口的第一询问信息,所述第一询问信息用于检测SOC内的诊断电路与远程接口之间的通讯是否正常;在本发明实施例中,开启诊断电路的访问前,会进行一次判断:判断专属IO异常复用功能是否开启,如果没开启则仍保留正常场景应用模式(即SOC工作状态)。
302、响应于所述第一询问信息,向所述远程接口发送第一应答信息。在本发明实施例中,第一应答信息至少用于回答诊断电路与远程接口之间的通讯(专属IO)是否正常。
303、当SOC内的诊断电路与远程接口之间通讯正常时,接收所述远程接口的第二询问信息,所述第二询问信息用于询问是否允许调试以及确定SOC当前状态,所述状态为SOC工作状态和SOC调试状态的其中一种;在本发明实施例中,SOC工作状态为SOC发挥其芯片职能的工作状态,SOC调试状态为SOC无法正常发挥其芯片职能,如系统崩溃情形(遇到总线挂死或者处理器访问某些设备通路被挂住),而需要诊断、定位问题的状态。
304、响应于所述第二询问信息,向所述远程接口发送第二应答信息。在本发明实施例中,第二应答信息至少用于从为SOC工作状态和SOC调试状态的中确定一种为SOC的当前状态,以及回答诊断电路是否允许调试(即内部安全调试功能是否允许访问)。开启诊断电路流程如下:硬件会先做出第一次判断:判断专属IO异常复用功能是否开启(诊断电路与远程接口之间的通讯是否正常),如果没开启则仍保留正常场景应用模式(SOC工作状态),如果开启则进入第二次判断:判断内部安全调试功能是否允许访问,如果不允许则仍保留在正常场景应用模式(SOC工作状态),如果允许访问则进入信号检测模式等待异常场景时外界激励信号(SOC调试状态)。可以理解的是,在需要安全保护的安全调试功能时,此约定的专属IO则会自动忽略灌入的任何激励信号,一直停留在正常场景的应用模式,当安全调试允许访问且异常复用功能打开时此专属IO方可受外界的特定激励信号驱动。
305、在SOC调试状态下,接收远程接口的激励信号;在本发明实施例中,远程接口可以为在芯片调试领域常用的外部激励设备,如能发出脉冲、方波、正弦等波形信号的信号源或计算机。
306、将所述激励信号与SOC内存储的标准信息进行匹配;在本发明实施例中,激励信号可以是脉冲、方波、正弦等波形信号的任一种或校验码,SOC内存储的标准信息作为检验信息,可采用由0或1组成的二进制位信息、校验码或与激励信号对应的波形信息,以便于匹配。
307、当所述匹配满足设定判据时,开放接收所述远程接口的激励信号并向所述远程接口发送地址信息,所述地址信息包含所述诊断电路的接口入口地址;在本发明实施例中,外部激励设备获取了SOC的诊断电路的接口入口地址后,则可以通过诊断电路的接口入口地址访问诊断电路的各个诊断电路,当匹配没有满足设定判据时,SOC的诊断电路会屏蔽或忽略外部激励设备的激励信号,同时把对应的状态寄存器标志置起。
308、接收所述远程接口的指令信息,其中,所述指令信息包含至少一个指定的诊断单元的入口地址和第一操作指令,所述第一操作指令用于定位到指定的诊断单元,并读取指定诊断单元的调试信息,所述调试信息为在SOC工作状态下,诊断单元读取并储存的SOC内对应单元模块的运行过程的上下文信息;在本发明实施例中,由于每个诊断单元对应着一单元模块,在SOC工作状态下,SOC的单元模块运行过程的上下文信息会被采集到诊断单元的寄存器中,当诊断电路的访问接口映射出来供远程接口进行访问后,远程接口可以根据需要调取一个或多个诊断单元的寄存器中的信息,该信息为诊断单元读取并储存的SOC内对应单元模块的运行过程的上下文信息;而该上下文信息则提供了处理器单元当前异常状态的上下文信息,以利于开发人员快速定位上下文位置。
309、响应于所述指令信息,向所述远程接口发送调试信息。在本发明实施例中,远程接口可以为调试SOC的计算机,计算机获得SOC各单元模块的异常状态的上下文信息后,可以对问题进行快速定位和处理。
本发明的发明构思如下:当诊断系统使能且安全调试权限允许访问时,诊断电路在外部激励信号的驱使下,内部状态机则受外部激励设备控制;当诊断系统关闭或安全调试权限不允许访问时,诊断电路会自动屏蔽外部的任何激励信号。此控制权限由SOC内部EFUSE(OTP等)与系统寄存器结合使用,通过软件安全系统根据调试需求进行选择,保证了调试的安全性。
作为一种可选的实施方式,在某些实施例中,将所述激励信号与SOC内存储的标准信息进行匹配的具体步骤包括:诊断电路采集具有周期特性的所述激励信号的波形特征;确定所述波形特征的采样点,并在延时设定周期后将所述采样点转换成位信息储存到SOC内的第一寄存器中;将寄存在所述第一寄存器中的位信息与所述标准信息进行匹配,若匹配一致则认为满足设定判据,所述标准信息为通过软件预设于SOC内的第二寄存器中的二进制值。具体地,硬件上会判断该输入的激励信号与软件所配置的寄存器激励值是否匹配:SOC内部的实现电路用一个采样时钟去检查输入信号的边沿,延时若干时钟周期(可配置)后在电平中间(可自定义)作为采样点去移位寄存外部输入的若干bit信息,然后把寄存的bit信息与软件预设在SOC系统控制寄存器中的激励值进行比较,如不匹配则会自动忽略该输入信息而不做任何处理,如相匹配则把诊断电路访问接口映射出来供外部激励设备进行访问,同时把对应的状态寄存器标志置起。
作为一种可选的实施方式,在某些实施例中,SOC内的诊断电路与远程接口之间的传输协议可采用自定义的传输接口或者采用常见传输协议的接口如SPI/UART/JTAG/I2C等,传输协议内容包括:读写控制信息、诊断设备ID、诊断空间地址、数据信息、状态信息、校验码等。其中,SPI接口的全称是"SerialPeripheralInterface",意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。UART(UniversalAsynchronousReceiver/Transmitter)通用异步收发器,是将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行数据转换为字节,供计算机内部使用并行数据的器件使用。在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记,并从接收数据流中删除启停标记。JTAG(JointTestActionGroup联合测试行动小组)是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试。I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。
作为一种可选的实施方式,在某些实施例中,诊断电路内部支持若干诊断单元,不同诊断单元负责采集和控制不同的SOC模块,如诊断电路的诊断单元0采集SOC处理器单元的PC/LR/SP等通用寄存器的信息,硬件实现上通过信号采样的形式把结果存储在诊断电路的寄存器中,以上信息提供了处理器单元当前异常状态的上下文信息,以利于开发人员快速定位上下文位置,诊断单元0还可以通过控制通道直接对处理器单元进行复位、调试等操作;诊断单元1可动态采集总线信号包括挂在总线上的各模块的就绪状态、响应状态,也可以发起总线访问存储空间和IO空间等,以利于获取SOC系统信息,可以直接查看和调试总线的工作状态,结合诊断单元0所提供的处理器上下文信息可进一步观测到SOC内部异常状态;诊断单元N用于采集和控制SOC内部其他关键模块N的调试信息和控制信号,且诊断单元N对模块N的访问通路可不经过总线直接对其内部信号进行操作,以利于在系统异常状态下仍可对模块N进行调试。
请参阅图5,为本发明实施例公开的SOC诊断系统的模块化示意图。诊断系统包括SOC以及远程接口,SOC内包括若干个各单元模块,所述诊断电路内包括若干诊断单元,每所述单元模块对应设置有至少一所述诊断单元,所述远程接口向所述诊断电路发送激励信号;所述诊断单元用于在在SOC调试状态下,接收远程接口的激励信号,将所述激励信号与SOC内存储的标准信息进行匹配,当所述匹配满足设定判据时,开放接收所述远程接口的激励信号并向所述远程接口发送地址信息,所述地址信息包含所述诊断电路的接口入口地址;接收所述远程接口的指令信息,其中,所述指令信息包含至少一个指定的诊断单元的入口地址和第一操作指令,所述第一操作指令用于定位到指定的诊断单元,并读取指定诊断单元的调试信息,所述调试信息为在SOC工作状态下,诊断单元读取并储存的SOC内对应单元模块的运行过程的上下文信息;以及向所述远程接口发送调试信息。
所述诊断电路将所述激励信号与SOC存储的标准信息进行比对,包括:采集具有周期特性的所述激励信号的波形特征;确定所述波形特征的采样点,并在延时设定周期后将所述采样点转换成位信息储存到SOC内的第一寄存器中;将寄存在所述第一寄存器中的位信息与所述标准信息进行匹配,若匹配一致则认为满足设定判据,所述标准信息为通过软件预设于SOC内的第二寄存器中的二进制值。
所述诊断电路在接收远程接口的激励信号前,还包括:接收所述远程接口的第一询问信息,所述第一询问信息用于检测SOC内的诊断电路与远程接口之间的通讯是否正常;响应于所述第一询问信息,向所述远程接口发送第一应答信息。
所述诊断电路在向所述远程接口发送第一应答信息后,接收远程接口的激励信号前,还包括:当SOC内的诊断电路与远程接口之间通讯正常时;接收所述远程接口的第二询问信息,所述第二询问信息用于询问是否允许调试以及确定SOC当前状态,所述状态为SOC工作状态和SOC调试状态的其中一种;响应于所述第二询问信息,向所述远程接口发送第二应答信息。
SOC内的诊断电路与远程接口之间采用SPI/UART/JTAG/I2C的任一种传输接口;还包括生成对应于SOC内处理器单元的第一采集指令和第二操作指令,所述第一采集指令用于通过信号采样的形式采集所述处理器单元的通用寄存器的运行过程的上下文信息,所述第二操作指令用于对所述处理器单元进行复位和调试操作。还包括生成对应于SOC内总线单元的第二采集指令,所述第二采集指令用于动态采集所述总线单元的信息,其中,所述总线单元的信息包括各单元模块的就绪状态、响应状态以及总线访问存储空间和IO空间。
上述实施例只是为了说明本发明的技术构思及特点,其目的是在于让本领域内的普通技术人员能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡是根据本发明内容的实质所做出的等效的变化或修饰,都应涵盖在本发明的保护范围内。
Claims (10)
1.一种系统异常场景下的SOC诊断方法,SOC内包括若干个各单元模块,其特征在于,还包括诊断电路,所述诊断电路内包括若干诊断单元,每所述单元模块对应设置有至少一所述诊断单元,所述方法应用于所述诊断电路,包括:
在SOC调试状态下,接收远程接口的激励信号;
将所述激励信号与SOC内存储的标准信息进行匹配;
当所述匹配满足设定判据时,开放接收所述远程接口的激励信号并向所述远程接口发送地址信息,所述地址信息包含所述诊断电路的接口入口地址;
接收所述远程接口的指令信息,其中,所述指令信息包含至少一个指定的诊断单元的入口地址和第一操作指令,所述第一操作指令用于定位到指定的诊断单元,并读取指定诊断单元的调试信息,所述调试信息为在SOC工作状态下,诊断单元读取并储存的SOC内对应单元模块的运行过程的上下文信息;
响应于所述指令信息,向所述远程接口发送调试信息。
2.根据权利要求1所述系统异常场景下的SOC诊断方法,其特征在于,所述将所述激励信号与SOC存储的标准信息进行比对,包括:
采集具有周期特性的所述激励信号的波形特征;
确定所述波形特征的采样点,并在延时设定周期后将所述采样点转换成位信息储存到SOC内的第一寄存器中;
将寄存在所述第一寄存器中的位信息与所述标准信息进行匹配,若匹配一致则认为满足设定判据,所述标准信息为通过软件预设于SOC内的第二寄存器中的二进制值。
3.根据权利要求1所述系统异常场景下的SOC诊断方法,其特征在于,接收远程接口的激励信号前,还包括:
接收所述远程接口的第一询问信息,所述第一询问信息用于检测SOC内的诊断电路与远程接口之间的通讯是否正常;
响应于所述第一询问信息,向所述远程接口发送第一应答信息。
4.根据权利要求3所述系统异常场景下的SOC诊断方法,其特征在于,向所述远程接口发送第一应答信息后,接收远程接口的激励信号前,还包括:
当SOC内的诊断电路与远程接口之间通讯正常时;
接收所述远程接口的第二询问信息,所述第二询问信息用于询问是否允许调试以及确定SOC当前状态,所述状态为SOC工作状态和SOC调试状态的其中一种;
响应于所述第二询问信息,向所述远程接口发送第二应答信息。
5.根据权利要求1-4任一所述系统异常场景下的SOC诊断方法,其特征在于,SOC内的诊断电路与远程接口之间采用SPI/UART/JTAG/I2C的任一种传输接口;
还包括生成对应于SOC内处理器单元的第一采集指令和第二操作指令,所述第一采集指令用于通过信号采样的形式采集所述处理器单元的通用寄存器的运行过程的上下文信息,所述第二操作指令用于对所述处理器单元进行复位和调试操作;
还包括生成对应于SOC内总线单元的第二采集指令,所述第二采集指令用于动态采集所述总线单元的信息,其中,所述总线单元的信息包括各单元模块的就绪状态、响应状态以及总线访问存储空间和IO空间。
6.一种异常场景下的SOC诊断系统,包括SOC以及远程接口,SOC内包括若干个各单元模块,其特征在于,还包括诊断电路,所述诊断电路内包括若干诊断单元,每所述单元模块对应设置有至少一所述诊断单元,
所述远程接口向所述诊断电路发送激励信号;
所述诊断单元用于在SOC调试状态下,接收远程接口的激励信号,将所述激励信号与SOC内存储的标准信息进行匹配,当所述匹配满足设定判据时,开放接收所述远程接口的激励信号并向所述远程接口发送地址信息,所述地址信息包含所述诊断电路的接口入口地址;接收所述远程接口的指令信息,其中,所述指令信息包含至少一个指定的诊断单元的入口地址和第一操作指令,所述第一操作指令用于定位到指定的诊断单元,并读取指定诊断单元的调试信息,所述调试信息为在SOC工作状态下,诊断单元读取并储存的SOC内对应单元模块的运行过程的上下文信息;以及向所述远程接口发送调试信息。
7.根据权利要求6所述的异常场景下的SOC诊断系统,其特征在于,所述诊断电路将所述激励信号与SOC存储的标准信息进行比对,包括:
采集具有周期特性的所述激励信号的波形特征;
确定所述波形特征的采样点,并在延时设定周期后将所述采样点转换成位信息储存到SOC内的第一寄存器中;
将寄存在所述第一寄存器中的位信息与所述标准信息进行匹配,若匹配一致则认为满足设定判据,所述标准信息为通过软件预设于SOC内的第二寄存器中的二进制值。
8.根据权利要求6所述的异常场景下的SOC诊断系统,其特征在于,所述诊断电路在接收远程接口的激励信号前,还包括:
接收所述远程接口的第一询问信息,所述第一询问信息用于检测SOC内的诊断电路与远程接口之间的通讯是否正常;
响应于所述第一询问信息,向所述远程接口发送第一应答信息。
9.根据权利要求6所述的异常场景下的SOC诊断系统,其特征在于,所述诊断电路在向所述远程接口发送第一应答信息后,接收远程接口的激励信号前,还包括:
当SOC内的诊断电路与远程接口之间通讯正常时;
接收所述远程接口的第二询问信息,所述第二询问信息用于询问是否允许调试以及确定SOC当前状态,所述状态为SOC工作状态和SOC调试状态的其中一种;
响应于所述第二询问信息,向所述远程接口发送第二应答信息。
10.根据权利要求6-9任一所述的异常场景下的SOC诊断系统,其特征在于,SOC内的诊断电路与远程接口之间采用SPI/UART/JTAG/I2C的任一种传输接口;
还包括生成对应于SOC内处理器单元的第一采集指令和第二操作指令,所述第一采集指令用于通过信号采样的形式采集所述处理器单元的通用寄存器的运行过程的上下文信息,所述第二操作指令用于对所述处理器单元进行复位和调试操作;
还包括生成对应于SOC内总线单元的第二采集指令,所述第二采集指令用于动态采集所述总线单元的信息,其中,所述总线单元的信息包括各单元模块的就绪状态、响应状态以及总线访问存储空间和IO空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010731229.8A CN112100016B (zh) | 2020-07-27 | 2020-07-27 | 一种系统异常场景下的soc诊断方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010731229.8A CN112100016B (zh) | 2020-07-27 | 2020-07-27 | 一种系统异常场景下的soc诊断方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100016A CN112100016A (zh) | 2020-12-18 |
CN112100016B true CN112100016B (zh) | 2023-07-14 |
Family
ID=73750625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010731229.8A Active CN112100016B (zh) | 2020-07-27 | 2020-07-27 | 一种系统异常场景下的soc诊断方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100016B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416452A (zh) * | 2022-01-20 | 2022-04-29 | 无锡众星微系统技术有限公司 | 片上系统诊断方法和装置 |
CN115033444B (zh) * | 2022-08-10 | 2022-11-15 | 合肥健天电子有限公司 | 基于8051core在线调试电路控制装置 |
CN117665726A (zh) * | 2022-08-26 | 2024-03-08 | 上海禾赛科技有限公司 | 异常监控系统及方法、装置、处理方法、雷达及监控方法 |
CN116991642B (zh) * | 2023-06-26 | 2024-06-11 | 南京奕斯伟计算技术有限公司 | 芯片调测方法、芯片、系统及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183321A (zh) * | 2007-12-14 | 2008-05-21 | 中国人民解放军国防科学技术大学 | 一种用于并行计算机系统的带外诊断测试接口及测试方法 |
CN101504692A (zh) * | 2009-03-25 | 2009-08-12 | 炬力集成电路设计有限公司 | 一种验证和测试片上系统的系统及方法 |
CN101788945A (zh) * | 2010-02-04 | 2010-07-28 | 电子科技大学 | 一种多电路板或多模块电子系统的诊断测试系统及方法 |
CN101894591A (zh) * | 2010-07-26 | 2010-11-24 | 清华大学 | 一种基于lfsr的外部存储接口的随机测试装置 |
CN105807202A (zh) * | 2014-12-30 | 2016-07-27 | 珠海全志科技股份有限公司 | 集成电路测试板卡 |
WO2018027587A1 (zh) * | 2016-08-09 | 2018-02-15 | 华为技术有限公司 | 一种片上系统和处理设备 |
CN109725250A (zh) * | 2019-01-04 | 2019-05-07 | 珠海亿智电子科技有限公司 | 一种片上系统芯片模拟电路的测试系统及测试方法 |
-
2020
- 2020-07-27 CN CN202010731229.8A patent/CN112100016B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183321A (zh) * | 2007-12-14 | 2008-05-21 | 中国人民解放军国防科学技术大学 | 一种用于并行计算机系统的带外诊断测试接口及测试方法 |
CN101504692A (zh) * | 2009-03-25 | 2009-08-12 | 炬力集成电路设计有限公司 | 一种验证和测试片上系统的系统及方法 |
CN101788945A (zh) * | 2010-02-04 | 2010-07-28 | 电子科技大学 | 一种多电路板或多模块电子系统的诊断测试系统及方法 |
CN101894591A (zh) * | 2010-07-26 | 2010-11-24 | 清华大学 | 一种基于lfsr的外部存储接口的随机测试装置 |
CN105807202A (zh) * | 2014-12-30 | 2016-07-27 | 珠海全志科技股份有限公司 | 集成电路测试板卡 |
WO2018027587A1 (zh) * | 2016-08-09 | 2018-02-15 | 华为技术有限公司 | 一种片上系统和处理设备 |
CN109725250A (zh) * | 2019-01-04 | 2019-05-07 | 珠海亿智电子科技有限公司 | 一种片上系统芯片模拟电路的测试系统及测试方法 |
Non-Patent Citations (3)
Title |
---|
A two-mode debugging system for VLSI designs using Xilinx FPGA;Li,W.C 等;《2012 International Conference on Computational Problem-Solving》;第84-88页 * |
SOC可测试性设计与测试技术;胡瑜 等;《计算机研究与发展》;第42卷(第01期);第153-162页 * |
一种SoC片上调试与可测性的整合设计;虞致国 等;《电子与封装》;第10卷(第02期);第20-22+23页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112100016A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112100016B (zh) | 一种系统异常场景下的soc诊断方法及系统 | |
EP0849668B1 (en) | Diagnostics system and procedure in an integrated circuit device | |
JP4454430B2 (ja) | 処理装置の交差トリガ | |
EP0849669B1 (en) | Diagnostic system and procedure in an integrated circuit device | |
US6311296B1 (en) | Bus management card for use in a system for bus monitoring | |
EP0982595B1 (en) | An integrated circuit with multiple processing cores | |
US6889344B2 (en) | System and method for exposing hidden events on system buses | |
US6178525B1 (en) | Trigger sequencing controller | |
EP0840219A1 (en) | An integrated circuit device and method of communication therewith | |
EP0849670A1 (en) | Integrated computer providing an instruction trace | |
CN104077203A (zh) | 一种可经由usb接口实现计算机硬件诊断的方法及装置 | |
CN111078492B (zh) | 一种SoC内部总线的状态监控系统及方法 | |
EP1614043B1 (en) | Diagnostic data capture within an integrated circuit | |
CN112685212B (zh) | 一种处理器异常的调试追踪方法、装置和系统 | |
EP2435918B1 (en) | Integrated circuit comprising trace logic and method for providing trace information | |
US6041378A (en) | Integrated circuit device and method of communication therewith | |
CN101639816B (zh) | 一种总线的实时跟踪系统及相应的跟踪、调试方法 | |
US10042692B1 (en) | Circuit arrangement with transaction timeout detection | |
EP1125200B1 (en) | Maintaining object size information concurrent with data optimization for debugging | |
CN104572515A (zh) | 跟踪模块、方法、系统和片上系统芯片 | |
US12038471B2 (en) | Electronic device and corresponding self-test method | |
US20220065923A1 (en) | Electronic device and corresponding self-test method | |
CN116719712B (zh) | 处理器串口日志输出方法、装置、电子设备及存储介质 | |
CN117007938A (zh) | Soc芯片调试装置和调试方法 | |
JPH1011112A (ja) | システム用のファームウェアの開発及びテスト用のモニタ装置、開発方法、及び、汎用回路内エミュレータ装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |