掌桥专利:专业的专利平台
掌桥专利
首页

微处理器调试方法、装置、设备及介质

文献发布时间:2024-04-18 19:58:26


微处理器调试方法、装置、设备及介质

技术领域

本公开涉及计算机技术领域,尤其涉及一种微处理器调试方法、装置、设备及介质。

背景技术

微处理器用一片或少数几片大规模集成电路组成的中央处理器,这些电路执行控制部件和算术逻辑部件的功能。微处理器与传统的中央处理器相比,具有体积小、重量轻和容易模块化等优点,被广泛使用,同时微处理器中设置有调试系统,使微处理器具备调试功能,在对微处理器的使用过程中用户能够观察到微处理器中的各种运行状态、寄存器和数据存储器中的数据等。

然而当微处理器被广泛应用于大规模多核处理系统中时,微处理器的调试系统所占的资源与核数等比例增加,因此,如何降低调试系统的复杂度和资源占用成为了亟需解决的问题。

发明内容

为了解决上述技术问题,本公开提供了一种微处理器调试方法、装置、设备及介质。

本公开实施例的第一方面提供了一种微处理器调试方法,包括:

接收主机侧发送的调试指令;

响应于调试指令,控制断点寄存器置起断点标志位,以使微处理器进入调试状态;

将调试指令发送至预设选择器,由预设选择器将调试指令发送至微处理器中的译码单元;

基于微处理器中的译码单元对调试指令进行译码操作,生成与调试指令对应的调试操作;

将调试操作发送至微处理器中的目标处理单元,以使目标处理单元执行调试操作。

本公开实施例的第二方面提供了一种微处理器调试装置,包括:

指令接收模块,用于接收主机侧发送的调试指令;

断点控制模块,用于响应于调试指令,控制断点寄存器置起断点标志位,以使微处理器进入调试状态;

指令发送模块,用于将调试指令发送至预设选择器,由预设选择器将调试指令发送至微处理器中的译码单元;

译码模块,用于基于微处理器中的译码单元对调试指令进行译码操作,生成与调试指令对应的调试操作;

调试模块,用于将调试操作发送至微处理器中的目标处理单元,以使目标处理单元执行调试操作。

本公开实施例的第三方面提供了一种电子设备,包括:

处理器;

存储器,用于存储可执行指令;

其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现上述第一方面提供的微处理器调试方法。

本公开实施例的第四方面提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现上述第一方面提供的微处理器调试方法。

本公开实施例提供的技术方案与现有技术相比具有如下优点:

本公开实施例提供的微处理器调试方法、装置、设备及介质,能够接收主机侧发送的调试指令,响应于调试指令,控制断点寄存器置起断点标志位,以使微处理器进入调试状态,将调试指令发送至预设选择器,由预设选择器将调试指令发送至微处理器中的译码单元,基于微处理器中的译码单元对调试指令进行译码操作,生成与调试指令对应的调试操作,将调试操作发送至微处理器中的目标处理单元,以使目标处理单元执行调试操作,由此,能够通过预设选择器进行调试指令的接收和发送,通过预设选择器将调试指令发送至微处理器中的译码单元,进而基于微处理器中的译码单元、目标处理单元执行具体的调试操作,无需增加额外的调试处理单元执行调试指令对应的调试操作,实现了在微处理器原有的指令执行通道上执行微处理器的调试操作,进而降低了调试系统的复杂度和资源占用。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本公开实施例提供的一种微处理器调试方法的流程图;

图2是本公开实施例提供的一种应用场景示意图;

图3是本公开实施例提供的一种可调试微处理器结构示意图;

图4是本公开实施例提供的一种微处理器调试装置的结构示意图;

图5是本公开实施例提供的一种电子设备的结构示意图。

具体实施方式

为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

