CN116719746B - 调试方法、设备、待调试产品和计算机存储介质 - Google Patents

调试方法、设备、待调试产品和计算机存储介质 Download PDF

Info

Publication number
CN116719746B
CN116719746B CN202310919140.8A CN202310919140A CN116719746B CN 116719746 B CN116719746 B CN 116719746B CN 202310919140 A CN202310919140 A CN 202310919140A CN 116719746 B CN116719746 B CN 116719746B
Authority
CN
China
Prior art keywords
reset
debugging
product
unit
debugged
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
Application number
CN202310919140.8A
Other languages
English (en)
Other versions
CN116719746A (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.)
Beijing Xiangdixian Computing Technology Co Ltd
Original Assignee
Beijing Xiangdixian Computing 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 Beijing Xiangdixian Computing Technology Co Ltd filed Critical Beijing Xiangdixian Computing Technology Co Ltd
Priority to CN202310919140.8A priority Critical patent/CN116719746B/zh
Publication of CN116719746A publication Critical patent/CN116719746A/zh
Application granted granted Critical
Publication of CN116719746B publication Critical patent/CN116719746B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供一种调试方法、设备、待调试产品和计算机存储介质。该调试方法包括:在待调试产品出现功能异常的情况下,将待调试产品的功能单元设置为复位单元和非复位单元;对待调试产品进行复位操作,以使待调试产品进入调试模式;执行调试程序依次对待调试产品的功能单元进行调试;若功能单元为复位单元,则复位单元处于复位状态,不响应调试程序;若功能单元为非复位单元,则非复位单元响应调试程序进行调试操作,得到非复位单元的调试结果;根据调试结果进行异常分析,得到功能异常的功能单元。本公开的调试方法完全由软件控制,不需要硬件设备的参与,只需要修改软件就可以达到定位异常的目的,操作简单,所需成本更低。

Description

