实时显示调试信息的仿真器的制作方法

文档序号:6582311阅读:198来源:国知局
专利名称:实时显示调试信息的仿真器的制作方法
技术领域
本发明涉及仿真器领域,特别是涉及一种能够实时显示客户关心的调试信息的仿真器。
背景技术
处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工 具一般是处理器芯片仿真器。仿真器内使用替代处理器芯片产品芯片的仿真芯片,配合仿 真器中的仿真控制模块、用户程序存储器等部件以及PC端的调试软件,实现对用户程序的 仿真调试。调试信息的观察是仿真器提供的基本的也是非常重要的一种调试手段,这些调 试信息包括存储器内数据值的变化、寄存器数值的变化、程序运行指针的变化等等。现有仿 真器中,调试信息观察的功能是必须在仿真芯片停止执行用户程序后,由仿真器取出仿真 芯片此时的各项调试信息供用户观察的。现有仿真器的仿真芯片在执行用户程序时,仿真 器不与仿真芯片通信,因此仿真器也无法实时地取出仿真芯片的各项调试信息送到PC端 的调试软件供用户实时观察的。如果仿真芯片在执行用户程序时,仿真器与仿真芯片通信 实时获取调试信息,由于通信过程中需要仿真芯片处理器的参与,通信中仿真芯片不能执 行用户程序,这会极大降低仿真芯片执行用户程序的速度,使用户程序在仿真器上执行的 效果与在实际产品芯片上执行的效果相差巨大,这是用户不可接受的。但是,另一方面,用 户程序执行过程中,有些调试信息,例如寄程序运行指针值、某个存器数值的变化又是用户 非常关心的,如果它们的数值在用户程序执行过程中可以被实时观察到,将会对用户调试 用户程序带来极大的便利,提高调试效率。同时,用户程序执行过程中,用户并不是关心所 有调试信息的实时变化情况,关心的通常只是寄程序运行指针值等几个对其用户程序而言 比较关键的调试信息值的实时变化情况。

发明内容
本发明要解决的技术问题是提供一种实时显示调试信息的仿真器,仿真器在全速 执行用户程序时,用户关心的部分调试信息可以实时显示在PC端的调试软件中,使用户可 以观察到所关心的这些调试信息在用户程序运行中的实时变化情况。为解决上述技术问题,本发明的实时显示调试信息的仿真器是通过以下技术方案 实现的所述仿真器包括仿真芯片、仿真管理模块,以及PC端的调试软件;用户程序在所述 仿真芯片中执行;其中所述仿真芯片内包括一组对用户程序是不可见的镜像寄存器单元,用户程序不能 操作所述镜像寄存器单元,所述镜像寄存器单元是仿真芯片中某些寄存器和存储器单元的镜像,仿真芯片在 执行用户程序时,对某些寄存器和/或存储器单元进行了改写,如果存在与这些被改写的 寄存器和/或存储器单元对应的镜像寄存器单元,仿真芯片在改写这些寄存器、存储器单 元数值的同时,也会改写与之对应的镜像寄存器单元中的数值,使所述镜像寄存器单元中的数值始终与仿真芯片中与之对应的寄存器、存储器单元中的数值保持一致;仿真芯片全速执行用户程序时,所述仿真管理模块通过信息读取通道读取所述镜 像寄存器单元组中各个镜像寄存器单元中的数值;所述仿真管理模块通过数据通道实时地向PC端的调试软件传递数据,调试软件 将接收到的数据实时显示出来。采用本发明的仿真器,在全速执行用户程序时,用户关心的部分调试信息可以实 时显示在PC端的调试软件中,使用户可以观察到这些所关心的调试信息在用户程序运行 中的实时变化情况,且不影响仿真器中仿真芯片执行用户程序的速度。即保证了用户程序 全速执行的真实性,又向用户提供了有效的调试手段,有利于提高用户的调试效率。


