一种处理器仿真调试方法及装置制造方法及图纸

技术编号:7517039 阅读:173 留言:0更新日期:2012-07-11 23:20
本发明专利技术公开了一种用于处理器仿真调试的方法。所述处理器仿真调试方法包括接收由调试器发送的调试命令;将调试命令转换为处理器调试接口可用的调试命令;以及将经过转换的调试命令传送到处理器调试接口。本发明专利技术提出的处理器仿真调试方法,通过在源代码仿真平台上建立调试器接入的接口,使得处理器在仿真运行时使用调试器进行交互调试。比起传统的处理器仿真调试方法来,本方法更适合对大型软件(如操作系统等)进行调试。本发明专利技术还公开了一种处理器仿真调试装置。

【技术实现步骤摘要】

本专利技术涉及处理器仿真的
,具体涉及处理器仿真的调试方法及调试装置。
技术介绍
随着集成电路的发展,越来越多的处理器投入设计,同时也包括片上系统。这些产品在开发中都需要进行仿真验证以保证功能的正确性,减少设计投入的风险。通常会在开发中使用仿真工具进行仿真,运行一些测试程序,并检查结果正确与否。对于仿真时发现的bug—般的调试方法是使用仿真工具抓取仿真程序的波形,然后对波形进行调试。这样的调试方法对于大型软件(比如Iinux操作系统)的调试就显得很不方便和直观,并且这种调试方法没有将软件调试和硬件调试分开,使得bug的定位不够迅速。所以就需要一种以软件工程师的视角来看待处理器逻辑仿真时出现的bug的调试方法。本专利技术提出的处理器仿真调试方法不改变软件人员常用的调试工具(比如GDB),也不改变处理器的结构和代码,仅使用处理器自带的调试接口(比如标准JTAG接口),也不改变处理器仿真平台的仿真工具,软件人员就可以使用熟悉的调试工具排除处理器仿真出现的bug。本专利技术要解决的技术问题是如何利用现有的调试工具和处理器自带的调试接口对处理器的仿真进行调试。
技术实现思路
根据本专利技术的第一方面,提供了一种利用调试器对处理器仿真进行调试的方法,其中所述调试器包括调试器接口,所述处理器包括处理器调试接口,该调试方法包括步骤a接收由调试器通过调试器接口发送的调试命令;步骤b将该调试命令转换为处理器调试接口可用的调试命令;以及步骤c将经过转换的调试命令传送到处理器调试接口。所述方法进一步包括所述处理器执行所述经过转换的调试命令并返回数据或应答,其中所述数据或应答表示处理器执行所述调试命令的结果或状态。其中,所返回的数据或应答被转换成所述调试器接口可用的格式并被发送到所述调试器接口。其中,在接收步骤之前,初始化所述调试器接口和所述处理器调试接口。其中,所述方法进一步包括对于不同的调试命令,重复执行所述步骤a、b和C。根据本专利技术的第二方面,提供了一种对处理器仿真进行调试的调试系统,所述调试系统包括调试器,其具有调试器接口 ;以及仿真调试装置,其与所述调试器接口和所述处理器的处理器调试接口耦合,用于将来自调试器的调试命令转换成处理器可用的调试命令并将经过转换的调试命令发送到所述处理器调试接口。其中,所述仿真调试装置还被配置为将处理器执行调试命令所返回的数据或应答转换成调试器可用的格式并将经过转换的数据或应答发送到调试器接口。其中,所述仿真调试装置包括调试器侧接口、处理器侧接口和调试命令通讯机构,其中调试器侧接口和处理器侧接口分别耦合到所述调试器接口和所述处理器调试接口,所述调试命令通讯机构用于在调试器侧接口和处理器侧接口之间传递命令和数据。其中,所述调试命令通讯机构包括命令通讯器,用于存放命令和数据;命令发送器,用于将调试命令放入命令通讯器中;命令检查器,用于检查所述命令通讯器中是否存在调试命令并且如果存在则取出所述命令;数据返回器,用于将处理器执行调试命令返回的数据放入命令通讯器中;应答返回器,用于将处理器执行调试命令返回的应答放入命令通讯器中;数据接收器,用于接收命令通讯器中由数据返回器放入的数据并将该数据发送到调试器接口 ;以及应答接收器,用于接收命令通讯器中由应答返回器放入的应答并将该应答发送到调试器接口。其中,所述调试命令通讯机构还包括命令地址发送器,用于将与调试命令有关的命令地址放入命令通讯器中;命令数据发送器,用于将调试命令的命令数据放入命令通讯器中;命令地址接收器,用于从命令通讯器中接收所述命令地址;以及命令数据接收器,用于从命令通讯器中接收所述命令数据。其中,所述处理器调试接口包括标准JTAG接口并且根据JTAG协议操作。其中,所述调试器接口包括⑶B接口并且根据RSP协议来操作。其中,所述命令通讯器由PLI或VPI来实现。其中,所述调试器侧接口、命令发送器、命令地址发送器、数据接收器和应答接收器由编程语言来实现,并且所述命令检查器、命令地址接收器、命令数据接收器、数据返回器和应答返回器由HDL来实现。其中,所述处理器使用HDL来描述。所述HDL包括Verilog或VHDL。根据本专利技术的第三方面,提供了一种在处理器仿真调试中使用的调试命令通讯机制,其中所述调试命令通讯机制使用调试命令通讯机构来实现,其中将来自调试器的调试命令存储在调试命令通讯机构中以使得处理器调试接口能够访问并且将来自处理器的执行调试命令的结果存储在所述调试命令通讯机构中以使得调试器能够访问。其中,所述机制要求仿真器支持HDL以及编程语言接口(PLI)和Verilog程序接口(VPI)之一。其中,所述机制包括将处理器调试接口与调试器接口使用编程语言接口描述使得命令在这两个接口之间进行交互。根据本专利技术的第四方面,提供了一种在处理器仿真调试中使用的仿真调试装置,所述仿真调试装置包括调试器侧接口,用于在调试器和仿真调试装置之间进行通信;处理器侧接口,用于在仿真调试装置和处理器之间进行通信;以及调试命令通讯机构,用于接收来自调试器侧接口的调试命令并将该调试命令发送到处理器侧接口以及用于将处理器返回的应答或数据从处理器侧接口发送到调试器侧接口。其中,所述调试器侧接口在发送来自调试器的调试命令之前将所述调试命令转换为处理器调试接口可用的调试命令。附图说明图1是根据本专利技术的处理器仿真调试框图;图2是根据本专利技术的处理器仿真调试装置的框图;以及图3是根据本专利技术的处理器仿真调试方法的流程图。具体实施例方式下面结合附图和具体实施例对本专利技术进一步详细描述。现在参照图1,图1示出了根据本专利技术的处理器仿真调试框图。如图1所示,由调试器100和仿真调试装置104的组合对处理器107进行调试。调试器100具有调试器接口101,调试器接口 101按照RSP (Remote Serial Protocol)协议操作。如本领域中已知的,RSP允许对嵌入式软件进行远程调试。一般而言,桌面平台的GDB用来调试本地计算机的软件,而要调试另一台计算机则可以用RSP链接。调试器100通过调试器接口 101可以发送遵循RSP协议的调试命令。如本领域技术人员所理解的,调试命令可以包括但不限于复位、中断等。另外,如本领域技术人员所理解的,所述调试命令是广义的,其包括具体要执行的命令(下文称为具体命令)、还可以包括与该命令有关的地址(下文称为命令地址)、与该命令有关的数据(下文称为命令数据),或包括具体命令和命令数据和/或命令地址的组合。另外,本专利技术中所用的调试器100可以是现有技术中已知的能够执行软件调试的任何调试工具,包括但不限于⑶B等。如图1所示,HDL仿真器108运行处理器107的仿真,该HDL仿真器108可以是本领域众所周知的仿真器。处理器107具有处理器调试接口 106,从处理器调试接口 106可以接收处理器107要执行的调试命令。处理器调试接口 106例如可以按照标准的JTAG (Joint Test Action Group)协议操作。仿真调试装置104包括调试器侧接口 102、调试命令通讯机构103、和处理器侧接口 105。调试器侧接口 102和处理器侧接口 105分别耦合到调试器接口 101和处理器调试接口 106。调试器侧接口 102例如可以由编程语言实现并且与调试器本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:杨耀武
申请(专利权)人:北京国睿中数科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术