调试方法、设备、待调试产品和计算机存储介质
技术领域
本公开涉及调试技术领域,尤其涉及一种调试方法、设备、待调试产品和计算机存储介质。
背景技术
对电子产品进行调试,是产品开发过程中非常重要的部分。但目前的调试方案一般需要硬件设备参与,使得操作繁琐,成本过高。
发明内容
本公开的目的是提供一种调试方法、设备、待调试产品和计算机存储介质,无需硬件设备参与,通过软件的方式就能达到定位异常的目的,操作简单,所需成本很低。
根据本公开的一个方面,提供一种调试方法,包括:
在待调试产品出现功能异常的情况下,将待调试产品的功能单元设置为复位单元和非复位单元;
对所述待调试产品进行复位操作,以使所述待调试产品进入调试模式;
在所述调试模式下,执行调试程序依次对所述待调试产品的功能单元进行调试;
若所述功能单元为复位单元,则所述复位单元处于复位状态,不响应所述调试程序;若所述功能单元为非复位单元,则所述非复位单元响应所述调试程序进行调试操作,得到所述非复位单元的调试结果;
根据调试结果进行异常分析,得到功能异常的功能单元。
进一步的,所述将所述待调试产品的功能单元设置为复位单元和非复位单元的步骤包括:
基于复位选择信号和复位控制信号将所述待调试产品的功能单元设置为复位单元和非复位单元。
进一步的,复位选择信号通过设置待调试产品中的寄存器产生;复位控制信号通过设置待调试产品的输入引脚产生。
进一步的,基于复位选择信号和复位控制信号将待调试产品的功能单元设置为复位单元和非复位单元的步骤包括:
基于二分法或多分法的方式,设置复位选择信号和复位控制信号,以将待调试产品的功能单元设置为多个复位单元和多个非复位单元。
进一步的,复位选择信号的数量与待调试产品的功能单元的数量相同,且复位选择信号与调试产品的功能单元分别一一对应,复位控制信号的数量为一个,复位控制信号与调试产品的每个功能单元均对应;
基于二分法的方式,设置复位选择信号和复位控制信号的步骤包括:
将复位控制信号置为1;
基于二分法的方式,将一半的复位选择信号置为0,将另一半的复位选择信号置为1;
基于置为1的复位选择信号和复位控制信号,将与置为1的复位选择信号所对应的功能单元设置为非复位单元;
基于置为0的复位选择信号和置为1的复位控制信号,将与置为0的复位选择信号所对应的功能单元设置为复位单元。
进一步的,复位选择信号的数量与待调试产品的功能单元的数量相同,且复位选择信号与调试产品的功能单元分别一一对应,复位控制信号的数量为一个,复位控制信号与调试产品的每个功能单元均对应;
基于多分法的方式,设置复位选择信号和复位控制信号的步骤包括:
将复位控制信号置为1;
基于多分法的方式,将部分复位选择信号置为0,将剩余部分复位选择信号置为1;置为0的复位选择信号的数量不等于置为1的复位选择信号的数量,且置为0的复位选择信号的数量和置为1的复位选择信号的数量均为大于1的正整数;
基于置为1的复位选择信号和复位控制信号,将与置为1的复位选择信号所对应的功能单元设置为非复位单元;
基于置为0的复位选择信号和置为1的复位控制信号,将与置为0的复位选择信号所对应的功能单元设置为复位单元。
进一步的,基于复位选择信号和复位控制信号将待调试产品的功能单元设置为复位单元和非复位单元的步骤包括:
设置复位选择信号和复位控制信号,以将待调试产品的功能单元设置为一个复位单元或一个非复位单元。
进一步的,复位选择信号的数量与待调试产品的功能单元的数量相同,且复位选择信号与调试产品的功能单元分别一一对应,复位控制信号的数量为一个,复位控制信号与调试产品的每个功能单元均对应;
设置复位选择信号和复位控制信号,以将待调试产品的功能单元设置为一个复位单元或一个非复位单元的步骤包括:
将复位控制信号置为1;
将其中一个复位选择信号置为0,剩余部分复位选择信号置为1;或将其中一个复位选择信号置为1,剩余部分复位选择信号置为0;
基于置为1的复位选择信号和复位控制信号,将与置为1的复位选择信号所对应的功能单元设置为非复位单元;
基于置为0的复位选择信号和置为1的复位控制信号,将与置为0的复位选择信号所对应的功能单元设置为复位单元。
进一步的,根据调试结果进行异常分析,得到功能异常的功能单元的步骤包括:
若调试结果无异常,且复位单元的数量为一个,则确定复位单元为功能异常的功能单元;
若所述调试结果无异常,且所述复位单元的数量为多个,则将所述复位单元中的一个或多个设置为非复位单元,并对所述待调试产品进行复位操作,以使所述待调试产品进入调试模式,在所述调试模式下所述非复位单元响应所述调试程序进行调试得到调试结果,基于所述调试结果进行异常分析,若所述调试结果异常,基于异常的调试结果确定功能异常的功能单元,若所述调试结果无异常,则重复前述操作,直至确定出功能异常的功能单元;
若调试结果异常,则将异常的调试结果对应的非复位单元确定为功能异常的功能单元。
根据本公开的另一方面,本公开提供一种调试装置,包括:
复位划分模块,用于在待调试产品出现功能异常的情况下,将待调试产品的功能单元设置为复位单元和非复位单元;
复位模块,用于对所述待调试产品进行复位操作,以使所述待调试产品进入调试模式;
调试模块,用于在所述调试模式下,执行调试程序依次对待调试产品的功能单元进行调试;若所述功能单元为复位单元,则所述复位单元处于复位状态,不响应所述调试程序;若所述功能单元为非复位单元,则所述非复位单元响应所述调试程序进行调试操作,得到所述非复位单元的调试结果;
异常分析模块,用于根据调试结果进行异常分析,得到功能异常的功能单元。
根据本公开的另一方面,提供一种待调试产品,包括存储器、以及一个或多个处理器,存储器用于存储一个或多个程序;一个或多个程序被一个或多个处理器执行时,实现上述任一实施例所述的方法。
根据本公开的另一方面,提供一种其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例所述方法的步骤。
附图说明
图1为本公开一个实施例提供的调试方法流程示意图;
图2为本公开一个实施例提供的扩展电路结构示意图;
图3为本公开一个实施例提供的待调试产品结构示意图;
图4为本公开一个实施例提供的调试装置结构示意图。
具体实施方式
在介绍本公开实施例之前,应当说明的是:
本公开部分实施例被描述为处理流程,虽然流程的各个操作步骤可能被冠以顺序的步骤编号,但是其中的操作步骤可以被并行地、并发地或者同时实施。
本公开实施例中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了将一个特征与另一个特征进行区分。
本公开实施例中可能使用了术语“和/或”,“和/或”包括其中一个或更多所列出的相关联特征的任意和所有组合。
应当理解的是,当描述两个部件的连接关系或通信关系时,除非明确指明两个部件之间直接连接或直接通信,否则,两个部件的连接或通信可以理解为直接连接或通信,也可以理解为通过中间部件间接连接或通信。
为了使本公开实施例中的技术方案及优点更加清楚明白,以下结合附图对本公开的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本公开的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
本公开的目的是提供一种待调试产品的调试方案,旨在待调试产品出现功能异常且待调试产品进入调试模式的情况下,执行调试程序依次对待调试产品的功能单元进行调试,若功能单元为复位单元,则复位单元处于复位状态,不响应调试程序;若功能单元为非复位单元,则非复位单元响应调试程序进行调试操作得到非复位单元的调试结果,基于调试结果实现异常定位。且本公开的方案完全由软件实现,无需硬件设备参与,操作简单,所需成本更低。
其中,待调试产品是指多个功能单元的复位是分开的产品,该待调试产品可以是芯片级产品,也可以是电子设备级产品。在一些使用场景下,该芯片级产品可以为片上***(System on Chip,SOC)、图形处理器(graphics processing unit,GPU)等;在一些使用场景下,该电子设备级产品可以是智能手机、平板电脑、VR设备、个人电脑、游戏主机等。
本公开的一个实施例提供一种调试方法,如图1所示,该调试方法包括以下步骤:
步骤101、在待调试产品出现功能异常的情况下,将待调试产品的功能单元设置为复位单元和非复位单元;
步骤102、对待调试产品进行复位操作,以使待调试产品进入调试模式;
步骤103、在调试模式下,执行调试程序依次对待调试产品的功能单元进行调试;
步骤104、若功能单元为复位单元,则复位单元处于复位状态,不响应调试程序;若功能单元为非复位单元,则非复位单元响应调试程序进行调试操作,得到非复位单元的调试结果;
步骤105、根据调试结果进行异常分析,得到功能异常的功能单元。
其中,复位单元为会被复位的功能单元,非复位单元为不会被复位的功能单元。即复位单元为待调试产品复位时,可正常进行复位的功能单元;非复位单元为待调试产品复位时,将非复位单元的复位信号保护住,不让非复位单元进行复位的功能单元。功能单元可以包括:调试相关电路、存储单元、功耗管理模块、CPU(Central Processing Unit,中央处理器)/MCU(Micro Control Unit,微控制单元) debug(消除故障)电路、总线控制模块等。
在本公开中,将待调试产品的功能单元设置为复位单元和非复位单元的原理为:基于复位选择信号和复位控制信号将待调试产品的功能单元设置为复位单元和非复位单元。
其中,复位选择信号通过设置待调试产品中的寄存器产生;复位控制信号通过设置待调试产品的输入引脚产生。即复位选择信号为待调试产品的寄存器所产生的寄存器信号,通过软件对寄存器的设置所产生;复位控制信号则由待调试产品的某一输入引脚根据输入控制信号产生,该输入引脚为待调试产品的某一GPIO引脚。
本公开的复位选择信号和复位控制信号均通过软件实现控制,通过软件灵活地控制哪些功能单元设置为复位单元,哪些功能单元设置为非复位单元。完全由软件控制,不需要硬件设备的参与,只需要修改软件就可以达到定位异常的目的,操作简单,成本更低。
在本公开中,基于复位选择信号和复位控制信号将待调试产品的功能单元设置为复位单元和非复位单元由多种实施方式实现,其中一种实施方式如下:
基于二分法或多分法的方式,设置复位选择信号和复位控制信号,以将待调试产品的功能单元设置为多个复位单元和多个非复位单元。
应理解,采用二分法或多分法的方式,可以将待调试产品的功能单元划分为多个复位单元和多个非复位单元,一次可实现多个功能单元的异常排除,相较于一个一个的进行排查,可以更加快速的定位异常,效率更高。
二分法可以理解为将待调试产品的功能单元平分为两部分,其中一半设置为复位单元,另一半设置为非复位单元。
例如,若待调试产品一共有10个功能单元,可将其中5个功能单元设置为复位单元,剩余5个功能单元设置为非复位单元。
多分法可以为3分法、4分法或5分法等,可根据实际情况进行选择,在此并不作限定。
例如,若采用3分法对待调试产品的10个功能单元进行划分,可以将10个功能单元分成3份,将其中1/3的功能单元设置为非复位单元,剩余的2/3作为复位单元;由于将10个功能单元分成3分会存在小数的情况,对于这种无法分成整数等分的情况,可以将1/3份的整数3作为设置非复位单元的数量,而剩余的7个功能单元设置为复位单元;当然也可以将1/3份的整数3作为设置复位单元的数量,而剩余的7个功能单元设置为非复位单元,在此不作限定,可以根据实际情况进行设置。若采用5分法对待调试产品的10个功能单元进行划分,可以将10个功能单元分成5份,其中1/5的功能单元,即2个功能单元设置为非复位单元,而剩余的4/5的功能单元,即8个功能单元设置为复位单元;当然也可以将其中的1/5的功能单元设置为复位单元,剩余的4/5的功能单元设置为非复位单元。而其它多分法的划分原理可以参照上述3分法和5分法的划分原理,在此不再累述。
在本公开中,多分法的划分原理与二分法的划分原理基本相同,区别在于多分法是将待调试产品的功能单元分成的复位单元的数量和非复位单元的数量不同,而二分法是将待调试产品的功能单元分成的复位单元的数量和非复位单元的数量相等。
在本公开中,复位选择信号的数量与待调试产品的功能单元的数量相同,且复位选择信号与所述调试产品的功能单元分别一一对应,复位控制信号的数量为一个,复位控制信号与调试产品的每个功能单元均对应。
基于二分法的方式,设置复位选择信号和复位控制信号的具体原理为:将复位控制信号置为1;基于二分法的方式,将一半的复位选择信号置为0,将另一半的复位选择信号置为1;基于置为1的复位选择信号和复位控制信号,将与置为1的复位选择信号所对应的功能单元设置为非复位单元;基于置为0的复位选择信号和置为1的复位控制信号,将与置为0的复位选择信号所对应的功能单元设置为复位单元。
应理解,复位选择信号用于表示是否在待调试产品复位时有效复位待调试产品的某一功能单元。可设置复位选择信号置0时,表示待调试产品复位时复位;设置复位选择信号置1时,表示待调试产品复位时将某一功能单元的复位信号保护住,使其不会被复位。
复位控制信号用于表示通过待调试产品的输入引脚实现复位的控制;可设置复位控制信号置0时,待调试产品的所有功能单元均没有被保护,整个待调试产品会被复位;设置复位控制信号置1时,待调试产品的部分功能单元被保护,不会被复位,具体哪些功能单元被保护由复位选择信号确定。
如图2所示,为待调试产品的输入引脚的扩展电路210,该扩展电路210包括一个与门U1和或门U2。与门U1的第一输入端用于接收复位选择信号mi_rstn_option,与门U1的第二输入端用于接收复位控制信号reset_mask,与门U1的输出端与或门U2的第一输入端连接,或门U2的第二输入端用于接收软复位信号mi_rstn_reg,或门的输出端与第i个功能单元220连接。
其中,软复位信号mi_rstn_reg为待调试产品的软复位信号,该软复位信号基于待调试产品的复位操作产生;软复位信号为0,则表示待调试产品进行了复位操作,待调试产品处于复位状态;软复位信号为1,则表示待调试产品未进行复位操作,处于正常工作状态。或门U2的输出为1,则表示与该或门U2相连的功能单元处于正常工作状态;或门U2的输出为0,则表示与该或门U2相连的功能单元处于复位状态。
由于或门U2的逻辑功能是只要有一个输入为1,或门U2的输出就为1。故只要与门U1的输出为1,无论软复位信号mi_rstn_reg为1还为0,或门U2的输出均为1,或门U2的输出不会受到软复位信号mi_rstn_reg的影响,即此时待调试产品的复位操作,不会影响到与该或门U2相连的功能单元;由于在复位选择信号mi_rstn_option和复位控制信号reset_mask均为1的情况下,与门U1的输出为1,故与该或门U2相连的功能单元即为非复位单元。
而在复位选择信号mi_rstn_option为0,复位控制信号reset_mask均为1的情况下,与门U1的输出为0。或门U2的输出则由软复位信号mi_rstn_reg控制,在待调试产品进行复位操作的情况下,软复位信号mi_rstn_reg为0,或门U2的输出为0,与或门U2相连的功能单元则被复位,处于复位状态;在待调试产品未进行复位操作的情况下,软复位信号mi_rstn_reg为1,或门U2的输出为1,与或门U2相连的功能单元处于正常工作状态。在复位选择信号mi_rstn_option为0,复位控制信号reset_mask均为1的情况下,对应的功能单元能够正常被复位,故该功能单元即为复位单元。
该扩展电路210的数量与待调试产品的功能单元220的数量相同,扩展电路210与功能单元220一一对应设置。即第i个扩展电路210与第i个功能单元220连接,用于控制第i个功能单元220为复位单元或非复位单元。
本公开的扩展电路210为待调试产品原有设计电路,即本公开直接采用待调试产品原有设计电路进行控制,以实现复位单元和非复位单元的划分,无需改变待调试产品的电路结构,只需更改软件设置参数,即可实现本公开的调试方案,操作简单,成本更低。
基于二分法的方式进行复位单元和非复位单元的设置,可通过待调试产品的输入引脚将复位控制信号置为1,再通过待调试产品的寄存器将一半的复位选择信号置为0,另一半的复位选择信号置为1;由于复位控制信号置1时,具体哪些功能单元220被保护由复位选择信号确定;在复位选择信号置1时,表示待调试产品复位或重启时将功能单元220的复位信号保护住,使其不会被复位;所以将与置为1的复位选择信号所对应的功能单元220设置为非复位单元;将与置为0的复位选择信号所对应的功能单元220设置为复位单元。
例如,如图3所示,待调试产品200包括4个功能单元220,分别为第一功能单元220、第二功能单元220、第三功能单元220和第四功能单元220,则扩展电路210对应设置为4个,分别为第一扩展电路210、第二扩展电路210、第三扩展电路210和第四扩展电路210,第一扩展电路210与第一功能单元220对应连接,第二扩展电路210与第二功能单元220对应连接,第三扩展电路210与第三功能单元220对应连接,第四扩展电路210与第四功能单元220对应连接。复位选择信号也对应设置为4个,分别为第一复位选择信号m1_rstn_option、第二复位选择信号m2_rstn_option、第三复位选择信号m3_rstn_option和第四复位选择信号m4_rstn_option,第一复位选择信号m1_rstn_option输入至第一扩展电路210的与门U1,第二复位选择信号m2_rstn_option输入至第二扩展电路210的与门U1,第三复位选择信号m3_rstn_option输入至第三扩展电路210的与门U1,第四复位选择信号m4_rstn_option输入至第四扩展电路210的与门U1。复位控制信号reset_mask输入至与第一扩展电路210的与门U1、第二扩展电路210的与门U1、第三扩展电路210的与门U1和第四扩展电路210的与门U1。
若需将第一功能单元220和第二功能单元220进行保护使其不被复位,则通过待调试产品的输入引脚将复位控制信号reset_mask置为1,通过待调试产品的寄存器将第一复位选择信号m1_rstn_option和第二复位选择信号m2_rstn_option设置为1,将第三复位选择信号m3_rstn_option和第四复位选择信号m4_rstn_option设置为0,则第一功能单元220和第二功能单元220被设置为非复位单元,第三功能单元220和第四功能单元220被设置为复位单元。
基于多分法的方式,设置复位选择信号和复位控制信号的具体原理为:将复位控制信号置为1;基于多分法的方式,将部分复位选择信号置为0,将剩余部分复位选择信号置为1;置为0的复位选择信号的数量不等于置为1的复位选择信号的数量,且置为0的复位选择信号的数量和置为1的复位选择信号的数量均为大于1的正整数;基于置为1的复位选择信号和复位控制信号,将与置为1的复位选择信号所对应的功能单元220设置为非复位单元;基于置为0的复位选择信号和置为1的复位控制信号,将与置为0的复位选择信号所对应的功能单元220设置为复位单元。
由于多分法的实现原理与二分法的实现原理基本相同,区别仅在于多分法是将待调试产品的功能单元220分成数量不等的复位单元和非复位单元,而二分法是将待调试产品的功能单元220分成数量相同的复位单元和非复位单元,可参照二分法的实现原理,在此不再累述。
在本公开中,基于复位选择信号和复位控制信号将待调试产品的功能单元设置为复位单元和非复位单元的另一种实施方式如下:
设置复位选择信号和复位控制信号,以将待调试产品的功能单元设置为一个复位单元或一个非复位单元。
应理解,在根据经验或待调试产品出现异常的现象能评估出是哪个功能单元出现异常的情况下,可仅将该功能单元设置为复位单元或非复位单元,以此证明之前的推断,可快速定位异常。
比如待调试产品包括10个功能单元,粗略定位是第一功能单元的问题,那么就将第一功能单元设置为复位单元,而第二功能单元至第十功能单元设置为非复位单元。或将第一功能单元设置为非复位单元,而第二功能单元至第十功能单元设置为复位单元。
若不清楚待调试产品哪个功能单元出现了问题,则采用前述的二分法或多分法的方式,一次进行多个功能单元的异常排查,以使定位异常的效率更高。
设置复位选择信号和复位控制信号,以将待调试产品的功能单元设置为一个复位单元或一个非复位单元的具体原理为:将复位控制信号置为1;将其中一个复位选择信号置为0,剩余部分复位选择信号置为1;或将其中一个复位选择信号置为1,剩余部分复位选择信号置为0;基于置为1的复位选择信号和复位控制信号,将与置为1的复位选择信号所对应的功能单元设置为非复位单元;基于置为0的复位选择信号和置为1的复位控制信号,将与置为0的复位选择信号所对应的功能单元设置为复位单元。
即该实施方式中对复位单元和非复位单元的设置原理与二分法和多分法的设置原理基本相同,区别仅在于,设置复位单元和非复位单元的数量不同。对复位单元和非复位单元的具体设置原理在此不再累述,可参照二分法的设置原理。
在本公开中,将复位单元和非复位单元设置完成后,可通过提前设置好的断点进入到调试程序,以实现调试功能。进入到调试程序后,执行调试程序分布执行程序,对于复位单元,由于复位单元处于复位状态,不会响应调试程序,会直接跳过调试测试;对于非复位单元,由于非复位单元处于正常工作状态,则会响应调试程序进行调试测试,对于每个非复位单元会得到对应的调试结果,并将该调试结果存储至待调试产品的memory(内存)中。在需要进行异常分析时,可通过debug module(消除故障模块)从memory中读取该调试结果。对该调试结果进行分析,得到功能异常的功能单元。
其中,调试程序可以理解为实现某一功能的运行程序。非复位单元响应调试程序进行调试测试,得到调试结果可以理解为,非复位单元响应调试程序执行某一功能操作,得到执行该功能操作成功与否的结果;若该结果表示成功执行功能操作,则表明调试结果无异常;若该结果表示未成功执行功能操作,或执行功能操作是出现hang(挂起)的情况,则表明调试结果异常。例如,若该非复位单元为低功耗管理模块,低功耗管理模块响应该调试程序,以实现进入低功耗的功能,并得到是否成功进入低功耗的结果;若未能进入低功耗,或在进入低功耗时出现了hang的情况,则表明调试结果异常;若能够正常进入低功耗,则表明调试结果无异常。
在本公开中,根据调试结果进行异常分析,存在多种结论,第一种结论为:若调试结果无异常,且复位单元的数量为一个,则确定复位单元为功能异常的功能单元。
第二种结论为:若调试结果无异常,且复位单元的数量为多个,则将复位单元中的一个或多个设置为非复位单元,并对待调试产品进行复位操作,以使待调试产品进入调试模式,在调试模式下非复位单元响应调试程序进行调试得到调试结果,基于调试结果进行异常分析,若调试结果异常,基于异常的调试结果确定功能异常的功能单元,若调试结果无异常,则重复前述操作,直至确定出功能异常的功能单元。
第三种结论为:若调试结果异常,则将异常的调试结果对应的非复位单元确定为功能异常的功能单元。
应理解,基于二分法或多分法的方式设置复位单元和非复位单元后,进行复位调试操作得到的调试结果存在第二种结论或第三种结论。即基于二分法或多分法的方式获得多个复位单元和非复位单元后,将待调试产品重启以对待调试产品进行复位操作,若重启后的待调试产品可以正常工作(即为第二种异常分析结论),则表明多个复位单元中存在异常,多个非复位单元无问题,进而可一次性排除多个非复位单元无问题,使得异常定位效率更高;若重启后的待调试产品不能正常工作(即为第三种异常分析结论),则表明多个非复位单元中肯定存在异常,多个复位单元中不确定是否存在异常,则可根据非复位单元的调试结果确定哪些非复位单元为异常的功能单元,并进一步的对多个复位单元进行细分,将多个复位单元中的部分复位单元设置为非复位单元,对再次划分后的复位单元和非复位单元进行异常判断,以此类推,直至所有功能单元均进行排查,由于每次均可进行多个功能单元的验证,相较于一个一个的排查,效率更高。
将待调试产品的功能单元设置为一个复位单元或一个非复位单元后,进行复位调试操作得到的调试结果存在第一种结论或第三种结论。即若将疑似异常的功能单元设置为复位单元,而其他功能单元设置为非复位单元后,对待调试产品进行复位操作,若待调试产品可以正常工作(即为第一种异常分析结论),就可以证明该复位单元为异常的功能单元。若将疑似异常的功能单元设置为非复位单元,而其他功能单元设置为复位单元后,对待调试产品进行复位操作,若待调试产品不能正常工作(即为第三种异常分析结论),就可以证明是该非复位单元有异常。
应理解,本公开的第三种结论中的调试结果异常可以为一个非复位单元的调试结果异常,也可以为多个非复位单元的调试结果异常。由于不同非复位单元所执行的调试程序不同,即不同非复位单元在调试时要实现的调试功能是不同的,不同非复位单元的调试结果是不一样的,所以根据不同非复位单元的调试结果可以确定具体哪个非复位单元有异常。
基于相同的发明构思,本公开实施例还提供一种调试装置300,如图4所示,该调试装置包括复位划分模块310、复位模块320、调试模块330和异常分析模块340。
复位划分模块310,用于在待调试产品出现功能异常的情况下,将待调试产品的功能单元设置为复位单元和非复位单元。
应理解,复位划分模块310用于执行上述步骤101的内容。
复位模块320,用于对待调试产品进行复位操作,以使待调试产品进入调试模式。
应理解,复位模块320用于执行上述步骤102的内容。
调试模块330,用于在调试模式下,执行调试程序依次对待调试产品的功能单元进行调试;若功能单元为复位单元,则复位单元处于复位状态,不响应调试程序;若功能单元为非复位单元,则非复位单元响应调试程序进行调试操作,得到非复位单元的调试结果。
应理解,调试模块330用于执行上述步骤103和104的内容。
异常分析模块340,用于根据调试结果进行异常分析,得到功能异常的功能单元。
应理解,异常分析模块340用于执行上述步骤105的内容。
基于相同的发明构思,本公开实施例还提供一种待调试产品,包括存储器、以及一个或多个处理器,存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现上述任一实施例所述的调试方法。
基于相同的发明构思,本公开实施例还提供一种计算机存储介质,计算机程序被处理器执行时实现上述任一实施例所述方法的步骤。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