通常情况下,微处理器与传统的中央处理器相比,具有体积小、重量轻和容易模块化等优点,被广泛使用,同时微处理器中设置有调试系统,使微处理器具备调试功能,在对微处理器的使用过程中用户能够观察到微处理器中的各种运行状态、寄存器和数据存储器中的数据等。然而当微处理器被广泛应用于大规模多核处理系统中时,微处理器的调试系统所占的资源与核数等比例增加,因此,如何降低调试系统的复杂度和资源占用成为了亟需解决的问题。针对该问题,本公开实施例提供了一种微处理器调试方法,下面结合具体的实施例对该方法进行介绍。

图1是本公开实施例提供的一种微处理器调试方法的流程图,该方法可以由微处理器调试装置来执行,该微处理器调试装置可以采用软件和/或硬件的方式实现,该微处理器调试装置可配置于电子设备中,例如服务器或终端,其中,终端具体包括手机、电脑或平板电脑等。另外,该方法可以应用于图2所示的应用场景中,可以理解的是,本公开实施例提供的微处理器调试方法还可以应用在其他的应用场景中。

如图2所示,该应用场景中包括主机21、多核处理芯片22,其中主机21和多核处理芯片22通过主机接口连接,通过总线进行通信和信息交互,多核处理芯片22中包括多个微处理器221和调试系统222,其中每个微处理器221对应一个调试系统222,每个微处理器221和调试系统222的结构和功能可以是一样的,每个微处理器221对应的调试系统222是用于对微处理器221进行调试使用。

进一步地,多核处理芯片22可以是部署在数据处理器(Data Processing Unit,DPU)中,也可以是部署在其他处理器中,在此不作限制。

用户可以在主机21侧进行调试指令的构建或建立,进而通过主机接口和总线将调试指令发送至调试系统222,进而由调试系统222根据调试指令对微处理器221进行调试。

下面结合图2所示的应用场景,对图1所示的微处理器调试方法进行介绍,例如,图2中的多核处理芯片22所在的电子设备可以执行该方法。如图1所示,本实施例提供的微处理器调试方法包括如下步骤。

S110、接收主机侧发送的调试指令。

在本公开实施例中,电子设备可以实时通过与主机接口及总线接收主机侧发送的调试指令。

其中,调试指令是用于对电子设备中的微处理器进行调试的指令,可以是用户在主机侧构建生成的调试指令。

可选地,调试指令中可以包括调试对应的类型标识、调试对应的微处理器的标识信息、调试位置信息、调试数据、调试对应的数据源类型和地址等。

S120、响应于调试指令,控制断点寄存器置起断点标志位,以使微处理器进入调试状态。

在本公开实施例中,电子设备在接收到调试指令后,响应于调试指令,控制设置于调试系统中的断点寄存器置起断点标志位,以使微处理器进入调试状态。

在本公开实施例中,电子设备可以通过向断点寄存器中发送第一标志符代码,断点寄存器接收到第一标志符代码之后,运行该第一标志符代码,进而置起断点标志位,其中,第一标志符代码是用于将断点寄存器的断点标志符置起的标志符代码。

S130、将调试指令发送至预设选择器,由预设选择器将调试指令发送至微处理器中的译码单元。

在本公开实施例中,电子设备在进入调试状态后,生成与调试指令对应的有效信号,将调试指令以及与调试指令伴随的有效信号发送至预设选择器,预设选择器接收到调试指令后,基于有效信号确定调试指令为有效调试指令后,将调试指令发送至译码单元。

可选地,预设选择器可以是预先设置于取指单元和译码单元之间的选择器,分别与取指单元和译码单元连接;预设选择器也可以是与取指单元并行设置,且与译码单元连接的选择器,预设选择器可以是现有的任意的选择器,在此不作限制。

预设选择器的作用是在接收到用户发送的指令为调试指令时,对调试指令的有效性进行判断,然后在调试指令为有效调试指令时,将调试指令发送至译码单元。

S140、基于微处理器中的译码单元对调试指令进行译码操作,生成与调试指令对应的调试操作。

在本公开实施例中,电子设备在通过预设选择器将调试指令发送至译码单元之后,基于译码单元对调试指令进行译码操作,生成与调试指令对应的调试操作。