下面结合附图和具体实施方式
对本发明作进一步详细的说明附图是采用本发明的仿真器一实施例结构示意图。
具体实施例方式如图所示,在一实施例中所述实时显示调试信息的仿真器1包括仿真芯片2、仿 真管理模块3,以及安装在PC机5上的调试软件。用户程序在仿真芯片2中执行。所述仿真芯片2内包含由若干个镜像寄存器单元组成的镜像寄存器单元组4。该 镜像寄存器单元组4对用户程序是不可见的,用户程序不能操作镜像寄存器单元组4中的 各个镜像寄存器单元,因此也不会影响用户程序在仿真芯片2中执行的效果。镜像寄存器 单元组4中的各个镜像寄存器单元是仿真芯片2中某些寄存器、存储器单元的镜像。仿真 芯片2在执行用户程序时,对某些寄存器和/或存储器单元进行了改写,如果镜像寄存器单 元组4存在与这些寄存器、存储器单元对应的镜像寄存器单元,仿真芯片2在改写这些寄存 器、存储器单元数值的同时,也会改写与之对应的镜像寄存器单元中的数值,使这些镜像寄 存器单元中的数值始终与仿真芯片中与之对应的寄存器、存储器单元中的数值保持一致。所述仿真管理模块3与仿真芯片2的镜像寄存器单元组4之间有一条信息读取通 道6 ;仿真芯片2全速执行用户程序时,仿真管理模块3通过信息读取通道6实时读取镜像 寄存器单元组4中各个镜像寄存器单元中的数值。所述信息读取通道6是单向的,仿真管 理模块3只能通过信息读取通道6读取镜像寄存器单元组4中各个镜像寄存器单元中的数 据,不能通过信息读取通道6向镜像寄存器单元组中各个镜像寄存器单元写入数据。所述仿真管理模块3与仿真芯片2之间有一条通信通道7,在仿真芯片2不执行用 户程序时通过通信通道7与仿真管理模块3通信,实现仿真管理模块3对仿真芯片2的控 制,在仿真芯片2执行用户程序时通信通道7不工作,不会干扰或影响仿真芯片2执行用户 程序,这与现有仿真器中仿真管理模块与仿真芯片间的通信通道是类似的。所述仿真管理模块3与PC机5之间有一条数据通道8,仿真管理模块3通过该数 据通道8实时地向PC机5上的调试软件传递数据,所述调试软件能把接收到的数据实时显 示出来。这样,在不运行用户程序时,本发明的仿真器1可以实现现有仿真器的各项功能。 在全速运行用户程序时,本发明的仿真器1中,如果仿真芯片2在执行用户程序时,对用户关心的某些寄存器和/或存储器单元进行了改写,那么仿真芯片2也会同时改写与这些寄 存器和/或存储器单元对应的镜像寄存器单元组4中的镜像寄存器单元的数值。由于是同 时改写,并不会影响仿真芯片2执行用户程序的速度。仿真管理模块3实时地读取到镜像 寄存器单元组4中的这些镜像寄存器单元中的数值,并传递给PC机5上的调试软件,由调 试软件实时地显示出来,用户就可以在用户程序全速运行时实时地观察到所关心的调试信 息,也就是那些寄存器和/或存储器单元中的数值变化了。此外,由于用户程序执行过程中,用户并不是关心所有调试信息的实时变化情况, 关心的通常只是寄程序运行指针值等几个对其用户程序而言比较关键的调试信息值的实 时变化情况,数量比较有限,因此本发明的仿真器1中镜像寄存器单元组4中的镜像寄存器 单元个数不会很多,不会增加仿真芯片2设计的复杂度。以上通过具体实施例对本发明进行了详细的说明,但这些并非构成对本发明的限 制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应 视为本发明的保护范围。
权利要求
1.一种实时显示调试信息的仿真器,所述仿真器包括仿真芯片、仿真管理模块,以及 PC端的调试软件;用户程序在所述仿真芯片中执行;其特征在于所述仿真芯片内包括一组对用户程序是不可见的镜像寄存器单元,用户程序不能操作 所述镜像寄存器单元,所述镜像寄存器单元是仿真芯片中某些寄存器、存储器单元的镜像,仿真芯片在执行 用户程序时,对某些寄存器和/或存储器单元进行了改写,如果存在与这些被改写的寄存 器和/或存储器单元对应的镜像寄存器单元,仿真芯片在改写这些寄存器、存储器单元数 值的同时,也会改写与之对应的镜像寄存器单元中的数值,使所述镜像寄存器单元中的数 值始终与仿真芯片中与之对应的寄存器、存储器单元中的数值保持一致;仿真芯片全速执行用户程序时,所述仿真管理模块通过信息读取通道读取所述镜像寄 存器单元组中各个镜像寄存器单元中的数值;所述仿真管理模块通过数据通道实时地向PC端的调试软件传递数据,所述调试软件 将接收到的数据实时显示出来。
2.如权利要求1所述的仿真器,其特征在于所述信息读取通道是单向的,仿真管理模 块只能通过所述信息读取通道读取镜像寄存器单元组中的数据,不能通过所述信息读取通 道向镜像寄存器单元组写入数据。
3.如权利要求1所述的仿真器,其特征在于在仿真芯片不执行用户程序时,通过通信 通道与仿真管理模块通信,实现仿真管理模块对仿真芯片的控制,在仿真芯片执行用户程 序时所述通信通道不工作。
全文摘要
本发明公开了一种实时显示调试信息的仿真器,仿真器包括仿真芯片、仿真管理模块,以及PC端的调试软件;仿真芯片内包括一组对用户程序是不可见的镜像寄存器单元,用户程序不能操作所述镜像寄存器单元;镜像寄存器单元是仿真芯片中某些寄存器、存储器单元的镜像,仿真芯片在改写寄存器、存储器单元数值的同时,也会改写与之对应的镜像寄存器单元中的数值;仿真芯片全速执行用户程序时,仿真管理模块通过信息读取通道读取镜像寄存器单元组中各个镜像寄存器单元中的数值;仿真管理模块通过数据通道实时地向PC端的调试软件传递数据,调试软件将接收到的数据实时显示出来。本发明可用户观察到所关心的调试信息在用户程序运行中的实时变化情况。
文档编号G06F11/36GK102110045SQ20091020203
公开日2011年6月29日 申请日期2009年12月24日 优先权日2009年12月24日
发明者许国泰, 贾峻 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1