CN114416453A - 一种基于外设接口的芯片硬件调试方法和装置 - Google Patents

一种基于外设接口的芯片硬件调试方法和装置 Download PDF

Info

Publication number
CN114416453A
CN114416453A CN202210068201.XA CN202210068201A CN114416453A CN 114416453 A CN114416453 A CN 114416453A CN 202210068201 A CN202210068201 A CN 202210068201A CN 114416453 A CN114416453 A CN 114416453A
Authority
CN
China
Prior art keywords
command
debugging
chip
peripheral interface
upper computer
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.)
Granted
Application number
CN202210068201.XA
Other languages
English (en)
Other versions
CN114416453B (zh
Inventor
刘冰洋
黄晓文
马乐
苏海亮
李永耀
宁佐林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Zhongxing Microsystem Technology Co ltd
Original Assignee
Wuxi Zhongxing Microsystem Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuxi Zhongxing Microsystem Technology Co ltd filed Critical Wuxi Zhongxing Microsystem Technology Co ltd
Priority to CN202210068201.XA priority Critical patent/CN114416453B/zh
Publication of CN114416453A publication Critical patent/CN114416453A/zh
Application granted granted Critical
Publication of CN114416453B publication Critical patent/CN114416453B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种基于外设接口的芯片硬件调试方法和装置,该方法包括:通过芯片的外设接口接收上位机的调试命令,并对调试命令进行解析,将调试命令传送到系统总线;根据调试命令发起对芯片目标子系统的寄存器的访问,并通过系统总线接收目标子系统的响应数据;通过外设接口将目标子系统的响应数据返回到上位机中。本发明基于常用的外设接口,在不需要芯片内部的CPU的参与的前提下也能够实现上位机对芯片的远程调试,提高了调试效率,并且实现了调试命令帧的编码可扩展性和芯片模块的可控制性。

Description

一种基于外设接口的芯片硬件调试方法和装置
技术领域
本发明属于芯片调试领域,特别涉及一种基于外设接口的芯片硬件调试方法和装置。
背景技术
随着芯片SoC设计日益复杂,对芯片的硬件调试(Debug)越来越重要。当芯片出现运行异常时,芯片研发人员需要对异常的芯片进行定位分析,并进行后续优化调整。为了在不增加芯片接口的基础上进行芯片的调试工作,通过通用的外设接口来配合芯片调试是目前SOC芯片常用的调试手段。例如,常见的调试系统如图1所示。上位机与芯片连接。如果调试过程需要对片内寄存器进行访问,上位机首先通过外设接口发起对芯片访问的请求命令,由外设接口产生中断通知CPU接收数据。CPU收到中断后,通过总线系统发起对外设寄存器的读操作获取数据,并按照固化的程序处理数据,解析出外设接口需要访问的芯片内部地址和数据。然后CPU需要发起对片上系统总线的请求;系统总线经过译码,将CPU的请求转换为目标地址,并发起对目标地址的子系统的访问。被访问的子系统返回对系统总线的响应,并通过系统总线返回到CPU。CPU再根据接收到的响应信息,通过访问外设接口的寄存器将信息按照预设的格式通过外设接口返回给上位机。
从以上描述可以看出,现有技术通过外设接口的调试方案严重依赖芯片CPU的协作,CPU在调试过程中占有重要的角色,一旦CPU出现挂死,则上位机接收不到芯片响应,无法进行调试。再者,现有的调试过程需要多次读取外设的寄存器来接收数据,并且需要多次写入外设的寄存器才能将芯片返回给上位机的数据发送出去,外设的寄存器读写过程必然会使得调试效率较低。
发明内容
本发明的目的在于提出一种实现上位机对芯片的直接进行远程调试的方案,而不需要芯片内部的CPU的参与。
根据本发明的第一方面,本发明提供了一种基于外设接口的芯片硬件调试方法,包括:
S101、通过所述芯片的外设接口接收上位机的调试命令,并对所接收的调试命令进行解析,将解析后的调试命令传送到所述芯片的系统总线;
S102、根据所述调试命令发起对所述芯片的目标子系统的寄存器的访问,并通过所述系统总线接收所述目标子系统的响应数据;
S103、通过所述外设接口将所述目标子系统的响应数据返回到所述上位机中。
优选地,所述将解析后的调试命令传送到所述芯片的系统总线,进一步包括:
对解析得到的调试命令进行处理,根据所述调试命令的类型,确定对所述系统总线的访问请求。
优选地,所述根据所述调试命令发起对所述芯片的目标子系统的寄存器的访问,进一步包括:
根据所述调试命令的目标地址信息,在所述芯片的多个子系统中确定要访问的目标子系统,并发起对所述目标子系统的寄存器的访问请求。
优选地,所述通过外设接口将所述目标子系统的响应数据返回到所述上位机中,进一步包括:
根据所述目标子系统的响应数据,生成待发送的命令、地址和数据信息;根据预定义响应帧格式,将所述响应数据发送到所述上位机。
优选地,在对所接收的调试命令进行解析之前,该方法还包括:
对所述调试命令进行校验,并所述调试命令是否出现错误。
优选地,所述上位机的调试命令包括同步探测帧,用于实现所述上位机和所述芯片间的同步,其中,仅当接收到正确的同步探测帧后,继续接收和处理其他调试命令;否则继续等待所述同步探测帧。
优选地,所述同步探测帧为21个连续的全0字节数据。
优选地,所述上位机的调试命令包括读寄存器命令帧,所述通过系统总线接收所述目标子系统的响应数据,进一步包括:
如果所述读寄存器命令帧校验正确,则接收所述目标子系统的第一格式的读命令响应数据,如果所述读寄存器命令帧校验错误,则接收所述目标子系统的第二格式的读命令响应数据。
优选地,所述上位机的调试命令包括控制信号帧,用于设置芯片内预设模块的控制信号翻转。
根据本发明的第二方面,提供了一种基于外设接口的芯片硬件调试装置,包括:
命令接收单元,用于通过芯片的外设接口接收上位机的调试命令,对所接收的调试命令进行解析,并通过命令的校验来标记所接收的调试命令是否出现错误;
命令处理单元,用于对所述命令接收单元解析得到的调试命令进行处理,将解析后的调试命令传送到所述芯片的系统总线;根据所述调试命令发起对所述芯片的目标子系统的寄存器的访问,并获取所述目标子系统的响应数据;
所述响应发送单元,用于通过所述外设接口将所述目标子系统的响应数据返回到所述上位机中。
采用本发明的技术方案,基于常用的外设接口,在不需要芯片内部的CPU的参与的前提下也能够实现上位机对芯片的远程调试,协议解析命令处理模块和总线接口直接建立通信,实现对芯片全地址空间的访问,提高了调试效率,并且实现了调试命令帧的编码可扩展性和芯片模块的可控制性。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获取。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图是本发明的某些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。
图1示出了根据现有技术的基于外设接口的芯片硬件调试结构示意图。
图2示出了根据本发明的基于外设接口的芯片硬件调试方法的主要流程图。
图3示出了根据本发明的基于外设接口的芯片硬件调试结构示意图。
图4示出了根据本发明的协议解析命令处理模块结构示意图。
图5示出了根据本发明的同步命令帧结构示意图。
图6示出了根据本发明的同步命令响应帧结构示意图。
图7示出了根据本发明的写寄存器命令帧结构示意图。
图8示出了根据本发明的写寄存器命令响应帧结构示意图。
图9示出了根据本发明的读寄存器命令帧结构示意图。
图10和图11分别示出了根据本发明的在读寄存器命令正确和错误情况下的响应帧结构示意图。
图12示出了根据本发明的控制信号帧结构示意图。
图13示出了根据本发明的控制信号响应帧结构示意图。
图14示出了根据本发明的同步过程处理流程图。
图15示出了根据本发明的调试命令帧接收流程图。
图16示出了根据本发明的调试命令处理流程图。
图17示出了根据本发明的响应帧发送流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
本发明在常用的外设接口的基础上,对可访问的芯片内部寄存器进行优化,在外设接口和系统总线之间增加协议解析命令处理模块,支持硬件自解析协议,以减少调试过程对CPU的依赖。
如图2所示,根据本发明的第一方面,基于外设接口的芯片硬件调试方法,包括:
步骤S101,通过所述芯片的外设接口接收上位机的调试命令,并对所接收的调试命令进行解析,将解析后的调试命令传送到所述芯片的系统总线。
首先,上位机可以按照自定义的协议格式通过外设接口将调试命令发送给SOC芯片的协议解析命令处理模块,所述调试命令可以用于访问片内寄存器的数据。参见图3,所述协议解析命令处理模块设置于外设接口和系统总线之间。协议解析命令处理模块可以用于解析调试命令,然后通过总线的Master接口如(诸如AHB或者AXI接口)发起对系统总线的访问。
步骤S102,根据所述调试命令发起对所述芯片的目标子系统的寄存器的访问,并通过所述系统总线接收所述目标子系统的响应数据。
具体地,系统总线可以根据调试命令的目标地址信息,在多个芯片子系统中确定要访问的目标子系统,并发起对相应子系统的寄存器的访问请求。被选中的子系统接收到访问请求后,可以返回对系统总线的响应。相应地,系统总线可以向协议解析命令处理模块返回对外设Master请求的响应。
步骤S103,通过所述外设接口将所述目标子系统的响应数据返回到所述上位机中。
对目标子系统的寄存器的访问可以包括读操作、写操作以及其他类型的访问,例如复位、禁用等。对应地,所述响应数据可以包括从目标子系统的寄存器读取到的数据、对目标子系统的寄存器的写操作的执行结果,以及其他类型的访问结果信息。即协议解析命令处理模块在接收到系统总线返回的目标子系统的响应数据之后,可以对返回的信息进行处理,然后通过外设接口发起对上位机请求的响应,完成一次片内寄存器的调试访问。
本发明的上述基于外设接口的芯片硬件调试方法,能够在不需要芯片内部的CPU的参与的前提下实现上位机对芯片的远程调试,并且具有较强的通用性,只需设置一个协议解析命令处理模块和总线的Master接口即可实现对芯片全地址空间的访问,支持在常用的接口上进行协议的开发,例如Uart,I2C等接口。协议解析命令处理模块与总线直接进行通信,提高了调试效率。
相应地,根据本发明的第二方面,提供了一种基于外设接口的芯片硬件调试装置。所述装置可以由协议解析命令处理模块来实现。接下来将参考图4进一步说明基于外设接口的芯片硬件调试装置即协议解析命令处理模块的内部功能架构。为实现访问协议和解析和命令处理功能,基于外设接口的芯片硬件调试装置可以分为三个单元:命令接收单元、命令处理单元和响应发送单元。
命令接收单元用于通过芯片的外设接口接收上位机的调试命令,对该命令进行必要的校验和解析,并标记命令接收是否出现错误;
命令处理单元用于对命令接收单元解析得到的命令进行处理,诸如根据读、写命令类型发起对系统总线的访问请求等命令处理,将解析后的调试命令传送到芯片的系统总线;根据调试命令发起对所述芯片的目标子系统的寄存器的访问,并获取响应发送单元需要发送的所述目标子系统的响应数据包括命令、地址和数据等信息;
响应发送单元用于根据响应格式,将芯片内部的响应数据发送到上位机。
在所述协议解析命令处理模块所解析的协议中,本发明定义了上位机与芯片接口之间的以下四种协议的命令帧,格式分别如下:
1、同步探测帧(SOD帧):
SOD帧可以以21字节全0的数据作为调试的起始帧。当开始调试时,上位机需要确保发送21个字节连续的0x00。同步探测帧的目的是通知芯片此时将要开始发送调试命令,同步探测帧可以只发送一次,在后续的命令中不需要再发送同步数据,直接发送命令即可。同步探测帧的详细格式如图5所示。
相应地,对SOD帧的响应命令格式如图6所示。具体格式为命令字节(包含错误类型)+CRC校验字节。其中check为前7bit的CRC校验位。bit5-bit7分别为1,0,0,表示命令的类型为SOD帧响应。Crc5[]为命令字节中Hresp[]相应的校验位。Hresp[]表示返回的错误类型,不同取值可以表示SOD帧的不同的错误状态。其中4’d0和4’d3分别表示Hresp[]的4位二进制数的十进制值为0和3。为了提高调试效率,可以将外部上位机程序的当前命令接收的状态及时通知芯片,在每一条命令后都设置一个响应的回复,位于PC/服务器中的上位机程序可以在收到上一个命令的响应后再下发下一条命令。
2、写寄存器命令帧:
寄存器的写命令帧格式如图7所示。RW=1表示写操作。CMD字段取0,表示信号帧类型是命令帧。可支持1个、2个、3个或4个32位数据的写操作,地址为地址字节中的初始地址。CRC5校验计算从命令字节开始直到数据字节结束。相应地,对写命令帧的响应命令格式如图8所示。可以每4个字节进行一次写命令响应。即如果命令字节中的DL3~DL0定义为4个字节的数据,则写命令可以只响应一次;如果定义的是8字节的数据,则写命令可以响应2次,分别对应2次的写操作情况;如果定义的是12字节的数据,则写命令可以响应3次,分别对应3次的写操作情况;如果定义的是16字节的数据,则写命令可以响应4次,分别对应4次的写操作情况。具体格式为命令字节(包含错误类型)+CRC校验字节。bit5-bit7分别为1,1,0,表示命令的类型为写命令响应。Hresp[]的不同取值可以表示写命令响应帧的不同状态。其中4’d0-4’d6分别表示Hresp[]的4位二进制数的十进制值为0至6。除此之外,具体各个比特的定义与SOD响应命令类似,不再赘述。
3、读寄存器命令帧:
寄存器的读命令帧格式如图9所示。RW=0表示读操作。可支持1个、2个、3个或4个32位数据的读操作,地址为地址字节中的初始地址。参见图10的正确响应帧,如果接收的命令正确则对读命令帧的正确响应帧为:命令字节+地址字节+数据字节+CRC校验字节。bit5-bit7分别为1,0,1,表示命令的类型为读命令响应。根据命令类型,响应的次数不同。如果读命令只读取一个地址的数据,则只响应一次,地址为接收到的读命令地址,数据为该地址的对应的数据。如果读命令需要读取多个地址的数据,则可以产生多次的响应,其中第一次的响应为地址为收到的读命令地址,数据为该地址的对应的数据。第二次的响应为地址为收到的读命令地址加上0x04的偏移量,数据为当前地址的对应的数据。依次类推,第N次的响应,地址为收到的读命令地址加上0x04*(N-1)的偏移量,数据为当前地址的对应的数据。
如果接收到的命令错误,则发出错误命令的响应。参见图11,此时响应格式为:命令字节(包含错误类型)+CRC校验字节,并且不包含地址字节+数据字节。Hresp[]的不同取值可以表示读命令响应帧的不同错误状态。
可见,本发明实现了调试命令帧的编码可扩展性。例如读写寄存器命令帧使用了可连续写4个、8个、12个、16个字节的寄存器。如果将DL3~DL0四个Bit全部使用,则可实现根据一个基地址来连续读写1~16个字节的数据,实现按字节读写寄存器的功能。
4、控制信号帧:
本发明中,除寄存器读写操作之外,还可以在调试命令中携带芯片控制信号。控制信号帧是产生控制信号翻转(Toggle)的命令帧,这些控制信号可用来复位某些其他模块,或者关闭某些功能如禁止看门狗产生复位等,适用于调试过程中的异常定位分析。
如图12所示,控制信号帧格式可以是16位控制信号。CMD字段取1,表示信号帧类型是控制帧。Toggle_value是要设置的值,Toggle NO为要设置的模块ID。Toggle帧的响应格式为命令字节(包含错误类型)+CRC校验字节。参见图13,bit5-bit7分别为1,1,1,表示命令的类型为Toggle命令响应。Hresp[]的不同取值可以表示控制信号响应帧的不同错误状态。除此之外,具体各个比特的定义与SOD响应命令类似,不再赘述。
在本发明优选的实施例中,所述协议解析命令处理模块的工作过程涉及对同步探测帧的处理流程、调试命令帧接收流程、调试命令处理流程以及响应帧发送流程。
上位机和芯片间在传输命令之前首先使用同步机制实现同步。参见图14,所述同步探测帧处理由协议解析命令处理模块的命令接收单元进行命令接收,根据接收的情况标记命令、地址、数据、是否存在错误等信息发送给协议解析命令处理模块的命令处理单元。对于同步探测帧的处理,仅当协议解析命令处理模块检测接收到21个连续的全0字节数据才认为同步结束,保证协商成功。如果在同步过程中收到非0的数据,则确定同步出错,通过调试命令处理流程给上位机返回相应的错误指示。
尽管本发明定义的同步探测帧是连续21个全0字节仅为举例,但在实际应用中,可以根据芯片通信状态而将同步探测帧的格式进行调整,例如调整为少于21个,只需改变同步探测帧判断条件即可,这样可以避免因物理异常原因导致丢失字节的问题,减小同步失败的概率,上位机在发送同步探测帧的时候还可以发送更多的字节,增大同步成功的概率。此外,还可以将同步探测帧的格式调整为多于21个字节,如32个连续的0x5A等。
本发明芯片上的协议解析命令处理模块自动接收同步探测帧、命令,并解析执行,并且自动产生响应帧而发送给上位机。参见图15,命令接收操作由命令接收单元执行,根据接收的情况标记命令、地址、数据、是否出现错误等信息发送给命令处理单元。对于命令帧的接收,只有在接收到正确的同步探测帧后才会处理其他命令,在接收同步探测帧过程中如果有同步探测帧错误,则会记录当前命令并标记为错误,等待下一步调试命令处理流程的处理。而在接收到正确的同步探测帧时,也会记录当前命令并标记为正确,等待下一步命令接收流程的启动。在接收到新的命令之后,对命令进行判断,如果命令错误,则记录命令并标记为错误,如果命令正确,则记录命令并标记正确,等待调试命令处理流程的命令处理。
参见图16,命令处理单元读取由命令接收单元发送来的信息,包括命令、地址、数据、是否出现错误等,并进行命令的处理,包括根据读、写命令发起对系统总线的访问请求,根据翻转命令设置信号的翻转等操作,生成需要发送给上位机的命令、地址、数据、错误类型等信息发送给响应处理模块。调试命令处理流程在获取命令后对命令进行判断,判断是否有错误,如果存在错误,则将相应的响应格式写入响应命令类型中,并标记错误以备后续响应帧发送流程处理,如果命令没有错误则根据命令类型进行下一步处理。对于读写命令,在获取完整的需要读写的地址和数据后,发起对系统总线的读写请求,并将总线返回的响应按照相应的响应格式写入响应命令类型并进行对应的标记,对于设置翻转信号的命令,首先进行设置翻转信号操作,完成后将对应的响应格式写入响应命令类型并进行对应的标记,等待响应帧发送流程处理。
参见图17,命令处理单元读取由命令处理单元发送的信息,按照相应帧的格式将信息发送给上位机。响应发送流程进一步包括,在获取响应命令后对命令进行判断,判断是否出现错误,如果出现错误,则将响应命令发送完成后再发送CRC校验后流程结束。如果命令没有错误根据命令类型判断发送完响应命令后是否要发送地址和数据,最后再发送CRC校验,然后流程结束。
可见,采用本发明的上述技术方案,可以基于常用的外设接口实现对芯片的寄存器访问,实现调试的功能,在不需要芯片内部的CPU的参与的前提下实现上位机对芯片的远程调试。本发明的方案不需要增加过多的逻辑和物理资源,只需设置一个协议解析命令处理模块和总线的Master接口即可实现对芯片全地址空间的访问,协议解析命令处理模块与总线直接通信,显著提高了调试效率。在接收命令序列之前仅发送一次同步探测帧,也就是说,与上位机之间仅执行一次同步操作,而不需要在每次命令之前都添加同步头,提高了调试效率。对于读写命令,可以实现响应于单个命令的发送来执行连续多个字节(4个、8个、12个或16个字节)的数据的读取和写入。同时提供控制命令帧来控制其他模块,包括某个模块的复位和关闭等功能,使远程调试更加方便快捷。
需要说明的是,以上所示的流程图或结构图仅用于说明而非限定本发明的技术方案。本领域技术人员可以理解,上述实施例中描述的命令帧结构和数据长度仅为举例。本领域技术人员在本发明基础上可以根据实际需要而对上述方法流程细节等做出容易想到的任意调整,而不应将本发明限于上述示例的具体细节。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于外设接口的芯片硬件调试方法,其特征在于,包括:
S101、通过所述芯片的外设接口接收上位机的调试命令,并对所接收的调试命令进行解析,将解析后的调试命令传送到所述芯片的系统总线;
S102、根据所述调试命令发起对所述芯片的目标子系统的寄存器的访问,并通过所述系统总线接收所述目标子系统的响应数据;
S103、通过所述外设接口将所述目标子系统的响应数据返回到所述上位机中。
2.根据权利要求1所述的基于外设接口的芯片硬件调试方法,其特征在于,所述对所接收的调试命令进行解析,将解析后的调试命令传送到所述芯片的系统总线,进一步包括:
对解析得到的调试命令进行处理,根据所述调试命令的类型,确定对所述系统总线的访问请求。
3.根据权利要求1所述的基于外设接口的芯片硬件调试方法,其特征在于,所述根据所述调试命令发起对所述芯片的目标子系统的寄存器的访问,进一步包括:
根据所述调试命令的目标地址信息,在所述芯片的多个子系统中确定要访问的目标子系统,并发起对所述目标子系统的寄存器的访问请求。
4.根据权利要求1所述的基于外设接口的芯片硬件调试方法,其特征在于,所述通过外设接口将所述目标子系统的响应数据返回到所述上位机中,进一步包括:
根据所述目标子系统的响应数据,生成待发送的命令、地址和数据信息;根据预定义响应帧格式,将所述响应数据发送到所述上位机。
5.根据权利要求1所述的基于外设接口的芯片硬件调试方法,其特征在于,在对所接收的调试命令进行解析之前,该方法还包括:
对所述调试命令进行校验,并所述调试命令是否出现错误。
6.根据权利要求1所述的基于外设接口的芯片硬件调试方法,其特征在于,所述上位机的调试命令包括同步探测帧,用于实现所述上位机和所述芯片间的同步,其中,仅当接收到正确的同步探测帧后,继续接收和处理其他调试命令;否则继续等待所述同步探测帧。
7.根据权利要求6所述的基于外设接口的芯片硬件调试方法,其特征在于,所述同步探测帧为21个连续的全0字节数据。
8.根据权利要求5所述的基于外设接口的芯片硬件调试方法,其特征在于,所述上位机的调试命令包括读寄存器命令帧,所述通过系统总线接收所述目标子系统的响应数据,进一步包括:
如果所述读寄存器命令帧校验正确,则接收所述目标子系统的第一格式的读命令响应数据,如果所述读寄存器命令帧校验错误,则接收所述目标子系统的第二格式的读命令响应数据。
9.根据权利要求1所述的基于外设接口的芯片硬件调试方法,其特征在于,所述上位机的调试命令包括控制信号帧,用于设置芯片内预设模块的控制信号翻转。
10.一种基于外设接口的芯片硬件调试装置,其特征在于,包括:
命令接收单元,用于通过芯片的外设接口接收上位机的调试命令,对所接收的调试命令进行解析,并通过命令的校验来标记所接收的调试命令是否出现错误;
命令处理单元,用于对所述命令接收单元解析得到的调试命令进行处理,将解析后的调试命令传送到所述芯片的系统总线;根据所述调试命令发起对所述芯片的目标子系统的寄存器的访问,并获取所述目标子系统的响应数据;
所述响应发送单元,用于通过所述外设接口将所述目标子系统的响应数据返回到所述上位机中。
CN202210068201.XA 2022-01-20 2022-01-20 一种基于外设接口的芯片硬件调试方法和装置 Active CN114416453B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210068201.XA CN114416453B (zh) 2022-01-20 2022-01-20 一种基于外设接口的芯片硬件调试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210068201.XA CN114416453B (zh) 2022-01-20 2022-01-20 一种基于外设接口的芯片硬件调试方法和装置

Publications (2)

Publication Number Publication Date
CN114416453A true CN114416453A (zh) 2022-04-29
CN114416453B CN114416453B (zh) 2022-11-15

Family

ID=81275825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210068201.XA Active CN114416453B (zh) 2022-01-20 2022-01-20 一种基于外设接口的芯片硬件调试方法和装置

Country Status (1)

Country Link
CN (1) CN114416453B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020057217A1 (en) * 2000-06-23 2002-05-16 Milnes Kenneth A. GPS based tracking system
US20100017654A1 (en) * 2008-07-18 2010-01-21 Wishneusky John A Device-to-Device Communication Bus for Distributed Power Management
CN102495781A (zh) * 2011-11-30 2012-06-13 青岛海信信芯科技有限公司 Soc芯片的调试方法和调试系统
CN107577635A (zh) * 2017-08-29 2018-01-12 西安微电子技术研究所 一种兼容ahb协议的非握手式jtag调试链路及其调试方法
US20200042456A1 (en) * 2013-11-07 2020-02-06 Netlist, Inc. Hybrid memory module and system and method of operating the same
CN111104269A (zh) * 2019-10-25 2020-05-05 芯创智(北京)微电子有限公司 一种基于uart接口的处理器调试方法及系统
CN112015649A (zh) * 2020-08-28 2020-12-01 安徽芯纪元科技有限公司 一种利用片上协计算核心对主计算核心进行调试的方法
CN112395147A (zh) * 2020-11-26 2021-02-23 厦门紫光展锐科技有限公司 Soc上的调试装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020057217A1 (en) * 2000-06-23 2002-05-16 Milnes Kenneth A. GPS based tracking system
US20100017654A1 (en) * 2008-07-18 2010-01-21 Wishneusky John A Device-to-Device Communication Bus for Distributed Power Management
CN102495781A (zh) * 2011-11-30 2012-06-13 青岛海信信芯科技有限公司 Soc芯片的调试方法和调试系统
US20200042456A1 (en) * 2013-11-07 2020-02-06 Netlist, Inc. Hybrid memory module and system and method of operating the same
CN107577635A (zh) * 2017-08-29 2018-01-12 西安微电子技术研究所 一种兼容ahb协议的非握手式jtag调试链路及其调试方法
CN111104269A (zh) * 2019-10-25 2020-05-05 芯创智(北京)微电子有限公司 一种基于uart接口的处理器调试方法及系统
CN112015649A (zh) * 2020-08-28 2020-12-01 安徽芯纪元科技有限公司 一种利用片上协计算核心对主计算核心进行调试的方法
CN112395147A (zh) * 2020-11-26 2021-02-23 厦门紫光展锐科技有限公司 Soc上的调试装置

Also Published As

Publication number Publication date
CN114416453B (zh) 2022-11-15

Similar Documents

Publication Publication Date Title
US20020156954A1 (en) Apparatus and methods for identifying bus protocol violations
US20230064411A1 (en) I2c bus communication control method, device and system, and readable storage medium
CN111104269B (zh) 一种基于uart接口的处理器调试方法及系统
CN111078492B (zh) 一种SoC内部总线的状态监控系统及方法
CN112559267B (zh) 集成电路间总线i2c从机以及i2c控制器测试方法
CN102053898A (zh) 针对主机pcie插槽上总线接口的测试方法及其读写测试方法
CN115691651A (zh) 一种用于测试芯片的方法和装置
US20060184864A1 (en) Error detection
CN114817114A (zh) 一种mipi接口、及其控制方法、装置及介质
CN114416453B (zh) 一种基于外设接口的芯片硬件调试方法和装置
US20030191624A1 (en) Debug function built-in type microcomputer
KR101029074B1 (ko) 호스트 컨트롤러에서의 디스크립터 추적 장치 및 그 추적방법
CN115454881B (zh) Risc-v架构的调试系统及调试方法
CN112395147B (zh) Soc上的调试装置
US11880289B2 (en) Auto-detection of interconnect hangs in integrated circuits
JP2001202295A (ja) サブシステム
CN112346665B (zh) 基于pcie的通信方法、装置、设备、系统及存储介质
US20060117226A1 (en) Data communication system and data communication method
CN107704417A (zh) 与被测设备通信的方法及其通信系统
CN110457056B (zh) 基于hart总线的仪表在线升级方法和接收装置
JP2006301784A (ja) プログラマブルロジックコントローラ
US7818627B2 (en) Systems and methods for gathering debug information
CN117111539B (zh) 以太网物理层芯片的控制方法及装置
CN115543755B (zh) 一种性能监管方法、装置、系统、设备和介质
CN111324562B (zh) 一种ahb总线跨时钟域的系统及工作方法

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