CN101968759A - 具有断点功能的处理器芯片仿真器 - Google Patents
具有断点功能的处理器芯片仿真器 Download PDFInfo
- Publication number
- CN101968759A CN101968759A CN2009100576528A CN200910057652A CN101968759A CN 101968759 A CN101968759 A CN 101968759A CN 2009100576528 A CN2009100576528 A CN 2009100576528A CN 200910057652 A CN200910057652 A CN 200910057652A CN 101968759 A CN101968759 A CN 101968759A
- Authority
- CN
- China
- Prior art keywords
- breakpoint
- user program
- control module
- simulation control
- user
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种具有断点功能的处理器芯片仿真器,包括,连接在数据/地址总线上的仿真芯片、仿真控制模块和用户程序存储器;仿真芯片通过控制通道与仿真控制模块连接;仿真控制模块通过命令通道与PC机内的调试软件通信;所述调试软件中设置有多个断点,将所述断点进行分组;以组为单位,每组断点都有使能和禁止两种状态,各组断点处于何种状态由用户在调试软件中设置;调试用户程序时,只有处于使能状态的各组断点才发挥断点的作用,处于禁止状态的各组断点不起作用。本发明可以根据用户程序的程序模块划分有针对性地设置多组断点并使其处于使能或禁止状态,无需反复清除和重新设置断点,方便用户使用断点调试用户程序,提高程序的调试效率。
Description
技术领域
本发明涉及集成电路芯片仿真器领域,特别是涉及一种具有断点功能的处理器芯片仿真器。
背景技术
处理器芯片(即产品芯片)内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是处理器芯片仿真器。处理器芯片仿真器内使用替代处理器芯片的仿真芯片,配合仿真器其中的仿真控制模块、用户程序存储器等部件以及PC(personal computer,个人计算机)端的调试软件,实现对用户程序的仿真调试。断点是仿真器提供的基本的也是非常重要的一种调试手段,现有处理器芯片仿真器中,断点的功能是当用户程序执行到用户设置了断点标记处的程序地址处时,仿真芯片就停止工作,程序指针停在有断点标记处的程序地址上,用户可以根据用户程序开始执行后有没有在设置了断点的程序地址处停下,来判断用户程序是否执行到设置了断点的程序语句,这是一种常用且十分重要的调试手段。
但是,随着芯片功能越来越强大,用户程序存储器容量的不断增大,用户程序的大小和复杂度也在不断增加,在功能上也有越来越多的功能块(几个到几十个)。作为一种最常用的调试手段,用户在调试用户程序时在程序中设置的断点总个数也越来越多(几十到上百个),用户调试用户程序中不同功能模块时,往往需要在各个模块的对应程序段上设置多个断点。但是由于现有的处理器芯片仿真器只提供了单一的一种断点,所以无法由用户根据程序模块有针对性地分组设置和分组使能这些断点。在实际使用中,现有的处理器芯片仿真器使用断点调试用户程序的某个功能块时,其他暂时不需要或不想调试的有些功能块会先被执行到,那些功能块上如果有用户设置的断点,程序就会在那些功能块的断点上先停下来;而不是运行到待调试用户程序功能块的断点上,极大的干扰了待调试功能块的调试工作。现在的解决方法是,用户必须手动先清除掉待调试用户程序功能块之外,其他所有可能会被执行到的用户程序功能块上的所有断点,再设置和使用断点来调试待调试用户程序功能块。在实际调试过程中,用户程序的各个功能块往往是交叉调试的。假设用户程序有A,B,C…等多个功能块,调试完了用户程序的A功能块,必须先清除掉A功能块上的所有断点,再在B功能块上设置需要的断点;如果发现A功能块可能还有错误,并可能影响到了B功能块的功能,想暂时放下B功能块返回来再调试一下A功能块,此时,由于A功能块上的断点都早已被清除掉了,就必须先清除B功能块上的所有断点,再重新到A功能块重新设置一遍之前清除掉的断点,调试效率十分的低下。事实上,在用户程序实际调试过程中,由于用户程序的各个功能块往往具有一定的相关性,这样的交叉调试过程是经常发生的,给调试工作带了极大的不便。
发明内容
本发明要解决的技术问题是提供一种具有断点功能的处理器芯片仿真器,可以根据用户程序的程序模块划分有针对性地设置多组断点,方便用户使用断点调试用户程序,提高程序的调试效率。
为解决上述技术问题,本发明的具有断点功能的处理器芯片仿真器,包括:连接在数据/地址总线上的仿真芯片、仿真控制模块和用户程序存储器;所述仿真芯片通过控制通道与仿真控制模块连接;所述仿真控制模块通过命令通道与PC机内的调试软件通信;其中:所述调试软件中设置有多个断点,将所述断点进行分组;以组为单位,每组断点都有使能和禁止两种状态,各组断点处于何种状态由用户在所述调试软件中设置;调试用户程序时,只有处于使能状态的各组断点才发挥断点的作用,处于禁止状态的各组断点不起作用。
采用本发明的具有断点功能的处理器芯片仿真器,用户可以根据其用户程序的程序模块划分有针对性地设置多组断点,并能设置各组断点处于使能或者禁止状态。调试用户程序时,只有处于使能状态的各组断点才发挥断点的作用,处于禁止状态的各组断点不起作用。
调试各个不同程序模块时,用户只需要设置使能待调试程序模块对应的那些组的断点,禁止其他组的断点即可。如需调试另一个程序模块,只需要更改各个断点组的使能和禁止设置就可以了,无需反复清除和重新设置断点。充分地发挥了断点的强大调试功能,极大地方便了用户使用断点调试用户程序,有利于提高程序的调试效率。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
附图是本发明的具有断点功能的处理器芯片仿真器结构示意图。
具体实施方式
如图1所示,本发明的具有断点功能的处理器芯片仿真器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,如果不一致则不做任何操作。
PC机端的调试软件5中用户可以设置很多个断点,并对这些断点进行分组。以组为单位,每组断点都有使能和禁止两种状态,各组断点处于何种状态由用户在调试软件5中设置。用户可以在调试软件5中,重新设置各组断点处于使能或禁止状态。假设用户把的所有断点按其意愿分为5组,断点组A到断点组E,并设置断点组A,断点组C处于使能状态,其他断点组,也就是断点组B,断点组D,断点组E处于禁止状态。
仿真芯片2不工作、不运行用户程序时,调试软件5通过命令通道8把处于使能状态的那些组(断点组A,断点组C)内的断点地址信息发送给仿真控制模块4,调试软件5不把剩余的处于禁止状态的那些组(断点组B,断点组D,断点组E)内的断点地址信息发送给仿真控制模块4。用户程序运行过程中,如果调试软件5通过命令通道8接收到仿真控制模块4返回“遇到断点”的响应信息和断点地址,调试软件5就通过命令通道8向仿真控制模块4发出停止运行的命令,仿真控制模块4就会控制仿真芯片2停止执行用户程序,用户程序停在遇到断点的地址上。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (5)
1.一种具有断点功能的处理器芯片仿真器,包括,连接在数据/地址总线上的仿真芯片、仿真控制模块和用户程序存储器;所述仿真芯片通过控制通道与仿真控制模块连接;所述仿真控制模块通过命令通道与PC机端的调试软件通信;其特征在于:所述调试软件中设置有多个断点,将所述断点
进行分组;以组为单位,每组断点都有使能和禁止两种状态,各组断点处于何种状态由用户在所述调试软件中设置;调试用户程序时,只有处于使能状态的各组断点才发挥断点的作用,处于禁止状态的各组断点不起作用。
2.如权利要求1所述的仿真器,其特征在于:用户能在所述调试软件中根据调试用户程序的需要重新设置各组断点处于使能或禁止状态;仿真芯片不运行用户程序时,所述调试软件通过命令通道把处于使能状态的那些组内的断点地址信息发送给仿真控制模块,并且不发送处于禁止状态的那些组内的断点地址信息给仿真控制模块。
3.如权利要求1所述的仿真器,其特征在于:所述仿真芯片运行用户程序时,所述仿真控制模块通过命令通道与所述调试软件通信,接收停止运行的命令并通过控制通道控制仿真芯片停止运行用户程序;
所述仿真芯片运行用户程序时,所述仿真控制模块实时通过所述数据/地址总线查询当前执行的用户程序地址与其保存的断点地址是否一致,如果一致则通过命令通道返回“遇到断点”的响应信息和断点地址给所述调试软件,如果不一致则不做任何操作。
4.如权利要求3所述的仿真器,其特征在于:用户程序运行过程中,如果所述调试软件通过命令通道接收到仿真控制模块返回“遇到断点”的响应信息和断点地址,该调试软件则通过命令通道向仿真控制模块发出停止运行的命令,仿真控制模块则控制仿真芯片停止执行用户程序,用户程序停在遇到断点的地址上。
5.如权利要求1所述的仿真器,其特征在于:所述仿真芯片通过所述数据/地址总线从存储器读取并执行用户程序;所述仿真控制模块通过控制通道控制仿真芯片开始或停止运行用户程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100576528A CN101968759A (zh) | 2009-07-27 | 2009-07-27 | 具有断点功能的处理器芯片仿真器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100576528A CN101968759A (zh) | 2009-07-27 | 2009-07-27 | 具有断点功能的处理器芯片仿真器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101968759A true CN101968759A (zh) | 2011-02-09 |
Family
ID=43547918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100576528A Pending CN101968759A (zh) | 2009-07-27 | 2009-07-27 | 具有断点功能的处理器芯片仿真器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101968759A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055382A (zh) * | 2016-05-26 | 2016-10-26 | 北京中电华大电子设计有限责任公司 | 一种支持nvm掉电保护功能测试的仿真器 |
CN103207831B (zh) * | 2012-01-13 | 2017-03-15 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN106528414A (zh) * | 2016-11-03 | 2017-03-22 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN110968494A (zh) * | 2018-09-28 | 2020-04-07 | 珠海格力电器股份有限公司 | 一种软件调试方法、装置及计算机存储介质 |
CN111124789A (zh) * | 2019-11-19 | 2020-05-08 | 博流智能科技(南京)有限公司 | 一种芯片仿真调试系统及调试方法 |
-
2009
- 2009-07-27 CN CN2009100576528A patent/CN101968759A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207831B (zh) * | 2012-01-13 | 2017-03-15 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN106055382A (zh) * | 2016-05-26 | 2016-10-26 | 北京中电华大电子设计有限责任公司 | 一种支持nvm掉电保护功能测试的仿真器 |
CN106055382B (zh) * | 2016-05-26 | 2019-03-08 | 北京中电华大电子设计有限责任公司 | 一种支持nvm掉电保护功能测试的仿真器 |
CN106528414A (zh) * | 2016-11-03 | 2017-03-22 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN106528414B (zh) * | 2016-11-03 | 2018-12-11 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN110968494A (zh) * | 2018-09-28 | 2020-04-07 | 珠海格力电器股份有限公司 | 一种软件调试方法、装置及计算机存储介质 |
CN111124789A (zh) * | 2019-11-19 | 2020-05-08 | 博流智能科技(南京)有限公司 | 一种芯片仿真调试系统及调试方法 |
CN111124789B (zh) * | 2019-11-19 | 2023-07-14 | 博流智能科技(南京)有限公司 | 一种芯片仿真调试系统及调试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105224454B (zh) | 一种调试方法、多核处理器和调试设备 | |
DE69830718T2 (de) | Ablaufdaten-cachespeicher fuer mikroprozessorbasierte anordung | |
CN104008008B (zh) | 一种Linux系统中复用调试串口的方法 | |
CN101968759A (zh) | 具有断点功能的处理器芯片仿真器 | |
US20100235686A1 (en) | Execution history tracing method | |
CN102967815B (zh) | 芯片测试方法、自动化测试机和系统 | |
CN105550118B (zh) | 调试系统和调试方法 | |
CN105354136A (zh) | 一种调试方法、多核处理器和调试设备 | |
CN201497985U (zh) | 嵌入式设备辅助故障分析工具 | |
CN102467446A (zh) | 可设置程序指针值的处理器芯片仿真器 | |
CN100359486C (zh) | 一种调试操作系统内核态程序的方法及装置 | |
US9176821B2 (en) | Watchpoint support system for functional simulator | |
CN100487668C (zh) | 一种嵌入式处理器的调试方法 | |
US11409636B2 (en) | Processor including debug unit and debug system | |
CN101329647A (zh) | 一种仿真片内flash的仿真器 | |
CN201867793U (zh) | 基本输入/输出系统的调试系统 | |
CN113377701B (zh) | 基于复杂可编程逻辑器件cpld的串口控制系统及其通信方法 | |
CN101178685A (zh) | 带特殊功能寄存器断点的增强型微处理器片上动态跟踪方法 | |
WO2016184170A1 (zh) | Smi接口器件的调试装置及方法、存储介质 | |
US9342425B2 (en) | Test apparatus and test module | |
CN108153624B (zh) | 适用于ngff插槽的测试电路板 | |
CN102890661A (zh) | 一种主从机通讯协议 | |
CN101329650B (zh) | 智能卡仿真器 | |
CN104572515B (zh) | 跟踪模块、方法、系统和片上系统芯片 | |
CN101206613A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110209 |