仿真模式下处理器的调试系统及方法与流程

文档序号:13685666阅读:385来源:国知局
仿真模式下处理器的调试系统及方法与流程

本发明涉及处理器技术领域,特别涉及一种仿真模式下处理器的调试系统及方法。



背景技术:

在嵌入式系统中,需要对目标平台上处理器运行程序进行调试,然而由于目标平台上的处理器资源有限,不能把整个调试系统部署到目标平台上,因此提出了通过跨平台的方式,对目标平台上的处理器所运行的程序进行调试。其中,跨平台调试是利用外部平台的计算资源对目标平台处理器进行调试。因此需要在处理器中增加ejtag模块提供了程序调试功能。ejtag模块复用了ejtag的测试引脚,用来完成与主机系统的连接。从而实现了跨平台调试。

具体地,ejtag是一个软硬件子系统,其可以为处理器或采用mips核的soc芯片提供全面的嵌入式调试系统。带有ejtag的处理器或者片上系统可以连接到ejtag的扫描链上,然后通过连接到系统ejtagtap(调试接口)接口的探测器,就可以进行调试。

相关技术中,如图1所示,在真实的调试环境中,ejtag调试分为三大部分:调试软件、调试器和调试目标。调试软件的主要工作分为四个部分:用户调试命令的收集与命令结果的显示;用户命令分解成ejtag命令组;ejtag命令分解成ejtagtap序列;ejtagtap序列传输给驱动,由驱动组织发送。调试器是进行ejtag调试所必须的独立的调试设备。它接收由软件传输的数据,转化成ejtag所需要的调试信号(tdi、tdo、tms、tck、trst等)。调试器最终与目标调试板的ejtag接口相连接。目标调试版的ejtag接口接收到调试器发送的信号,进行ejtag状态机的切换,与目标调试板交换调试数据。

然而,在现有的真实环境中,对处理器进行调试时,由于芯片的内部信号和错误信息无法直接观测到,所以对于硬件处理器在调试模式下出现的错误定位、分析比较困难,并且仿真环境下无法使用ejtag调试软件对处理器进行调试。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的一个目的在于提出一种仿真模式下处理器的调试系统,该系统解决了仿真环境下无法使用ejtag调试软件对处理器进行调试。

本发明的另一个目的在于提出一种仿真模式下处理器的调试方法。

为达到上述目的,本发明一方面实施例提出了一种仿真模式下处理器的调试系统,包括:调试软件,用于接收用户命令,以根据所述用户命令生成ejtag命令,并且显示所述用户命令的执行结果;公用交互系统;调试目标,所述调试目标通过所述公用交互系统与所述调试软件互相通信,用于将接收的所述ejtag命令转换为ejtagtap信号,并将所述ejtagtap信号发送至处理器中,以在仿真模式下进行调试,并且发送所述用户命令的执行结果。

本发明实施例的仿真模式下处理器的调试系统,通过建立软件和处理器公用交互系统,并且重新规划软件与仿真环境的交互协议使软件可以和处理器之间进行通信交互,从而实现了仿真模式下使用ejtag调试软件对处理器进行调试,可以在仿真模式下更加方便快捷的对处理器在调试模式下出现的错误进行定位,以及更加容易分析在调试模式下处理器出现的错误。

另外,根据本发明上述实施例的仿真模式下处理器的调试系统还可以具有以下附加的技术特征:

进一步地,在本发明的一个实施例中,所述调试软件包括:用户级调试命令模块,用于接收所述用户命令;ejtag命令组模块,用于根据所述用户命令得到所述ejtag命令,并且根据所述ejtag命令得到编码数据后发送至所述公用交互系统,并且读取所述公用交互系统发送的执行结果数据。

进一步地,在本发明的一个实施例中,所述调试目标包括:ejtagmaster,用于根据所述ejtag命令和所述编码数据得到ejtagtap序列,以通过ejtagio端口将所述ejtagtap序列写入所述处理器后进行调试。

进一步地,在本发明的一个实施例中,所述ejtagmaster还用于接收所述处理器发送的调试信号,并且根据所述调试信号得到所述执行结果数据。

可选地,在本发明的一个实施例中,所述公用交互系统的交互媒介为文件、网络和驱动中的一种或多种,且所述交互媒介的形势为文件、网络和驱动中的一种或多种。

为达到上述目的,本发明另一方面实施例提出了一种仿真模式下处理器的调试方法,包括以下步骤:接收用户命令,以根据所述用户命令生成ejtag命令;通过公用交互系统将接收的所述ejtag命令转换为ejtagtap信号,并将所述ejtagtap信号发送至处理器中,以在仿真模式下进行调试;显示所述用户命令的执行结果。

