CN116166562A - 芯片的调试方法及调试通用异步收发器、可读存储介质 - Google Patents

芯片的调试方法及调试通用异步收发器、可读存储介质 Download PDF

Info

Publication number
CN116166562A
CN116166562A CN202310200335.7A CN202310200335A CN116166562A CN 116166562 A CN116166562 A CN 116166562A CN 202310200335 A CN202310200335 A CN 202310200335A CN 116166562 A CN116166562 A CN 116166562A
Authority
CN
China
Prior art keywords
debugging
debug
chip
instruction
target
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
Application number
CN202310200335.7A
Other languages
English (en)
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.)
Xiamen Ziguang Zhanrui Technology Co ltd
Original Assignee
Xiamen Ziguang Zhanrui 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 Xiamen Ziguang Zhanrui Technology Co ltd filed Critical Xiamen Ziguang Zhanrui Technology Co ltd
Priority to CN202310200335.7A priority Critical patent/CN116166562A/zh
Publication of CN116166562A publication Critical patent/CN116166562A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

一种芯片的调试方法及调试通用异步收发器、可读存储介质,所述芯片的调试方法包括:获取直接存储器访问请求;读取所述调试通用异步收发器中存储的调试指令;根据所述调试指令的指令类型以及指示的地址,对目标芯片执行调试操作。采用上述方案,能够简化对芯片进行调试(包括对芯片内部的寄存器进行读操作、写操作)的流程,提高对芯片的调试效率。

Description