其中,译码单元对调试指令进行译码操作的具体实施方式与现有的微处理器中译码单元执行译码操作的实施方式类似,在此不做赘述。

S150、将调试操作发送至微处理器中的目标处理单元,以使目标处理单元执行调试操作。

在本公开实施例中,电子设备在生成与调试指令对应的调试操作之后,将调试操作发送至目标处理单元,以使目标处理单元执行调试操作。

在本公开实施例中,调试指令不同对应的目标处理单元也会随之不同。

可选地,目标处理单元可以包括数据选择器、微处理器中的设置的寄存器、存储器、计算单元等中的一个或多个。

在本公开实施例中,能够接收主机侧发送的调试指令,响应于调试指令,控制断点寄存器置起断点标志位,以使微处理器进入调试状态,将调试指令发送至预设选择器,由预设选择器将调试指令发送至微处理器中的译码单元,基于微处理器中的译码单元对调试指令进行译码操作,生成与调试指令对应的调试操作,将调试操作发送至微处理器中的目标处理单元,以使目标处理单元执行调试操作,由此,能够通过预设选择器进行调试指令的接收和发送,通过预设选择器将调试指令发送至微处理器中的译码单元,进而基于微处理器中的译码单元、目标处理单元执行具体的调试操作,无需增加额外的调试处理单元执行调试指令对应的调试操作,实现了在微处理器原有的指令执行通道上执行微处理器的调试操作,进而降低了调试系统的复杂度和资源占用。

在本公开上述实施例中,在控制断点寄存器置起断点标志位之前,还可以包括:获取程序的当前执行位置;将调试指令中的调试位置与当前执行位置进行比较,确定调试位置与当前执行位置是否一致。

在本公开实施例中,程序可以理解为用户部署在微处理器中的执行程序。

在本公开一些实施例中,控制断点寄存器置起断点标志位,可以具体包括:在调试位置与当前执行位置一致时,控制断点寄存器的标志位置起断点标志位。

在调试位置与当前执行位置不一致时,则停止对调试指令的执行,并返回错误指令给用户。

在本公开另一些实施例中,控制断点寄存器置起断点标志位,可以具体包括:在用户想要对微处理器进行调试时,通过总线直接控制断点寄存器置起断点标志位。

在本公开实施例中,在控制断点寄存器置起断点标志位之后,该微处理器调试方法还可以包括:向取指单元发送暂停指令,以使取指单元在接收到暂停指令后执行暂停操作,进入暂停状态。

在本公开实施例中,向取指单元发送暂停指令,使取指单元在接收到暂停指令后执行暂停操作,进入暂停状态。

其中,暂停状态可以理解为取指单元将不从预设的存储单元中取出所要执行的指令。

在本公开一些实施例中,当取指单元进入暂停状态后,取指单元已经取出的指令将继续执行后续的执行和写回操作,即取指单元进入暂停状态后将不影响正在执行的指令的执行,直至正在执行的指令执行结束。

在本公开一些实施例中,调试指令包括写入指令,写入指令包括写入标记、写入数据源的类型及地址;调试操作包括写入操作。

将调试操作发送至目标处理单元,以使目标处理单元执行调试操作,可以具体包括:将写入操作发送至数据选择器,由数据选择器从调试数据寄存器中读取与调试指令对应的写入数据,并执行写入操作将写入数据写入与写入数据源的类型对应的第一存储器中。

在本公开实施例中,写入数据源可以理解为写入操作对应的待写入数据在微处理器中对应的存储器类型及地址,比如微处理器中的特殊寄存器、通用寄存器、数据存储器等中的至少一种。

可选地,写入数据源的地址可以为微处理器中写入数据源的地址,也可以为微处理器中写入数据源中某一具体的地址。

示例性地,以写入数据源即第一存储器为数据存储器为例进行说明,写入数据源的地址可以为数据存储器在微处理器中的地址,也可以是数据存储器中某一个具体的存储地址。

进一步地,在调试指令为写入指令时,写入指令还可以包括与该写入指令对应的写入数据对应的调试数据寄存器的位置信息。