Claims (11)

1.一种调试方法,其特征在于,包括:
在待调试产品出现功能异常的情况下,将所述待调试产品的功能单元设置为复位单元和非复位单元;
对所述待调试产品进行复位操作,以使所述待调试产品进入调试模式;
在所述调试模式下,执行调试程序依次对所述待调试产品的功能单元进行调试;
若所述功能单元为复位单元,则所述复位单元处于复位状态,不响应所述调试程序;若所述功能单元为非复位单元,则所述非复位单元响应所述调试程序进行调试操作,得到所述非复位单元的调试结果;
若所述调试结果无异常,且所述复位单元的数量为一个,则确定所述复位单元为功能异常的功能单元;
若所述调试结果无异常,且所述复位单元的数量为多个,则将所述复位单元中的一个或多个设置为非复位单元,并对所述待调试产品进行复位操作,以使所述待调试产品进入调试模式,在所述调试模式下所述非复位单元响应所述调试程序进行调试得到调试结果,基于所述调试结果进行异常分析,若所述调试结果异常,基于异常的调试结果确定功能异常的功能单元,若所述调试结果无异常,则重复前述操作,直至确定出功能异常的功能单元;
若所述调试结果异常,则将异常的调试结果对应的非复位单元确定为功能异常的功能单元。
2.根据权利要求1所述的调试方法,其特征在于,所述将所述待调试产品的功能单元设置为复位单元和非复位单元的步骤包括:
基于复位选择信号和复位控制信号将所述待调试产品的功能单元设置为复位单元和非复位单元。
3.根据权利要求2所述的调试方法,其特征在于,所述复位选择信号通过设置所述待调试产品中的寄存器产生;所述复位控制信号通过设置所述待调试产品的输入引脚产生。
4.根据权利要求2所述的调试方法,其特征在于,所述基于复位选择信号和复位控制信号将待调试产品的功能单元设置为复位单元和非复位单元的步骤包括:
基于二分法或多分法的方式,设置所述复位选择信号和所述复位控制信号,以将所述待调试产品的功能单元设置为多个复位单元和多个非复位单元。
5.根据权利要求4所述的调试方法,其特征在于,所述复位选择信号的数量与所述待调试产品的功能单元的数量相同,且所述复位选择信号与所述调试产品的功能单元分别一一对应,所述复位控制信号的数量为一个,所述复位控制信号与所述调试产品的每个功能单元均对应;
所述基于二分法的方式,设置所述复位选择信号和所述复位控制信号的步骤包括:
将所述复位控制信号置为1;
基于二分法的方式,将一半的复位选择信号置为0,将另一半的复位选择信号置为1;
基于置为1的复位选择信号和复位控制信号,将与置为1的复位选择信号所对应的功能单元设置为非复位单元;
基于置为0的复位选择信号和置为1的复位控制信号,将与置为0的复位选择信号所对应的功能单元设置为复位单元。
6.根据权利要求4所述的调试方法,其特征在于,所述复位选择信号的数量与所述待调试产品的功能单元的数量相同,且所述复位选择信号与所述调试产品的功能单元分别一一对应,所述复位控制信号的数量为一个,所述复位控制信号与所述调试产品的每个功能单元均对应;
所述基于多分法的方式,设置所述复位选择信号和所述复位控制信号的步骤包括:
将所述复位控制信号置为1;
基于多分法的方式,将部分复位选择信号置为0,将剩余部分复位选择信号置为1;置为0的复位选择信号的数量不等于置为1的复位选择信号的数量,且置为0的复位选择信号的数量和置为1的复位选择信号的数量均为大于1的正整数;
基于置为1的复位选择信号和复位控制信号,将与置为1的复位选择信号所对应的功能单元设置为非复位单元;
基于置为0的复位选择信号和置为1的复位控制信号,将与置为0的复位选择信号所对应的功能单元设置为复位单元。
7.根据权利要求2所述的调试方法,其特征在于,所述基于复位选择信号和复位控制信号将待调试产品的功能单元设置为复位单元和非复位单元的步骤包括:
设置所述复位选择信号和所述复位控制信号,以将所述待调试产品的功能单元设置为一个复位单元或一个非复位单元。
8.根据权利要求7所述的调试方法,其特征在于,所述复位选择信号的数量与所述待调试产品的功能单元的数量相同,且所述复位选择信号与所述调试产品的功能单元分别一一对应,所述复位控制信号的数量为一个,所述复位控制信号与所述调试产品的每个功能单元均对应;
所述设置所述复位选择信号和所述复位控制信号,以将所述待调试产品的功能单元设置为一个复位单元或一个非复位单元的步骤包括:
将所述复位控制信号置为1;
将其中一个复位选择信号置为0,剩余部分复位选择信号置为1;或将其中一个复位选择信号置为1,剩余部分复位选择信号置为0;
基于置为1的复位选择信号和复位控制信号,将与置为1的复位选择信号所对应的功能单元设置为非复位单元;
基于置为0的复位选择信号和置为1的复位控制信号,将与置为0的复位选择信号所对应的功能单元设置为复位单元。
9.一种调试装置,其特征在于,包括:
复位划分模块,用于在待调试产品出现功能异常的情况下,将待调试产品的功能单元设置为复位单元和非复位单元;
复位模块,用于对所述待调试产品进行复位操作,以使所述待调试产品进入调试模式;
调试模块,用于在所述调试模式下,执行调试程序依次对待调试产品的功能单元进行调试;若所述功能单元为复位单元,则所述复位单元处于复位状态,不响应所述调试程序;若所述功能单元为非复位单元,则所述非复位单元响应所述调试程序进行调试操作,得到所述非复位单元的调试结果;
异常分析模块,用于若所述调试结果无异常,且所述复位单元的数量为一个,则确定所述复位单元为功能异常的功能单元;若所述调试结果无异常,且所述复位单元的数量为多个,则将所述复位单元中的一个或多个设置为非复位单元,并对所述待调试产品进行复位操作,以使所述待调试产品进入调试模式,在所述调试模式下所述非复位单元响应所述调试程序进行调试得到调试结果,基于所述调试结果进行异常分析,若所述调试结果异常,基于异常的调试结果确定功能异常的功能单元,若所述调试结果无异常,则重复前述操作,直至确定出功能异常的功能单元;若所述调试结果异常,则将异常的调试结果对应的非复位单元确定为功能异常的功能单元。
10.一种待调试产品,其特征在于,包括存储器、以及一个或多个处理器,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如权利要求1至8任意一项所述的方法。
11.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任意一项所述方法的步骤。
CN202310919140.8A 2023-07-26 2023-07-26 调试方法、设备、待调试产品和计算机存储介质 Active CN116719746B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310919140.8A CN116719746B (zh) 2023-07-26 2023-07-26 调试方法、设备、待调试产品和计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310919140.8A CN116719746B (zh) 2023-07-26 2023-07-26 调试方法、设备、待调试产品和计算机存储介质