芯片的调试方法及调试通用异步收发器、可读存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种芯片的调试方法及调试通用异步收发器、可读存储介质。
背景技术
传统的芯片测试方案,依赖于联合测试组(Joint Test Action Group,JTAG)接口,外接仿真测试工具。但是,基于JTAG接口的芯片测试方法,在调试时需要先拆机再焊接JTAG后外挂仿真测试工具,会对用户端造成损坏,且性价比较低。
一种改进的芯片测试方案,基于通用异步收发器(Universal AsynchronousReceiver/Transmitter,UART)接口接收数据(如lookat指令),由与UART接口连接的中央处理器(CPU)对数据进行处理,并将处理结果经由UART接口传送至外部设备。
现有技术中,上述的芯片测试方案依赖于CPU对数据进行处理,效率较低。
发明内容
本发明实施例解决的是芯片测试系统中数据处理效率较低的技术问题。
为解决上述技术问题,本发明实施例提供一种芯片的调试方法,应用于调试通用异步收发器,所述芯片的调试方法包括:获取直接存储器访问请求;读取所述调试通用异步收发器接口中存储的调试指令;根据所述调试指令的指令类型以及指示的地址,对目标芯片执行调试操作。
可选的,所述读取调试通用异步收发器接口中存储的数据,包括:通过高级外围总线接口,读取所述调试通用异步收发器的寄存器中存储的所述调试指令。
可选的,所述调试指令的指令类型为读指令;所述根据所述调试指令的指令类型以及指示的地址,对目标芯片执行调试操作,包括:从所述目标芯片中读取所述地址关联的目标数据;将所述目标数据写入至所述调试通用异步收发器的数据寄存器中。
可选的,所述从所述目标芯片中读取所述地址关联的目标数据,包括:通过高级高性能总线从接口,经由高级高性能总线,从所述目标芯片中读取所述地址关联的目标数据。
可选的,所述将所述目标数据写入至所述调试通用异步收发器的数据寄存器中,包括:通过高级外围总线接口,将所述目标数据写入至所述调试通用异步收发器的数据寄存器中。
可选的,所述调试指令的指令类型的写指令;所述根据所述调试指令的指令类型以及指示的地址,对目标芯片执行调试操作,包括:从所述调试通用异步收发器的数据寄存器中,读取所述地址关联的目标数据;将所述目标数据写入至所述目标芯片中。
可选的,所述从所述调试通用异步收发器的数据寄存器中,读取所述地址关联的目标数据,包括:通过高级外围总线接口,从所述调试通用异步收发器的数据寄存器中,读取所述地址关联的目标数据。
可选的,所述将所述目标数据写入至所述目标芯片中,包括:通过高级高性能总线从接口,将所述目标数据写入至所述目标芯片中。
本发明实施例还提供了一种调试通用异步收发器,包括:调试控制单元以及调试接口单元,其中:所述调试接口单元,适于接收外部输入的调试指令,生成直接存储器访问请求并发送;所述调试控制单元,适于获取所述直接存储器访问请求,读取所述通用异步收发器接口中存储的调试指令;根据所述调试指令的指令类型以及指示的地址,对目标芯片执行调试操作。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一种所述的芯片的调试方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
调试通用异步收发器获取直接存储器访问请求,从调试通用异步收发器接口中存储的调试指令,进而确定调试指令的指令类型、调试指令指示的地址。根据调试指令的指令类型以及指示的地址,对目标芯片执行调试操作。在芯片调试系统中,通过调试通用异步收发器自身的调试控制单元,实现对目标芯片的读/写操作,故对目标芯片的调试并不依赖于外部的CPU,能够有效提高调试效率。
附图说明
图1是本发明实施例中的一种芯片的调试方法的流程图;
图2是本发明实施例中的一种数据传输系统的结构示意图。
具体实施方式
如上所述,现有技术中,由UART接口将数据传输至CPU,由CPU对数据进行相应的处理后返回给UART。UART与CPU相互独立。通过CPU对数据进行处理,处理效率较低。
在本发明实施例中,在芯片调试系统中,通过调试通用异步收发器自身的调试控制单元,实现对目标芯片的读/写操作,故对目标芯片的调试并不依赖于外部的CPU。由于不需要额外使用外部的CPU,故芯片调试系统的硬件结构也发生了变化。通过软硬件结合的方式,能够有效提高调试效率。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参照图1,给出了本发明实施例中的一种芯片的调试方法的流程图。参照图2,给出了本发明实施例中的一种数据传输系统的结构示意图。以下结合图1以及图2进行说明。
在本发明实施例中,调试通用异步收发器(debug_uart)可以包括debug_uart接口单元以及调试控制(debug_ctrl)单元,debug_uart中还可以包括多个寄存器,寄存器可以包括地址寄存器以及数据寄存器。debug_uart接口单元可以为实现调试控制(debug_ctrl)单元与调试工具之间的通信接口。
在具体实施中,下述的步骤101~步骤103所述的芯片的调试方法可以由调试通用异步收发器所执行,或者由调试通用异步收发器中的调试控制单元所执行。下面以调试通用异步收发器中的调试控制单元为执行主体进行说明。
步骤101,获取直接存储器访问请求。
在具体实施中,debug_uart接口单元可以与调试工具(debug tool)进行通信。debug_uart接口单元与调试工具之间的接口可以包括uart接收(uart_rx)接口以及uart发送(uart_tx)接口。uart_rx接口可以是指调试工具向debug_uart接口单元发送数据的接口,uart_tx接口可以是指debug_uart接口单元向调试工具发送数据的接口。
在具体实施中,测试人员可以对调试工具进行操作,以触发调试工具生成调试指令。调试指令可以包括调试指令的指令类型、调试指令对应的地址等信息。调试指令的指令类型可以为读指令或者写指令,或者为其他类型的指令。
调试指令的指令类型为读指令,可以是指:debug_ctrl单元从目标芯片内部的寄存器中读取目标数据,并将目标数据经由debug_uart接口输出至调试工具。调试指令的指令类型为写指令,可以是指:debug_ctrl单元从debug_uart中读取目标数据,并将目标数据写入至目标芯片内部的寄存器。上述的目标芯片,可以是指独立于debug_uart的正在被调试的芯片。
调试工具可以帧形式,生成调试指令对应的数据帧。调试工具可以通过uart_rx接口将数据帧发送至debug_uart接口单元。
debug_ctrl单元经由debug_uart接口单元接收到数据帧,可以将数据帧存储在debug_uart的寄存器中。在一些场景下,一个寄存器的存储容量可能会小于数据帧的数据量。在此场景下,可以将数据帧划按照寄存器的存储容量划分为多份,并分别存储在不同的寄存器中。
具体地,可以将数据帧存储在相邻的多个寄存器中。或者,将数据帧存储在不相邻的多个寄存器中。
例如,数据帧的数据量为128bit,寄存器的存储容量为32bit。debug_uart接口单元将数据帧等分成4分,并分别存储在相邻的4个相邻的寄存器中。
debug_ctrl单元在接收到数据帧后,可以生成直接存储器访问(Direct MemoryAccess,DMA)请求,并将DMA请求发送至debug_ctrl单元。
步骤102,读取debug_uart接口单元中存储的调试指令。
在具体实施中,debug_ctrl单元在接收到DMA请求之后,可以从debug_uart的寄存器中读取存储的调试指令。
具体地,debug_ctrl单元可以通过高级外围总线(Advanced Peripheral Bus,APB)接口与debug_uart的地址寄存器进行通信,以读取寄存器中的调试指令。
步骤103,根据调试指令的指令类型以及指示的地址,对目标芯片执行调试操作
在具体实施中,debug_ctrl单元在获取到调试指令后,可以对调试指令进行解析,以确定调试指令对应的地址以及指令类型。
当调试指令的指令类型为读指令时,debug_uart的寄存器中存储有读指令对应的目标地址。具体地,读指令存储在debug_uart的地址寄存器中。debug_ctrl单元通过APB总线从地址寄存器中读取读指令对应的目标地址,并通过高级高性能总线(Advanced Highperformance Bus,AHB)主(AHB_master)接口,经由AHB总线,从目标芯片的目标地址中读取目标数据。
在具体实施中,debug_ctrl单元通过高级高性能总线从(AHB_slave)接口以及高级高性能总线主(AHB_master)接口与AHB总线连接。AHB总线可以与目标芯片的内部寄存器建立通信连接,目标芯片的某一或者某几个内部寄存器中存储有目标数据。
debug_ctrl单元在读取到目标数据后,可以通过APB接口将读出的目标数据写入至debug_uart的数据寄存器中。debug_ctrl单元可以经由debug_uart接口单元的uart_tx接口,将目标数据发送至debug tool。
调试指令的指令类型为写指令时,debug_uart的寄存器中存储有写指令对应的源地址以及目标数据。具体地,源地址存储在debug_uart的地址寄存器中,目标数据存储在debug_uart的数据寄存器中。源地址对应的地址寄存器中存储的数据为目标地址,也即向目标芯片中写入目标数据的地址。
debug_ctrl单元通过APB总线从地址寄存器中读取写指令对应的源地址,并通过APB总线从数据寄存器中读取目标数据。debug_ctrl单元从源地址对应的地址寄存器中,获取目标地址,并将目标数据写入至目标地址。
具体地,debug_ctrl单元可以通过AHB_master接口,将目标数据写入至目标芯片的目标地址中。
在本发明实施例中,由于debug_uart包括debug_ctrl单元与debug_uart接口单元,故debug_uart能够对数据进行相应的处理,而不需要将数据转发给CPU进行处理,故能够调高数据处理的效率。
通过debug_uart实现数据传输,PC端可以通过USB转UART线与芯片相连,利用debug_uart与串口工具实现对片内寄存器的查看与配置,无需CPU参与,处理速度较快。通过软硬件结合的方式,在数据传输过程中,即便数据传输出现故障而导致代码无法正常运行,测试人员也可以简便地对代码进行更正,无需重新下载代码。并且,不需要额外外接仿真器,降低测试成本。
在具体实施中,关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。
例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一实施例提供的芯片的调试方法的步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指示相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (10)