具体地,在调试指令为写入指令时,电子设备将写入操作发送至数据选择器,由数据选择器根据写入指令对应的写入数据对应的调试数据寄存器的位置信息,从调试数据寄存器中获取写入数据,并执行写入操作,将写入数据写入与写入数据源的类型对应的第一存储器中。

在本公开另一些实施例中,调试指令包括读取指令,读取指令包括读取标记、读取数据源的类型及地址;调试操作包括读取操作。

将调试操作发送至目标处理单元,以使目标处理单元执行调试操作,可以具体包括:将读取操作发送至数据选择器,以使数据选择器执行读取操作,从与读取数据源的类型对应的第二存储器中读取与调试指令对应的读取数据,并将读取数据发送至调试数据寄存器中。

在本公开实施例中,读取数据源可以理解为读取操作对应的待读取数据在微处理器中对应的存储器类型及地址。

在本公开实施例中,读取数据源的类型可以包括特殊寄存器、通用寄存器和数据存储器中的任意一种。

在本公开一些实施例中,读取数据源的地址可以为微处理器中读取数据源的地址,此时读取操作为读取该读取数据源中所有的数据。

在本公开另一些实施例中,读取数据源的地址可以为微处理器中读取数据源中某一具体的地址,此时读取操作为读取该读取数据源中某一位置的数据。

示例性地,以读取数据源即第一存储器为微处理器中的数据存储器为例进行说明,读取数据源的地址可以为数据存储器在微处理器中的地址,也可以是数据存储器中某一个具体的存储地址。

具体地,在调试指令为读取指令时,电子设备基于译码操作将调试指令对应的调试操作发送至数据选择器和与读取数据源的类型对应的第二存储器中,由数据选择器从第二存储器中读取该读取数据源的地址中存储的数据,并将读取的数据写入至调试系统的调试数据寄存器中。

在本公开又一些实施例中,调试指令包括跳转指令,跳转指令包括跳转标记以及跳转位置;调试操作包括跳转信号生成操作。

将调试操作发送至目标处理单元,以使目标处理单元执行调试操作,可以具体包括:将跳转信号生成操作发送至跳转单元,以使跳转单元基于跳转信号生成操作生成跳转信号,并将跳转信号发送至取指单元。

在本公开实施例中,跳转位置是指改变后的程序运行位置,比如程序的当前运行位置为第20条指令,跳转位置可以为程序的第15条指令,即将程序的当前运行位置跳转至第15条指令。

在本公开实施例中,电子设备基于跳转单元将跳转信号发送至取指单元之后,可以在取指单元恢复取指状态后,响应于跳转信号,执行与跳转信号对应的取指操作。

进一步地,在调试指令执行完毕后,即在将调试操作发送至目标处理单元,以使目标处理单元执行调试操作之后,该微处理器调试方法还可以包括:控制断点寄存器断开断点标志位;响应于断点寄存器断开断点标志位,向取指单元发送启动指令,以使取指单元在接收到启动指令之后执行启动操作,进入取指状态。

具体地,电子设备在调试指令执行完毕后,可以通过总线接收主机侧写入的第二标志符代码,将第二标志符代码发送至断点寄存器,以使断点寄存器运行该第二标志符代码,进而断开断点标志位,其中,第二标志符代码是用于将断点寄存器的断点标志符断开的标志符代码。并在断点寄存器断开断点标志位时,向取指单元发送启动指令,以使取指单元在接收到启动指令之后执行启动操作,进入取指状态,在取指单元进入取指状态后,微处理器基于取指单元、译码单元和目标处理单元读取并执行正常的程序,控制预设选择器暂停对调试指令的接收。

示例性地,断点寄存器的断点标志位置起时对应的标志符为“1”,断开时对应的标志符为“0”,当断点寄存器接收到第二标志符代码“0”时,执行断点标志位断开。

在本公开实施例中,微处理器基于取指单元、译码单元和目标处理单元读取并执行正常的程序的具体实施方式与现有的微处理器执行程序对应的指令流水线的实施方式类似,在此不做赘述。