Publications (2)

Publication Number Publication Date
CN116719746A CN116719746A (zh) 2023-09-08
CN116719746B true CN116719746B (zh) 2023-12-19

Family

ID=87873635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310919140.8A Active CN116719746B (zh) 2023-07-26 2023-07-26 调试方法、设备、待调试产品和计算机存储介质

Country Status (1)

Country Link
CN (1) CN116719746B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311292B1 (en) * 1998-07-30 2001-10-30 Sandcraft, Inc. Circuit, architecture and method for analyzing the operation of a digital processing system
CN1332409A (zh) * 2000-07-05 2002-01-23 先进数字芯片股份有限公司 易于测试和调试程序的中央处理单元
CN102254218A (zh) * 2011-07-02 2011-11-23 广西工学院 Arm+fpga组成的计数器装置及其实现方法
CN104280189A (zh) * 2014-08-19 2015-01-14 深圳市理邦精密仪器股份有限公司 一种压力传感器故障硬件检测方法与装置
CN106484585A (zh) * 2016-10-31 2017-03-08 上海华虹集成电路有限责任公司 非接触式智能卡芯片仿真器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311292B1 (en) * 1998-07-30 2001-10-30 Sandcraft, Inc. Circuit, architecture and method for analyzing the operation of a digital processing system
CN1332409A (zh) * 2000-07-05 2002-01-23 先进数字芯片股份有限公司 易于测试和调试程序的中央处理单元
CN102254218A (zh) * 2011-07-02 2011-11-23 广西工学院 Arm+fpga组成的计数器装置及其实现方法
CN104280189A (zh) * 2014-08-19 2015-01-14 深圳市理邦精密仪器股份有限公司 一种压力传感器故障硬件检测方法与装置
CN106484585A (zh) * 2016-10-31 2017-03-08 上海华虹集成电路有限责任公司 非接触式智能卡芯片仿真器

