CN101968764A - 具有断点功能的仿真器 - Google Patents
具有断点功能的仿真器 Download PDFInfo
- Publication number
- CN101968764A CN101968764A CN2009100576585A CN200910057658A CN101968764A CN 101968764 A CN101968764 A CN 101968764A CN 2009100576585 A CN2009100576585 A CN 2009100576585A CN 200910057658 A CN200910057658 A CN 200910057658A CN 101968764 A CN101968764 A CN 101968764A
- Authority
- CN
- China
- Prior art keywords
- breakpoint
- control module
- user program
- simulation control
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种具有断点功能的仿真器,包括:连接在数据/地址总线上的仿真芯片、仿真控制模块和用户程序存储器;仿真芯片通过控制通道与仿真控制模块连接;仿真控制模块通过命令通道与调试软件通信;调试软件中设置有两种断点,即标准断点和特殊断点;用户程序运行过程中,调试软件接收到仿真控制模块返回“遇到断点”的响应信息和断点地址后,首先判断是标准断点还是特殊断点;如果是特殊断点,调试软件在调试界面上用户程序中对应的特殊断点上打上标记,但不向仿真控制模块发送停止运行的命令。本发明能够方便地判断出用户程序的执行轨迹,提高调试效率,且结构简单,不会增加仿真器的成本。
Description
技术领域
本发明涉及集成电路芯片仿真器领域,特别是涉及一种具有断点功能的仿真器。
背景技术
处理器芯片(即产品芯片)内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是处理器芯片仿真器。处理器芯片仿真器内使用替代处理器芯片的仿真芯片,配合仿真器中的仿真控制模块、用户程序存储器等部件以及PC(personal computer,个人计算机)机端的调试软件,实现对用户程序的仿真调试。断点是仿真器提供的基本的也是非常重要的一种调试手段,现有处理器芯片仿真器中,断点的功能是当用户程序执行到用户设置了断点标记处的程序地址处时,仿真芯片就停止工作,程序指针停在有断点标记处的程序地址上,用户可以根据用户程序开始执行后有没有在设置了断点的程序地址处停下,来判断用户程序是否执行到设置了断点的程序语句,这是一种常用且十分重要的调试手段。
但是,在实际应用中,特别是使用现有仿真器配合其他终端设备仿真调试用户程序在仿真芯片上运行并与终端设备两者通信的过程中,断点的使用却受到了很大限制。很多终端设备在通信过程中,如果在规定的时间内没有收到响应信息的话,就会认为通信出错,并通过通信通道发出复位请求或通过复位引脚发出复位信号。例如,读卡机(终端设备)与智能卡仿真器配合调试智能卡用户程序的通信部分时,如果读卡机的命令发出后,没有在ISO7816协议规定的时间内收到智能卡仿真器返回响应信息,就会认为通信出错,并发出复位信号,通信过程也无法继续下去。类似的还用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持续在运行用户程序。这样用户只需要观察调试界面上,用户程序中哪些特殊断点被打上了标记,就可以了解到用户程序执行过程中的运行轨迹。这就是所述标准断点和特殊断点的主要区别。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (3)
1.一种具有断点功能的仿真器,包括:连接在数据/地址总线上的仿真芯片、仿真控制模块和用户程序存储器;所述仿真芯片通过控制通道与仿真控制模块连接;所述仿真控制模块通过命令通道与PC机端的调试软件通信;其特征在于:所述调试软件中设置有两种断点,即标准断点和特殊断点;用户程序运行过程中,所述调试软件通过命令通道接收到仿真控制模块返回“遇到断点”的响应信息和断点地址后,首先根据返回的断点地址判断是标准断点还是特殊断点;
如果是标准断点,所述调试软件通过命令通道向仿真控制模块发出停止运行的命令,仿真控制模块控制仿真芯片停止执行用户程序;
如果是特殊断点,所述调试软件在调试界面上用户程序中对应的特殊断点上打上标记,但不通过命令通道向仿真控制模块发送停止运行的命令,仿真芯片持续在运行用户程序。
2.如权利要求1所述的仿真器,其特征在于:所述仿真芯片不工作,不运行用户程序时,所述调试软件通过命令通道把标准断点和特殊断点的断点地址发送给仿真控制模块,对仿真控制模块而言,接收到的标准断点和特殊断点的断点地址信息没有区别。
3.如权利要求1所述的仿真器,其特征在于:所述仿真芯片运行用户程序时,所述仿真控制模块通过命令通道与调试软件通信,接收停止运行的命令并通过控制通道控制仿真芯片停止运行用户程序;
所述仿真芯片运行用户程序时,所述仿真控制模块实时通过所述数据/地址总线查询当前执行的用户程序地址与其保存的断点地址是否一致,如果一致则通过命令通道返回“遇到断点”的响应信息和断点地址给调试软件,如果不一致则不做任何操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100576585A CN101968764B (zh) | 2009-07-27 | 2009-07-27 | 具有断点功能的仿真器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100576585A CN101968764B (zh) | 2009-07-27 | 2009-07-27 | 具有断点功能的仿真器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101968764A true CN101968764A (zh) | 2011-02-09 |
CN101968764B CN101968764B (zh) | 2012-06-27 |
Family
ID=43547924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100576585A Expired - Fee Related CN101968764B (zh) | 2009-07-27 | 2009-07-27 | 具有断点功能的仿真器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101968764B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677953A (zh) * | 2012-09-25 | 2014-03-26 | 上海华虹集成电路有限责任公司 | 可设置程序指针值的仿真器 |
CN107239614A (zh) * | 2017-06-05 | 2017-10-10 | 芯海科技(深圳)股份有限公司 | 一种外部事件触发断点的芯片仿真方法 |
CN115018466A (zh) * | 2022-06-28 | 2022-09-06 | 北京世冠金洋科技发展有限公司 | 仿真控制方法及装置、存储介质及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154183B (zh) * | 2006-09-29 | 2011-12-28 | 上海海尔集成电路有限公司 | 一种微控制器嵌入式在线仿真调试系统 |
CN101154184A (zh) * | 2006-09-29 | 2008-04-02 | 上海海尔集成电路有限公司 | 一种微控制器jtag调试方法 |
-
2009
- 2009-07-27 CN CN2009100576585A patent/CN101968764B/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677953A (zh) * | 2012-09-25 | 2014-03-26 | 上海华虹集成电路有限责任公司 | 可设置程序指针值的仿真器 |
CN107239614A (zh) * | 2017-06-05 | 2017-10-10 | 芯海科技(深圳)股份有限公司 | 一种外部事件触发断点的芯片仿真方法 |
CN115018466A (zh) * | 2022-06-28 | 2022-09-06 | 北京世冠金洋科技发展有限公司 | 仿真控制方法及装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101968764B (zh) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101154183B (zh) | 一种微控制器嵌入式在线仿真调试系统 | |
CN103744761A (zh) | 一种控制多台移动终端自动执行任务的方法及系统 | |
CN101562906A (zh) | 一种自动适配多种制式无线数据卡的方法及装置 | |
CN100487668C (zh) | 一种嵌入式处理器的调试方法 | |
CN101968764B (zh) | 具有断点功能的仿真器 | |
CN101968762B (zh) | Nfc-sim卡芯片仿真器 | |
CN101968761B (zh) | 非接触式智能卡仿真器 | |
CN101206613A (zh) | 高速基本输入/输出系统调试卡 | |
CN101751323A (zh) | 微处理器芯片仿真器及断点设置的方法 | |
CN112380066A (zh) | 一种基于国产平台的服务器维护调试装置及服务器 | |
CN101968759A (zh) | 具有断点功能的处理器芯片仿真器 | |
EP2620899B1 (en) | Smart chip and method for smart chip data communications | |
CN101751324B (zh) | 非接触式智能卡仿真器及工作模式切换方法 | |
CN101329648B (zh) | 可调试atr的接触式智能卡仿真器 | |
CN100394359C (zh) | 一种用于智能卡仿真调试系统的接口 | |
CN201378317Y (zh) | 一种采用jtag方式的代码下载系统 | |
CN101131668A (zh) | 双界面智能卡仿真卡 | |
CN204288237U (zh) | 一种网络读卡器 | |
CN106406154A (zh) | 侦错系统及其控制方法 | |
CN101923631B (zh) | 基于cpld的低频id卡实时模拟器 | |
CN101131665A (zh) | 通用智能卡仿真器 | |
CN111443994A (zh) | 一种模拟智能卡驱动程序、信息交互系统及其工作方法 | |
CN205845211U (zh) | 一种多功能公共交通卡充移资pos机 | |
CN205621035U (zh) | 送变电工艺卡管理系统 | |
CN106407064B (zh) | 双界面智能卡芯片仿真器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120627 Termination date: 20200727 |