进一步地,在取指单元进入取指状态之后,控制预设选贼器暂停对调试指令的接收,防止在接收到调试指令后执行调试指令,影响微处理器读取并执行正常的程序。

在本公开实施例中,能够在调试指令执行完毕后,能够及时控制断点标志位断开,以使微处理器退出调试状态,并且向取指单元发送启动指令,使取指单元响应于启动指令,进入取指状态,进而使微处理器继续运行,确保了微处理器的正常运行。

图3是本公开实施例提供的一种可调试微处理器结构示意图,如图3所示,可调试微处理器中包括取指单元31、译码单元32、计算单元33、数据选择器34、特殊寄存器35、通用寄存器36、数据存储器37、调试单元38、调试指令寄存器39、调试数据寄存器40和预设选择器41,其中图中的箭头代表微处理器中各个单元之间的交互过程。

取指单元31用于从目标位置取出微处理器所要执行的指令;译码单元32用于对取指单元31去除的执行进行译码操作;计算单元33用于执行与译码操作对应的计算操作;数据选择器34用于向特殊寄存器35、通用寄存器36和数据存储器37中写入数据或从特殊寄存器35、通用寄存器36和数据存储器37中读取数据,同时数据选择器34可以从调试数据寄存器40中读取数据或者向调试数据寄存器40中写入数据;预设选择器41用于从调试指令寄存器39中获取调试指令,并将调试指令发送至译码单元32。其中,调试单元38、调试指令寄存器39、调试数据寄存器40和预设选择器41所起的作用相当于图2中所示的调试系统的作用,主要是用于对微处理器进行调试。

在本公开实施例中,取指单元31、译码单元32、计算单元33、数据选择器34、特殊寄存器35、通用寄存器36、数据存储器37是微处理器原有的执行指令流水线对应的单元,在微处理器中增加了调试单元38、调试指令寄存器39、调试数据寄存器40和预设选择器41以对微处理器进行调试,并且在调试过程中基于微处理器中的取指单元31、译码单元32、计算单元33、数据选择器34、特殊寄存器35、通用寄存器36、数据存储器37中的一个或多个单元执行调试操作,进而降低了调试系统的复杂度并节省了调试系统的资源占用。

调试指令寄存器39中可以存储一个或多个调试指令,其中一个或多个调试指令按照先进先出的原则进行存储和执行。

下面结合图3对微处理器调试方法进行详细介绍,首先,调试单元38通过总线接收主机侧发送的调试指令,当调试指令为写入指令时,调试单元38将调试指令存储至调试指令寄存器39中并将调试指令发送至预设选择器41中,同时调试单元38接收主机侧发送的写入数据,并将写入数据写入调试数据寄存器40中,预设选择器41接收到调试指令后根据调试指令伴随的有效信号,判断调试指令的有效性,在调试指令为有效指令时,将调试指令发送至译码单元32,由译码单元32对调试指令进行译码处理,生成与调试指令对应的调试操作,即写入操作,同时将写入操作发送至数据选择器34,数据选择器34基于写入操作从调试数据寄存器40中读取与调试指令对应的待写入数据,并将待写入数据写入至调试指令对应的存储器中,其中调试指令对应的存储器为特殊寄存器35、通用寄存器36和数据存储器37中的任意一个。

当调试指令为读取指令时,调试单元38将调试指令存储至调试指令寄存器39中并将调试指令发送至预设选择器41中,预设选择器41接收到调试指令后根据调试指令伴随的有效信号,判断调试指令的有效性,在调试指令为有效指令时,将调试指令发送至译码单元32,由译码单元32对调试指令进行译码处理,生成与调试指令对应的调试操作,即读取操作,同时将读取操作发送至数据选择器34,数据选择器34基于读取操作从与调试指令对应的存储器(特殊寄存器35、通用寄存器36和数据存储器37中的任意一个)中读取调试指令对应的数据源的地址中的数据,并将读取的数据写入至调试数据寄存器40中。