Also Published As

Publication number Publication date
CN116719746A (zh) 2023-09-08

Similar Documents

Publication Publication Date Title
EP1153348B1 (en) On-chip debug system
US6557119B1 (en) Microcomputer debug architecture and method
EP3369015B1 (en) Methods and circuits for debugging circuit designs
US6487683B1 (en) Microcomputer debug architecture and method
US6463553B1 (en) Microcomputer debug architecture and method
US7577876B2 (en) Debug system for data tracking
CN101286129A (zh) 嵌入式***调试
CN109240965B (zh) Fpga逻辑捕获处理显示套件及其使用方法
US6502210B1 (en) Microcomputer debug architecture and method
US4183459A (en) Tester for microprocessor-based systems
CN109407655B (zh) 一种调试芯片的方法及装置
CN116521468B (zh) 一种fpga在线调试方法及支持在线调试的fpga
EP3961403A1 (en) Bus monitoring device and method, storage medium, and electronic device
CN109117299B (zh) 服务器的侦错装置及其侦错方法
CN116719746B (zh) 调试方法、设备、待调试产品和计算机存储介质
CN107607853B (zh) 芯片的调试方法、装置、存储介质和处理器
US7051237B2 (en) Program-controlled unit
CN115964237A (zh) 一种针对中央处理器cpu的功能及性能测试方法及装置
CN100403275C (zh) 应用于固件程序除错的微处理器与方法
CN116414632A (zh) 片上***的故障定位方法、片上***、设备及存储介质
CN113297020B (zh) 芯片中硬件模块的测试方法、装置、设备及可读存储介质
US11953550B2 (en) Server JTAG component adaptive interconnection system and method
Loskutov et al. SEFI cross-section evaluation by fault injection software approach and hardware detection
WO2021110530A1 (en) Identifying causes of anomalies observed in an integrated circuit chip
CN113742113A (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
GR01 Patent grant
GR01 Patent grant