仿真器的制作方法

文档序号:16621460发布日期:2019-01-15 23:47阅读:161来源:国知局
仿真器的制作方法

本实用新型涉及处理器芯片调试领域,特别是涉及一种仿真器。



背景技术:

处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是仿真器。仿真器内使用包含产品处理器芯片各项功能的仿真芯片,用于模拟产品处理器芯片的工作行为,仿真芯片与仿真器其它部件(存放用户程序的程序存储器、存放数据的数据存储器,以及用户电脑上的集成开发环境等)配合实现用户程序的仿真运行和各项调试功能。

用户程序调试过程中经常会遇到代码执行过程中出现代码执行异常,也就是代码跑飞,执行到了非预期的代码地址空间的情况,用户非常希望能有调试手段准确地寻找到执行哪一句代码时,触发了非预期的代码执行异常,以及跑飞后的代码地址,以便进一步分析和调试。

使用现有的仿真器,调试中出现上述问题时,只能采用不断设置代码断点,配合使用单步来逐步逼近寻找定位在执行了哪一句代码时,触发了非预期的代码执行异常,非常麻烦、调试效率低下。同时,如果代码执行异常跑飞的情况不是每次执行代码时都稳定发生的,或者触发代码异常跑飞的代码语句有多条时,采用上述调试方法将更加困难。



技术实现要素:

本实用新型要解决的技术问题是提供一种仿真器,在出现代码执行异常时,能够立即触发断点功能。

为解决上述技术问题,本实用新型的仿真器,包括:地址比较模块、处理器核、断点地址范围寄存器、调试模块和用户电脑;所述地址比较模块通过一组地址线与处理器核相连接,通过断点触发信号线与调试模块相连接,通过一组数据读取线与断点地址范围寄存器相连接;所述断点地址范围寄存器通过一组数据写入线与调试模块相连接,所述调试模块通过调试通道与用户电脑相连接。

所述用户电脑上安装有集成开发环境模块,所述调试模块通过调试通道与安装在用户电脑上的集成开发环境模块相连接。

由于采用本实用新型的仿真器,能够在用户程序代码执行过程中,出现取代码的地址超出了指定地址范围时,立即触发断点功能,用户程序立即停止执行,且程序执行地址指针停止在触发代码执行异常跑飞前所执行的用户程序语句地址上,并通过调试界面显示给用户查看。这样,极大地方便了用户调试、定位代码执行异常错误,提高了代码开发和调试的效率。

附图说明

下面结合附图和具体实施方式对本实用新型作进一步详细的说明:

图1是所述仿真器一实施例的结构示意图。

具体实施方式

如图1所示,所述仿真器1在下面的实施例中,包括:地址比较模块2、处理器核6、断点地址范围寄存器3、调试模块4和集成开发环境模块5。所述地址比较模块2通过一组地址线11与处理器核6相连接,通过断点触发信号线7与调试模块4相连接,通过一组数据读取线9与断点地址范围寄存器3相连接。所述断点地址范围寄存器3通过一组数据写入线10与调试模块4相连接。调试模块4通过调试通道8与用户电脑上的集成开发环境模块5相连接。

不执行用户程序代码,处于调试状态时,用户在所述集成开发环境模块5上通过调试通道8向调试模块4下发需要设置的正常用户代码地址范围数据,所述调试模块4通过数据写入线10把所述正常用户代码地址范围数据写入到断点地址范围寄存器3中。此时,所述断点地址范围寄存器3中存放着用户设置的正常用户代码地址范围数据。

用户程序代码开始全速执行,所述地址比较模块2通过地址线11实时获取来自处理器核6的取下一条要执行的代码语句时的代码语句地址信息,通过数据读取线9从所述断点地址范围寄存器3中读取正常用户代码地址范围数据,并比对和判断所述下一条要执行的代码语句地址是否在所述正常用户代码地址范围内。如果在正常用户代码地址范围内,则不通过断点触发信号线7向调试模块4发出触发断点信号;如果不在正常用户代码地址范围内,则马上通过断点触发信号线7向调试模块4发出触发断点信号。所述调试模块4接收到触发断点信号后,马上停止执行用户程序,并把停止执行时的用户程序地址通过调试通道8发送给集成开发环境模块5显示出来。

这样所实现的仿真器1就能不断地实时采集、比较下一条要执行的代码语句地址是否在预设的正常地址范围内,一旦发现马上要出现代码跑飞的情况就会触发断点,立即停止代码执行,由于是在取下一条代码地址时发现的代码地址异常并触发了断点停止代码执行,集成开发环境模块5上显示指向的就是触发断点时当前执行的代码语句,也就是将会触发代码执行异常跑飞前所执行的用户程序语句。

同时,采用本实用新型的仿真器1,如果代码执行异常跑飞的情况不是每次执行代码时都稳定发生的,也能在发生时停止在触发异常跑飞的代码语句上。并且,在触发代码异常跑飞的代码语句有多条时,都能停止在各条触发异常跑飞的代码语句上。

所述地址比较模块2、断点地址范围寄存器3和调试模块4都可使用FPGA(Field-Programmable Gate Array,即现场可编程门阵列)中的逻辑资源和寄存器资源配合逻辑设计实现。

以上通过具体实施方式对本实用新型进行了详细的说明,但这些并非构成对本实用新型的限制。在不脱离本实用新型原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本实用新型的保护范围。

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