可调试微处理器中还包括跳转单元,其中跳转单元用于在调试指令为跳转指令时,生成与跳转指令对应的跳转信号,当调试指令为跳转指令时,调试单元38将调试指令存储至调试指令寄存器39中并将调试指令发送至预设选择器41中,预设选择器41接收到调试指令后根据调试指令伴随的有效信号,判断调试指令的有效性,在调试指令为有效指令时,将调试指令发送至译码单元32,由译码单元32对调试指令进行译码处理,生成与调试指令对应的调试操作,即跳转信号生成操作,同时将跳转信号生成操作发送至跳转单元,由跳转单元生成跳转信号,并将跳转信号发送至取指单元31中。

在本公开实施例中,能够通过预设选择器接收调试指令,以使微处理器处于调试状态时,可以将调试指令发送至译码单元,由译码单元对调试指令进行译码处理生成调试指令对应的调试操作,并将调试操作发送至目标处理单元,以使目标处理单元完成调试操作,由此,能够通过预设选择器进行调试指令的接收和发送,通过预设选择器将调试指令发送至微处理器中的译码单元,进而基于微处理器中的译码单元、目标处理单元执行具体的调试操作,无需增加额外的调试处理单元执行调试指令对应的调试操作,实现了在微处理器原有的指令执行通道上执行微处理器的调试操作,进而降低了调试系统的复杂度和资源占用。

图4是本公开实施例提供的一种微处理器调试装置的结构示意图。

在本公开实施例中,该微处理器调试装置可以设置于电子设备内,被理解为上述电子设备中的部分功能模块。具体地,电子设备可以为服务器或终端,其中,终端具体包括手机、电脑或平板电脑等,在此不作限制。

如图4所示,该微处理器调试装置400可以包括指令接收模块410、断点控制模块420、指令发送模块430、译码模块440和调试模块450。

指令接收模块410可以用于接收主机侧发送的调试指令。

断点控制模块420可以用于响应于调试指令,控制断点寄存器置起断点标志位,以使微处理器进入调试状态。

指令发送模块430可以用于将调试指令发送至预设选择器,由预设选择器将调试指令发送至微处理器中的译码单元。

译码模块440可以用于基于微处理器中的译码单元对调试指令进行译码操作,生成与调试指令对应的调试操作。

调试模块450可以用于将调试操作发送至微处理器中的目标处理单元,以使目标处理单元执行调试操作。

在本公开实施例中,能够接收主机侧发送的调试指令,响应于调试指令,控制断点寄存器置起断点标志位,以使微处理器进入调试状态,将调试指令发送至预设选择器,由预设选择器将调试指令发送至微处理器中的译码单元,基于微处理器中的译码单元对调试指令进行译码操作,生成与调试指令对应的调试操作,将调试操作发送至微处理器中的目标处理单元,以使目标处理单元执行调试操作,由此,能够通过预设选择器进行调试指令的接收和发送,通过预设选择器将调试指令发送至微处理器中的译码单元,进而基于微处理器中的译码单元、目标处理单元执行具体的调试操作,无需增加额外的调试处理单元执行调试指令对应的调试操作,实现了在微处理器原有的指令执行通道上执行微处理器的调试操作,进而降低了调试系统的复杂度和资源占用。

在本公开一些实施例中,微处理器调试装置400还可以包括判断模块。

判断模块可以用于在控制断点寄存器置起断点标志位之前,获取程序的当前执行位置;将调试指令中的调试位置与当前执行位置进行比较,确定调试位置与当前执行位置是否一致。

断点控制模块420可以具体用于在调试位置与当前执行位置一致时,控制断点寄存器的标志位置起断点标志位。

在本公开一些实施例中,微处理器调试装置400还可以包括第一发送模块。

第一发送模块可以用于在控制断点寄存器置起断点标志位之后,向微处理器中的取指单元发送暂停指令,以使取指单元在接收到暂停指令后执行暂停操作,进入暂停状态。

在本公开一些实施例中,调试指令包括写入指令,写入指令包括写入标记、写入数据源的类型及地址;调试操作包括写入操作。