本发明实施例的仿真模式下处理器的调试方法,通过建立软件和处理器公用交互系统,并且重新规划软件与仿真环境的交互协议使软件可以和处理器之间进行通信交互,从而实现了仿真模式下使用ejtag调试软件对处理器进行调试,可以在仿真模式下更加方便快捷的对处理器在调试模式下出现的错误进行定位,以及更加容易分析在调试模式下处理器出现的错误。

另外,根据本发明上述实施例的仿真模式下处理器的调试方法还可以具有以下附加的技术特征:

进一步地,在本发明的一个实施例中,在所述根据所述用户命令生成ejtag命令之后,还包括:根据所述ejtag命令得到编码数据后发送至所述公用交互系统,以读取所述公用交互系统发送的执行结果数据。

进一步地,在本发明的一个实施例中,所述将接收的所述ejtag命令转换为ejtagtap信号,进一步包括:根据所述ejtag命令和所述编码数据得到ejtagtap序列,以通过ejtagio端口将所述ejtagtap序列写入所述处理器后进行调试。

进一步地,在本发明的一个实施例中,在调试之后还包括:接收所述处理器发送的调试信号,并且根据所述调试信号得到所述执行结果数据。

可选地,在本发明的一个实施例中,所述公用交互系统的交互媒介为文件、网络和驱动中的一种或多种,且所述交互媒介的形势为文件、网络和驱动中的一种或多种。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为相关技术中ejtag调试系统的结构示意图;

图2为根据本发明实施例的仿真模式下处理器的调试系统的结构示意图;

图3为根据本发明一个实施例的仿真模式下处理器的调试系统的调试流程图;

图4为根据本发明一个具体实施例的仿真模式下处理器的调试系统的调试流程图;以及

图5为根据本发明实施例的仿真模式下处理器的调试方法的流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参照附图描述根据本发明实施例提出的仿真模式下处理器的调试系统及方法,首先将参照附图描述根据本发明实施例提出的仿真模式下处理器的调试系统。

图2是本发明实施例的仿真模式下处理器的调试系统的结构示意图。

如图2所示,该仿真模式下处理器的调试系统10包括:调试软件100、公用交互系统200和调试目标300。

其中,调试软件100用于接收用户命令,以根据用户命令生成ejtag命令,并且显示用户命令的执行结果。调试目标300通过公用交互系统200与调试软件100互相通信,用于将接收的ejtag命令转换为ejtagtap信号,并将ejtagtap信号发送至处理器中,以在仿真模式下进行调试,并且发送用户命令的执行结果。本发明实施例的调试系统10实现了仿真模式下使用ejtag调试软件对处理器进行调试的方法,其中,在仿真验证模式下,处理器由rtl代码组成,在处理器出现错误后,可以通过仿真波形观察到处理器内部逻辑的变化,从而使得对处理器在调试模式下出现的错误定位更加容易。

可以理解的是,在仿真模式下,本发明实施例的调试系统10由三部分组成:第一部分是调试软件100,第二部分是公用交互系统200,第三部分是调试目标300,其可以理解为ejtagmaster驱动ejtagtap(调试接口),下面将进行详细描述。

进一步地,在本发明的一个实施例中,调试软件包括:用户级调试命令模块101和ejtag命令组模块102。其中,用户级调试命令模块101用于接收用户命令。ejtag命令组模块102用于根据用户命令得到ejtag命令,并且根据ejtag命令得到编码数据后发送至公用交互系统200,并且读取公用交互系统200发送的执行结果数据。

具体地,如图3所示,调试软件100用于接收用户命令以及向用户显示命令执行结果,并且调试软件100负责将用户命令解释成ejtag命令。其中,调试软件100中主要包含有用户级调试命令101和ejtag命令组102组成,并且通过调试软件100的界面将输入ejtag命令,且调试软件100将ejtag命令转变编码数据。

可选地,在本发明的一个实施例中,公用交互系统200的交互媒介为文件、网络和驱动中的一种或多种,且交互媒介的形势为文件、网络和驱动中的一种或多种。

也就是说,如图3所示,公用交互系统200为调试软件100和仿真环境交互的桥梁,公用交互系统200用于传输调试软件100发送的ejtag命令给仿真调试环境,同时也负责将仿真环境反馈的执行结果传输给调试软件100。