1.一种芯片的调试方法,其特征在于,应用于调试通用异步收发器,所述调试方法包括:
获取直接存储器访问请求;
读取所述调试通用异步收发器中存储的调试指令;
根据所述调试指令的指令类型以及指示的地址,对目标芯片执行调试操作。
2.如权利要求1所述的芯片的调试方法,其特征在于,所述读取调试通用异步收发器接口中存储的数据,包括:
通过高级外围总线接口,读取所述调试通用异步收发器的寄存器中存储的所述调试指令。
3.如权利要求1所述的芯片的调试方法,其特征在于,所述调试指令的指令类型为读指令;所述根据所述调试指令的指令类型以及指示的地址,对目标芯片执行调试操作,包括:
从所述目标芯片中读取所述地址关联的目标数据;
将所述目标数据写入至所述调试通用异步收发器的数据寄存器中。
4.如权利要求3所述的芯片的调试方法,其特征在于,所述从所述目标芯片中读取所述地址关联的目标数据,包括:
通过高级高性能总线从接口,经由高级高性能总线,从所述目标芯片中读取所述地址关联的目标数据。
5.如权利要求3所述的芯片的调试方法,其特征在于,所述将所述目标数据写入至所述调试通用异步收发器的数据寄存器中,包括:
通过高级外围总线接口,将所述目标数据写入至所述调试通用异步收发器的数据寄存器中。
6.如权利要求1所述的芯片的调试方法,其特征在于,所述调试指令的指令类型的写指令;所述根据所述调试指令的指令类型以及指示的地址,对目标芯片执行调试操作,包括:
从所述调试通用异步收发器的数据寄存器中,读取所述地址关联的目标数据;将所述目标数据写入至所述目标芯片中。
7.如权利要求6所述的芯片的调试方法,其特征在于,所述从所述调试通用异步收发器的数据寄存器中,读取所述地址关联的目标数据,包括:
通过高级外围总线接口,从所述调试通用异步收发器的数据寄存器中,读取所述地址关联的目标数据。
8.如权利要求6所述的芯片的调试方法,其特征在于,所述将所述目标数据写入至所述目标芯片中,包括:
通过高级高性能总线从接口,将所述目标数据写入至所述目标芯片中。
9.一种调试通用异步收发器,其特征在于,包括:调试控制单元以及调试接口单元,其中:
所述调试接口单元,适于接收外部输入的调试指令,生成直接存储器访问请求并发送;
所述调试控制单元,适于获取所述直接存储器访问请求,读取所述通用异步收发器接口中存储的调试指令;根据所述调试指令的指令类型以及指示的地址,对目标芯片执行调试操作。
10.一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1~8任一项所述的芯片的调试方法的步骤。
CN202310200335.7A 2023-03-03 2023-03-03 芯片的调试方法及调试通用异步收发器、可读存储介质 Pending CN116166562A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310200335.7A CN116166562A (zh) 2023-03-03 2023-03-03 芯片的调试方法及调试通用异步收发器、可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310200335.7A CN116166562A (zh) 2023-03-03 2023-03-03 芯片的调试方法及调试通用异步收发器、可读存储介质

