具有断点功能的仿真器制造技术

技术编号:3822761 阅读:230 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种具有断点功能的仿真器,包括:连接在数据/地址总线上的仿真芯片、仿真控制模块和用户程序存储器;仿真芯片通过控制通道与仿真控制模块连接;仿真控制模块通过命令通道与调试软件通信;调试软件中设置有两种断点,即标准断点和特殊断点;用户程序运行过程中,调试软件接收到仿真控制模块返回“遇到断点”的响应信息和断点地址后,首先判断是标准断点还是特殊断点;如果是特殊断点,调试软件在调试界面上用户程序中对应的特殊断点上打上标记,但不向仿真控制模块发送停止运行的命令。本发明专利技术能够方便地判断出用户程序的执行轨迹,提高调试效率,且结构简单,不会增加仿真器的成本。

【技术实现步骤摘要】

本专利技术涉及集成电路芯片仿真器领域,特别是涉及一种具有断点功能的仿真器
技术介绍
处理器芯片(即产品芯片)内有用户开发的用户程序,在用户程序的编写和调 试中,所使用的工具一般是处理器芯片仿真器。处理器芯片仿真器内使用替代处理器芯 片的仿真芯片,配合仿真器中的仿真控制模块、用户程序存储器等部件以及PC (personal computer,个人计算机)机端的调试软件,实现对用户程序的仿真调试。断点是仿真器提供 的基本的也是非常重要的一种调试手段,现有处理器芯片仿真器中,断点的功能是当用户 程序执行到用户设置了断点标记处的程序地址处时,仿真芯片就停止工作,程序指针停在 有断点标记处的程序地址上,用户可以根据用户程序开始执行后有没有在设置了断点的程 序地址处停下,来判断用户程序是否执行到设置了断点的程序语句,这是一种常用且十分 重要的调试手段。但是,在实际应用中,特别是使用现有仿真器配合其他终端设备仿真调试用户程 序在仿真芯片上运行并与终端设备两者通信的过程中,断点的使用却受到了很大限制。很 多终端设备在通信过程中,如果在规定的时间内没有收到响应信息的话,就会认为通信出 错,并通过通信通道发出复位请求或通过复位引脚发出复位信号。例如,读卡机(终端设 备)与智能卡仿真器配合调试智能卡用户程序的通信部分时,如果读卡机的命令发出后, 没有在IS07816协议规定的时间内收到智能卡仿真器返回响应信息,就会认为通信出错, 并发出复位信号,通信过程也无法继续下去。类似的还用PC机(终端设备)与USB芯片仿真 器通信过程的调试等等。如果用户需要调试用户程序的通信部分,并在这部分程序上设置 了多个断点,那么现有的仿真器在执行用户程序配合终端设备通信过程中,遇到第一个断 点仿真器内的仿真芯片就会停止工作,终端设备就会因为仿真器停止工作而收不到任何响 应信息,终端设备就会停止通信过程,并要求复位仿真芯片和用户程序,这样用户所设置的 此后的其他断点都无法发挥作用。所以,在使用断点调试用户程序的通信部分时,由于只会 有一个断点(用户程序执行到的第一个断点)起作用,如果要了解用户程序中通信部分代 码的执行轨迹,必须每次设置一个断点(即使设置了多个断点,除了第一个执行到的断点, 所设置的其他断点均没有实际意义),启动终端设备和仿真器通信一次,再重新在用户程序 的下一个位置设置断点,重复此过程才能得到需要的用户程序执行轨迹,十分的不方便。另外,虽然高端仿真器提供的跟踪存储功能,在大容量存储器的配合下可以记录 下所有执行过的用户程序语句,也可以帮助用户了解通信过程中用户程序运行的轨迹。但 是这类仿真器复杂度高、普遍价格高昂,存储的用户程序执行轨迹跨度也受存储器容量的 限制。
技术实现思路
本专利技术要解决的技术问题是提供一种具有断点功能的仿真器,能够方便地判断出用户程序的执行轨迹,提高调试效率,且结构简单,不会增加仿真器的成本。为解决上述技术问题,本专利技术的具有断点功能的仿真器,包括连接在数据/地址 总线上的仿真芯片、仿真控制模块和用户程序存储器;所述仿真芯片通过控制通道与仿真 控制模块连接;所述仿真控制模块通过命令通道与PC机端的调试软件通信;其特征在于 所述调试软件中设置有两种断点选项,即标准断点和特殊断点;用户程序运行过程中,所述 调试软件通过命令通道接收到仿真控制模块返回“遇到断点”的响应信息和断点地址后,首 先根据返回的断点地址判断是标准断点还是特殊断点;如果是标准断点,所述调试软件通过命令通道向仿真控制模块发出停止运行的命 令,仿真控制模块控制仿真芯片停止执行用户程序;如果是特殊断点,所述调试软件在调试界面上用户程序中对应的特殊断点上打上 标记,但不通过命令通道向仿真控制模块发送停止运行的命令,仿真芯片持续在运行用户 程序。采用本专利技术的具有断点功能的仿真器,除了保留传统的标准断点外,还向用户提 供一种特殊的断点,在调试用户程序的通信部分时,用户可以在通信部分一次性设置多个 所述的特殊断点,通信过程可以正常完成,用户也可清楚地看到用户程序执行过程中经过 了哪些用户所设置的特殊断点,并据此方便地判断出用户程序的执行轨迹。本专利技术的仿真器结构简单,没有增加硬件成本,记录的用户程序执行轨迹跨度不 受限制。方便了用户通过仿真器调试用户程序,特别是与终端设备的通信部分程序,有利于 提高调试效率。附图说明下面结合附图和具体实施方式对本专利技术作进一步详细的说明附图是本专利技术的具有断点功能的仿真器结构示意图。具体实施例方式如图所示,本专利技术的具有断点功能的仿真器1,包括仿真芯片2,用户程序存储器 3,仿真控制模块4,以及PC机端的调试软件5。所述仿真芯片2通过标准的数据/地址总 线6与用户程序存储器3连接,所述标准的数据/地址总线6还与仿真控制模块4连接。所 述仿真芯片2通过控制通道7与仿真控制模块4连接。所述仿真控制模块4通过命令通道 与PC机端的调试软件5通信。用户程序存储器3内存放用户程序。仿真芯片2通过所述数据/地址总线6从用 户程序存储器3读取并执行用户程序。所述仿真控制模块4通过控制通道7控制仿真芯片 2开始或停止运行用户程序。仿真芯片2不工作、不运行用户程序时,所述仿真控制模块4 通过命令通道8与PC机端的调试软件5通信,接收并保存用户在调试软件5中设置的断点 在用户程序中的地址(一般简称断点地址),接收开始运行的命令并通过控制通道7控制 仿真芯片2开始运行用户程序。仿真芯片2运行用户程序时,所述仿真控制模块4通过命 令通道8与PC机端的调试软件5通信,接收停止运行的命令并通过控制通道7控制仿真芯 片2停止运行用户程序。仿真芯片2运行用户程序时,所述仿真控制模块4实时通过所述 的数据/地址总线6查询当前执行的用户程序地址与其保存的断点地址是否一致,如果一致则通过命令通道8返回“遇到断点”的响应信息和断点地址给PC机端的调试软件5,如果 不一致则不做任何操作。调试软件5中设置有两种断点选项,即标准断点和特殊断点,用户可以在调试软 件5中选择设置标准断点或特殊断点。相比于现有仿真器调试软件中只设置有“标准断点” 这一种断点选项,在本专利技术的调试软件5中增加一个特殊断点的设置选项,对用户而言在 用户程序中设置标准断点或特殊断点,在设置方法上没有本质上的区别。仿真芯片2不工 作、不运行用户程序时,PC机端的调试软件5通过命令通道8把标准和特殊断点在用户程 序中的地址发送给仿真控制模块4,对仿真控制模块4而言,接收到的标准断点和特殊断点 的断点地址信息没有区别。用户程序运行过程中,如果调试软件5通过命令通道8接收到 仿真控制模块4返回“遇到断点”的响应信息和断点地址,调试软件5首先根据返回的断点 地址信息判断这一断点是用户所设置的标准断点还是特殊断点;如是标准断点,调试软件 5则通过命令通道8向仿真控制模块4发出停止运行的命令,仿真控制模块4就会控制仿真 芯片2停止执行用户程序,这与现有仿真器中的标准断点功能是一致的;如是特殊断点,调 试软件5就在调试界面上用户程序中对应的特殊断点上打上标记,但不通过命令通道8向 仿真控制模块4发送停止运行的命令,仿真芯片2持续在运行用户程序。这样用户只需要 观察调试界面上,用户程序中哪些特殊断点被打上了标记本文档来自技高网
...

【技术保护点】
一种具有断点功能的仿真器,包括:连接在数据/地址总线上的仿真芯片、仿真控制模块和用户程序存储器;所述仿真芯片通过控制通道与仿真控制模块连接;所述仿真控制模块通过命令通道与PC机端的调试软件通信;其特征在于:所述调试软件中设置有两种断点,即标准断点和特殊断点;用户程序运行过程中,所述调试软件通过命令通道接收到仿真控制模块返回“遇到断点”的响应信息和断点地址后,首先根据返回的断点地址判断是标准断点还是特殊断点;如果是标准断点,所述调试软件通过命令通道向仿真控制模块发出停止运行的命令,仿真控制模块控制仿真芯片停止执行用户程序;如果是特殊断点,所述调试软件在调试界面上用户程序中对应的特殊断点上打上标记,但不通过命令通道向仿真控制模块发送停止运行的命令,仿真芯片持续在运行用户程序。

【技术特征摘要】

【专利技术属性】
技术研发人员:许国泰
申请(专利权)人:上海华虹集成电路有限责任公司
类型:发明
国别省市:31

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

1