其中,公用交互系统200的形式可以是多种多样的,如交互媒介的功能主要包括:传递数据信息,传递同步信息,交互媒介的形式可以是通过文件、网络、驱动等。交互媒介所传输的同步信息可以是锁、信号、状态机等多种形式,在此不作具体限制。

进一步地,在本发明的一个实施例中,调试目标300包括:ejtagmaster301。其中,ejtagmaster301用于根据ejtag命令和编码数据得到ejtagtap序列,以通过ejtagio端口将ejtagtap序列写入处理器后进行调试。

其中,在本发明的一个实施例中,ejtagmaster还用于接收处理器发送的调试信号,并且根据调试信号得到执行结果数据。

可以理解的是,如图3所示,调试目标300主要是处理器仿真验证平台,在平台中主要ejtagmaster301通过ejtagio端口和处理器400进行交互。具体地,处理器的验证平台包括ejtagmaster301和处理器400。其中,ejtagmaster301主要是接受公用交互系统200中的调试软件100写入其中的ejtag命令,并将ejtag命令转变成ejtagtap信号,通用ejtag端口发送到处理器中。同时也负责接受ejtagtap反馈信号,将其转变成数据提交到公用交互系统200中。

举例而言,如图4所示,在整个仿真验证中软件调试处理器中,ejtagmaster301主要接受公用交互系统200中调试软件100写入ejtag命令解析成ejtagtap(调试接口)序列通过ejtagio(输入/输出)端口将ejtagtap(调试接口)序列写入处理器400。

其中,数据转换为tap(调试接口)信号主要是将调试软件100写入公用交互系统200中的ejtag命令和数据按照ejtag调试接口的时序状态规则将数据和命令转换成调试接口信号。

另外,调试接口信号转换为数据主要是通过接收调试信号将信号按照调试接口的时序和状态规则将信号转变成调试软件100需要的数据和命令,并且写入共用交互系统200中。

在本发明的实施例中,仿真通过公用交互系统200和ejtagmaster301主控驱动来替代实际真实情况中调试软件中的调试驱动接口和调试接口状态命令,起到与仿真中处理器的交互,通过将调试软件100中拆分ejtag命令到tap(调试接口)状态机的部分,移交到仿真环境内部的ejtagmaster控制器来完成,从而减少了交互次数,并且提高了交互效率。

根据本发明实施例的仿真模式下处理器的调试系统,通过建立软件和处理器公用交互系统,并且重新规划软件与仿真环境的交互协议使软件可以和处理器之间进行通信交互,从而实现了仿真模式下使用ejtag调试软件对处理器进行调试,可以在仿真模式下更加方便快捷的对处理器在调试模式下出现的错误进行定位,以及更加容易分析在调试模式下处理器出现的错误。

其次参照附图描述根据本发明实施例提出的仿真模式下处理器的调试方法的流程图。

图5是本发明实施例的仿真模式下处理器的调试方法的流程图。

如图5所示,该仿真模式下处理器的调试方法包括以下步骤:

在步骤s501中,接收用户命令,以根据用户命令生成ejtag命令。

在步骤s502中,通过公用交互系统将接收的ejtag命令转换为ejtagtap信号,并将ejtagtap信号发送至处理器中,以在仿真模式下进行调试。

在步骤s503中,显示用户命令的执行结果。

进一步地,在本发明的一个实施例中,在根据用户命令生成ejtag命令之后,还包括:根据ejtag命令得到编码数据后发送至公用交互系统,以读取公用交互系统发送的执行结果数据。

进一步地,在本发明的一个实施例中,将接收的ejtag命令转换为ejtagtap信号,进一步包括:根据ejtag命令和编码数据得到ejtagtap序列,以通过ejtagio端口将ejtagtap序列写入处理器后进行调试。

进一步地,在本发明的一个实施例中,在调试之后还包括:接收处理器发送的调试信号,并且根据调试信号得到执行结果数据。

可选地,在本发明的一个实施例中,公用交互系统的交互媒介为文件、网络和驱动中的一种或多种,且交互媒介的形势为文件、网络和驱动中的一种或多种。

需要说明的是,前述对仿真模式下处理器的调试系统实施例的解释说明也适用于该实施例的仿真模式下处理器的调试方法,此处不再赘述。

根据本发明实施例的仿真模式下处理器的调试系统,通过建立软件和处理器公用交互系统,并且重新规划软件与仿真环境的交互协议使软件可以和处理器之间进行通信交互,从而实现了仿真模式下使用ejtag调试软件对处理器进行调试,可以在仿真模式下更加方便快捷的对处理器在调试模式下出现的错误进行定位,以及更加容易分析在调试模式下处理器出现的错误。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1