Publications (1)

Publication Number Publication Date
CN116166562A true CN116166562A (zh) 2023-05-26

Family

ID=86416279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310200335.7A Pending CN116166562A (zh) 2023-03-03 2023-03-03 芯片的调试方法及调试通用异步收发器、可读存储介质

Country Status (1)

Country Link
CN (1) CN116166562A (zh)

Similar Documents

Publication Publication Date Title
US10503848B2 (en) Target capture and replay in emulation
US8825922B2 (en) Arrangement for processing trace data information, integrated circuits and a method for processing trace data information
CN115146568B (zh) 一种基于uvm的芯片验证系统及验证方法
US20230059703A1 (en) Method, apparatus, and storage medium for generating test cases
CN106547636A (zh) 除错系统与方法
US11409636B2 (en) Processor including debug unit and debug system
CN107293330B (zh) 对随机存取存储器ram进行仿真验证的方法和仿真验证系统
CN107273249B (zh) 主板测试方法、处理器和主板测试系统
US20090103443A1 (en) Loopback configuration for bi-directional interfaces
US10664637B2 (en) Testbench restoration based on capture and replay
CN112434478B (zh) 仿真逻辑系统设计的虚拟接口的方法及相关设备
US20220206887A1 (en) Bus monitoring device and method, storage medium, and electronic device
CN115454881B (zh) Risc-v架构的调试系统及调试方法
US8291270B2 (en) Request processing device, request processing system, and access testing method
CN103577356A (zh) 实现iic接口地址扩展的设备及方法
CN116166562A (zh) 芯片的调试方法及调试通用异步收发器、可读存储介质
KR20070070680A (ko) 슬레이브의 디버깅 방법 및 시스템
CN100511172C (zh) 一种板间透传总线的测试装置及方法
CN112363875B (zh) 一种系统缺陷检测方法、设备、电子设备和存储介质
CN109445686B (zh) 一种存储磁盘以及存取数据的方法
CN112885403A (zh) 一种Flash控制器的功能测试方法、装置及设备
CN109977042A (zh) 一种usb在线调试系统及方法
CN112534414A (zh) 软件跟踪消息接收器外围设备
CN117112447B (zh) 一种数据传输方法、装置、电子设备及可读存储介质
CN110162438B (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