本公开涉及芯片调试,具体而言,涉及一种芯片调试方法、装置及系统。
背景技术:
1、传统的基于软件的芯片调试技术由宿主机,调试软件和调试目标系统构成。其中芯片的调试接口如jtag和宿主机相连,宿主机的调试软件控制调试接口对芯片进行调试。
2、在实际测试过程中,需要使被调试目标系统工作在调试模式之下,需要搭建专门的调试环境。芯片在调试环境下工作时,芯片上的处理器可以加载运行程序,还可以通过调试接口对芯片的寄存器和存储进行访问。
3、可知的是,传统芯片调试方案可以对芯片的预设功能进行模拟验证,但是难以对真实工作的芯片进行监控。
技术实现思路
1、本公开至少提供一种芯片调试方法、装置及系统,以通过调试辅助设备实现针对待调试芯片的在线调试。
2、第一方面,本公开实施例提供了一种芯片调试方法,应用于调试辅助设备,所述方法包括:
3、向目标芯片发送调试指令,所述调试指令用于使得所述目标芯片启动功能冻结状态;
4、获取所述目标芯片处于功能冻结状态下的内部运行状态数据;
5、对所述内部运行状态数据进行数据分析,确定所述目标芯片的状态分析结果。
6、在一种可能的实施方式中,在启动一次或多次功能冻结状态的情况下,所述获取所述目标芯片处于功能冻结状态下的内部运行状态数据,包括:
7、获取所述目标芯片在每个功能冻结状态下的内部运行状态数据;
8、对所述内部运行状态数据进行数据分析,包括:
9、对获取的一份或多份内部运行状态数据进行分析,确定所述目标芯片在整个运行过程中的信号时序波形图,所述信号时序波形图的转折点用于表示所述目标芯片在对应功能冻结状态下的内部运行状态是否存在异常。
10、在一种可能的实施方式中,所述方法还包括:
11、展示所述目标芯片在整个运行过程中的信号时序波形图。
12、在一种可能的实施方式中,按照如下方式中的一种获取所述目标芯片处于功能冻结状态下的内部运行状态数据:
13、在根据所述调试指令控制所述目标芯片由正常工作状态切换到功能冻结状态的情况下,获取所述目标芯片在所述功能冻结状态下的内部运行状态数据;
14、在所述目标芯片冻结内部时钟信号的情况下,获取所述目标芯片所保留的内部运行状态数据。
15、在一种可能的实施方式中,所述对所述内部运行状态数据进行数据分析,包括:
16、基于所述内部运行状态数据确定所述目标芯片的运行状态是否符合预期;
17、所述方法还包括:
18、若确定所述目标芯片的运行状态不符合预期,则生成用于指示状态异常的报警信号。
19、在一种可能的实施方式中,在确定所述目标芯片的状态分析结果指示存在状态异常的情况下,所述方法还包括:
20、获取各异常状态及各容错处理等级之间的对应关系;
21、基于所述对应关系,确定所述状态分析结果所指示异常状态对应的容错处理等级;
22、按照对应的容错处理等级对所述目标芯片进行容错处理。
23、在一种可能的实施方式中,所述方法还包括:
24、在满足解除冻结触发条件的情况下,生成用于解除所述功能冻结状态的触发信号,所述触发信号用于使所述目标芯片从所述功能冻结状态切换回正常工作状态。
25、在一种可能的实施方式中,所述解除冻结触发条件至少包括以下条件中的一种:
26、在获取到所述内部运行状态数据的情况下,确定满足所述解除冻结触发条件;
27、在获取到所述内部运行状态数据,并将所述内部运行状态数据转存至所述测试辅助设备包括的存储器的情况下,确定满足所述解除冻结触发条件;
28、在确定达到预设冻结时长的情况下,确定满足所述解除冻结触发条件。
29、第二方面,本公开还提供了一种芯片调试方法,应用于目标芯片,所述方法包括:
30、接收调试辅助设备发送的调试指令,所述调试指令用于使得所述目标芯片启动功能冻结状态;
31、基于所述调试指令将处于功能冻结状态下的内部运行状态数据传输至所述调试辅助设备,以使所述调试辅助设备通过对所述内部运行状态数据进行数据分析,确定所述目标芯片的状态分析结果。
32、在一种可能的实施方式中,按照如下任意一种方式启动功能冻结状态:
33、在满足预设周期启动条件时,周期性启动所述功能冻结状态;
34、在接收到调试指令时,立即启动所述功能冻结状态;
35、在完成特定执行任务时,有条件启动所述功能冻结状态。
36、第三方面,本公开还提供了一种芯片调试装置,应用于调试辅助设备,所述装置包括:
37、发送模块,用于向目标芯片发送调试指令,所述调试指令用于使得所述目标芯片启动功能冻结状态;
38、获取模块,用于获取所述目标芯片处于功能冻结状态下的内部运行状态数据;
39、分析模块,用于对所述内部运行状态数据进行数据分析,确定所述目标芯片的状态分析结果。
40、第四方面,本公开还提供了一种芯片调试装置,应用于目标芯片,所述装置包括:
41、接收模块,用于接收调试辅助设备发送的调试指令,所述调试指令用于使得所述目标芯片启动功能冻结状态;
42、传输模块,用于基于所述调试指令将处于功能冻结状态下的内部运行状态数据传输至所述调试辅助设备,以使所述调试辅助设备通过对所述内部运行状态数据进行数据分析,确定所述目标芯片的状态分析结果。
43、第五方面,本公开还提供了一种芯片调试系统,所述系统包括:调试辅助设备,以及待调试的目标芯片;所述调试辅助设备包括扫描链读取逻辑单元,所述目标芯片包括调试控制逻辑单元及芯片处理逻辑单元;
44、所述调试控制逻辑单元,用于周期性的冻结所述目标芯片的内部时钟信号,使所述目标芯片周期性的进行由正常工作状态至功能冻结状态的切换;
45、所述扫描链读取逻辑单元,用于读取所述目标芯片处于功能冻结状态下的内部运行状态数据;
46、所述芯片处理逻辑单元,用于根据所述调试控制逻辑单元指示的切换状态支持所述目标芯片的处理逻辑。
47、在一种可能的实施方式中,所述扫描链读取逻辑单元,还用于转存读取的所述内部运行状态数据;
48、所述调试控制逻辑单元,还用于在确定成功转存所述内部运行状态数据的情况下,解除对所述目标芯片的内部时钟信号的冻结,使所述目标芯片由所述功能冻结状态切换回所述正常工作状态。
49、第六方面,本公开还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面及其各种实施方式、第二方面及其各种实施方式中任一项所述的芯片调试方法。
50、第七方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面及其各种实施方式、第二方面及其各种实施方式中任一项所述的芯片调试方法。
51、采用上述芯片调试方法、装置及系统,通过向目标芯片发送调试指令,可以获取目标芯片处于功能冻结状态下的内部运行状态,通过对内部运行状态进行数据分析,可以确定目标芯片的状态分析结果。本公开在意图进行芯片调试时,可以获取目标芯片在功能冻结状态下的内部运行状态数据,该状态数据一定程度上可以指示目标芯片在当前调试时刻的运行情况,使得调试的实时性更强,除此之外,通过状态数据分析可以进一步确定是否存在运行异常等情形,这样不管目标芯片所处真实工作环境如何,均可以得到有效的状态分析结果,适用性更强。
52、本公开的其他优点将结合以下的说明和附图进行更详细的解说。
53、应当理解,上述说明仅是本公开技术方案的概述,以便能够总体了解本公开的技术手段,进而依照说明书的内容予以实施。为了让本公开的上述和其它目的、特征及优点能够更明显易懂,以下特举例说明本公开的具体实施方式。