调试模块450可以具体用于将写入操作发送至微处理器中的数据选择器,由数据选择器从调试数据寄存器中读取与调试指令对应的写入数据,并执行写入操作将写入数据写入与写入数据源的类型对应的第一存储器中。

在本公开一些实施例中,调试指令包括读取指令,读取指令包括读取标记、读取数据源的类型及地址;调试操作包括读取操作。

调试模块450可以具体用于将读取操作发送至微处理器中的数据选择器,以使数据选择器执行读取操作,从与读取数据源的类型对应的第二存储器中读取与调试指令对应的读取数据,并将读取数据发送至调试数据寄存器中。

在本公开一些实施例中,调试指令包括跳转指令,跳转指令包括跳转标记以及跳转位置;调试操作包括跳转信号生成操作。

调试模块450可以具体用于将跳转信号生成操作发送至微处理器中的跳转单元,以使跳转单元基于跳转信号生成操作生成跳转信号,并将跳转信号发送至取指单元。

在本公开一些实施例中,微处理器调试装置400还可以包括第二发送模块。

第二发送模块可以用于在将调试操作发送至目标处理单元,以使目标处理单元执行调试操作之后,控制断点寄存器断开断点标志位;响应于断点寄存器断开断点标志位,向微处理器中的取指单元发送启动指令,以使取指单元在接收到启动指令之后执行启动操作,进入取指状态;在取指单元进入取指状态后,微处理器基于取指单元、译码单元和目标处理单元读取并执行正常的程序,控制预设选择器暂停对调试指令的接收。

需要说明的是,图4所示的微处理器调试装置400可以执行上述方法实施例中的各个步骤,并且实现上述方法实施例中的各个过程和效果,在此不做赘述。

图5是本公开实施例提供的一种电子设备的结构示意图。

在本公开实施例中,图5所示的电子设备可以为服务器或终端,其中,终端具体包括手机、电脑或平板电脑等,在此不作限制。

如图5所示,该电子设备可以包括处理器510以及存储有计算机程序指令的存储器520。

具体地,上述处理器510可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本公开实施例的一个或多个集成电路。

存储器520可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器520可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器520可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器520可在综合网关设备的内部或外部。在特定实施例中,存储器520是非易失性固态存储器。在特定实施例中,存储器520包括只读存储器(Read-Only Memory,ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Electrical Programmable ROM,EPROM)、电可擦除PROM(Electrically ErasableProgrammable ROM,EEPROM)、电可改写ROM(Electrically Alterable ROM,EAROM)或闪存,或者两个或及其以上这些的组合。

处理器510通过读取并执行存储器520中存储的计算机程序指令,以执行本公开实施例所提供的微处理器调试方法的步骤。

在一个示例中,该电子设备还可以包括收发器530和总线540。其中,如图5所示,处理器510、存储器520和收发器530通过总线540连接并完成相互间的通信。

总线540包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(ExtendedIndustry Standard Architecture,EISA)总线、前端总线(Front Side BUS,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low Pin Count,LPC)总线、存储器总线、微信道架构(MicroChannel Architecture,MCA)总线、外围控件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)总线、视频电子标准协会局部(Video Electronics StandardsAssociation Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线540可包括一个或多个总线。

本公开实施例还提供了一种计算机可读存储介质,该存储介质可以存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现本公开实施例所提供的微处理器调试方法。

上述的存储介质可以例如包括计算机程序指令的存储器520,上述指令可由电子设备的处理器510执行以完成本公开实施例所提供的微处理器调试方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact DiscROM,CD-ROM)、磁带、软盘和光数据存储设备等。

以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种程序调试方法、装置、设备及可读存储介质
  • 调试pos机的方法及装置、系统、存储介质、电子装置
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 音频的调试方法及装置、存储介质、处理器
  • 一种智能合约调试方法、装置及其存储介质
  • 一种IIC设备调试方法及微处理器
  • 一种调试设备装置、设备调试方法及存储介质
技术分类

06120116488167