CN101968760B - Arm核处理器芯片仿真器 - Google Patents
Arm核处理器芯片仿真器 Download PDFInfo
- Publication number
- CN101968760B CN101968760B CN2009100576532A CN200910057653A CN101968760B CN 101968760 B CN101968760 B CN 101968760B CN 2009100576532 A CN2009100576532 A CN 2009100576532A CN 200910057653 A CN200910057653 A CN 200910057653A CN 101968760 B CN101968760 B CN 101968760B
- Authority
- CN
- China
- Prior art keywords
- jtag
- module
- debugging
- chip
- response
- 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.)
- Active
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种ARM核处理器芯片仿真器,包括:仿真芯片,隔离模块,JTAG调试模块;所述隔离模块受外部复位信号控制;当外部复位信号有效时,如果隔离模块接收到符合JTAG协议的全速运行或单步命令,则自动构成“错误命令”响应,并向JTAG调试模块返回该响应,且不向仿真芯片的JTAG模块发送任何命令;当外部复位信号无效时,如果隔离模块接收到符合JTAG协议的全速运行或单步命令,则原封不动地把接收到的命令再发送给仿真芯片的JTAG模块,如果隔离模块接收到仿真芯片的JTAG模块返回的响应,则也原封不动地把接收到的响应发送给JTAG调试模块。本发明能够避免在用户程序仿真调试过程中因误操作而导致关闭调试软件,提高调试效率。
Description
技术领域
本发明涉及集成电路芯片仿真器领域,特别是涉及一种ARM核处理器芯片仿真器。
背景技术
32位ARM核处理器芯片(产品芯片)内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是ARM核处理器芯片仿真器。由于ARM提供了JTAG(Joint Test Action Group,联合测试行动小组)这一国际标准测试协议用于实现ARM核处理器芯片的仿真调试,所以基于ARM核处理器芯片的仿真器通常都使用JTAG方式来实现用户程序的仿真调试。现有的以JTAG方式实现的ARM核处理器芯片仿真器,在结构上包括仿真芯片和JTAG调试模块。其工作过程是这样的,仿真芯片除了实现产品芯片各项功能的芯片功能模块部分外,还有用于实现JTAG仿真调试的JTAG模块,仿真芯片通过该JTAG模块接收JTAG调试模块的符合JTAG协议的命令,并向JTAG调试模块返回符合JTAG协议的响应。JTAG调试模块从PC(personal computer,个人计算机)机端接收指令,转变成符合JTAG协议的命令后发送给仿真芯片的JTAG模块;JTAG调试模块接收到仿真芯片的JTAG模块返回的符合JTAG协议的响应后,转变成PC调试软件要求的格式发送给PC机。
但是,按照JTAG协议实现的仿真芯片中的JTAG模块和芯片功能模块,在仿真芯片的外部复位信号有效时都不能工作,而在JTAG模块不工作,也就是仿真芯片处于复位状态时,如果PC机端的调试软件通过JTAG调试模块向仿真芯片发出全速运行、单步等调试命令,就无法得到任何的响应反馈,PC机端的调试软件就会认为已经找不到仿真芯片,与仿真芯片失去通信连接,进行报错并要求关闭调试软件。而在实际应用中,外部复位信号有效,仿真芯片处于复位状态时,用户在PC机端的调试软件上误按全速运行、单步等按钮,发出全速运行、单步命令的情况时常发生,调试软件就会报错、关闭,用户必须重新打开调试软件、重新加载用户程序,非常不方便,给调试工作带来了不便,影响调试的效率。
发明内容
本发明要解决的技术问题是提供一种ARM核处理器芯片仿真器,能够有效避免在用户程序仿真调试过程中因误操作而导致关闭调试软件,提高调试效率。
为解决上述技术问题,本发明的ARM核处理器芯片仿真器,包括:仿真芯片,该仿真芯片包含有JTAG模块和芯片功能模块;
所述仿真器还包括,通过第一JTAG接口与所述仿真芯片的JTAG模块相连接的隔离模块,通过第二JTAG接口与所述隔离模块相连接的JTAG调试模块;
所述隔离模块接收JTAG调试模块发出的命令并向JTAG调试模块返回响应,所述隔离模块向所述仿真芯片的JTAG模块发送命令并接收其返回的响应;
所述隔离模块受外部复位信号控制;当外部复位信号有效时,如果隔离模块接收到符合JTAG协议的全速运行或单步命令,则自动构成“错误命令”响应,并向JTAG调试模块返回该响应,且不向所述仿真芯片的JTAG模块发送任何命令;当外部复位信号无效时,如果隔离模块接收到符合JTAG协议的全速运行或单步命令,则原封不动地把接收到的命令再发送给仿真芯片的JTAG模块,如果隔离模块接收到所述仿真芯片的JTAG模块返回的响应,则也原封不动地把接收到的响应发送给JTAG调试模块。
采用本发明的ARM核处理器芯片仿真器,即使仿真芯片的外部复位信号有效,仿真芯片处于复位状态时,即使用户在PC机端的调试软件上误按全速运行、单步等按钮,误发全速运行、单步命令,调试软件也只会发出“错误命令”的信息,而不会报错和关闭;且仿真芯片的外部复位信号无效后,用户可以继续在PC机端的调试软件上发全速运行、单步命令等调试命令,而无需重新打开调试软件或重新加载用户程序;方便了用户调试程序时对仿真器的使用,有利于加快程序的开发进度,提高调试的效率。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
附图是本发明的ARM核处理器芯片仿真器结构示意图。
具体实施方式
在以下的描述中,均假设复位信号为“0”电平表示有效复位信号,复位信号为“1”电平表示无效复位信号。
如图所示,本发明的ARM核处理器芯片仿真器1包括仿真芯片2、隔离模块3和JTAG调试模块4。所述的仿真芯片2按照JTAG协议来实现,包括用于实现产品芯片各项功能的芯片功能模块10,以及用于实现JTAG仿真调试的JTAG模块9。所述仿真芯片2的JTAG模块9通过标准的第一JTAG接口6与隔离模块3连接。所述仿真芯片2受外部复位信号5控制,当外部复位信号5为“0”电平时,所述仿真芯片2包括其中的JTAG模块9和芯片功能模块10都处于复位状态,不能工作;当外部复位信号5为“1”电平时,所述仿真芯片2包括其中的JTAG模块9和芯片功能模块10都处于运行状态,能够正常工作和通信。所述仿真芯片2内的JTAG模块9在运行状态下,即外部复位信号为“1”电平时,能接收符合JTAG协议的命令,并能返回符合JTAG协议的响应。所述隔离模块3通过标准的第二JTAG接口7与JTAG调试模块4连接,隔离模块3能通过该第二JTAG接口7接收JTAG调试模块4发过来的命令并返回响应。隔离模块3通过所述第一JTAG接口6向仿真芯片2的JTAG模块9发送命令并接收返回的响应。所述隔离模块3接受所述外部复位信号5的控制。当外部复位信号5为“0”电平时,所述隔离模块3如果接收到全速运行、单步等JTAG命令,则自动构成“错误命令”的响应,并通过所述第二JTAG接口7向JTAG调试模块4返回“错误命令”的响应,,而不向仿真芯片2的JTAG模块9发送任何命令;当外部复位信号为“1”电平时,所述隔离模块3起一个透明通道的作用,所述隔离模块3如果接收到全速运行、单步等JTAG命令,则原封不动地把接收到的命令再发送给仿真芯片2的JTAG模块9,所述隔离模块3如果接收到仿真芯片2的JTAG模块9返回的响应,则也原封不动地把接收到的响应发送给JTAG调试模块4。所述JTAG调试模块4有一个数据通道8与PC机连接,通过该数据通道8从PC机端的调试软件接收指令并返回响应;JTAG调试模块4通过所述第二JTAG接口7向隔离模块3发送命令并接收响应。所述JTAG调试模块4将PC机端的调试软件发过来的命令转变成符合JTAG协议的命令后发送给隔离模块3;JTAG调试模块4也会把隔离模块3返回的符合JTAG协议的响应转变成PC机端的调试软件要求的格式发送给PC机。所述JTAG调试模块4与现有的ARM核处理器芯片仿真器中的JTAG调试模块在结构和功能上是一样。
这样,虽然按照JTAG协议实现的仿真芯片2中的JTAG模块9和芯片功能模块10,在仿真芯片2的外部复位信号5为“0”电平时都不能工作,但是即使此时PC机端的调试软件发出全速运行、单步等调试命令,也不再是得不到任何的响应反馈,导致PC机端的调试软件报错并要求关闭;而是得到一个隔离模块3构成的“错误命令”响应,PC机端的调试软件就会停止当前操作,向用户发出“错误命令”的提示信息;程序指针和程序状态都保持在发出命令前的位置和状态,程序指针和程序状态都没有被破坏;同时由于这一过程中隔离模块3没有向仿真芯片2发送过任何命令,仿真芯片2也会继续处于复位状态。外部复位信号5为“1”电平时,仿真芯片2中的JTAG模块9和芯片功能模块10都可以工作,隔离模块3则是一个透明的数据通道,此时ARM核处理器芯片仿真器1的功能与现有的仿真器一样。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (3)
1.一种ARM核处理器芯片仿真器,包括仿真芯片,该仿真芯片包含有JTAG模块和芯片功能模块;其特征在于:所述仿真器还包括,通过第一JTAG接口与所述仿真芯片的JTAG模块相连接的隔离模块,通过第二JTAG接口与所述隔离模块相连接的JTAG调试模块;
所述隔离模块接收JTAG调试模块发出的命令并向JTAG调试模块返回响应,所述隔离模块向所述仿真芯片的JTAG模块发送命令并接收其返回的响应;
所述隔离模块受外部复位信号控制;当外部复位信号有效时,如果隔离模块接收到符合JTAG协议的全速运行或单步命令,则自动构成“错误命令”响应,并向JTAG调试模块返回该响应,且不向所述仿真芯片的JTAG模块发送任何命令;当外部复位信号无效时,如果隔离模块接收到符合JTAG协议的全速运行或单步命令,则原封不动地把接收到的命令再发送给仿真芯片的JTAG模块,如果隔离模块接收到所述仿真芯片的JTAG模块返回的响应,则也原封不动地把接收到的响应发送给JTAG调试模块。
2.如权利要求1所述的ARM核处理器芯片仿真器,其特征在于:所述仿真芯片受外部复位信号控制,当外部复位信号有效时,所述仿真芯片、JTAG模块和芯片功能模块都处于复位状态,不能工作;当外部复位信号无效时,所述仿真芯片、JTAG模块和芯片功能模块都处于运行状态,能够正常工作和通信;所述仿真芯片的JTAG模块在运行状态下,能接收符合JTAG协议的命令,并能返回符合JTAG协议的响应。
3.如权利要求1所述的ARM核处理器芯片仿真器,其特征在于:所 述JTAG调试模块通过数据通道从PC机端的调试软件接收指令并返回响应;所述JTAG调试模块将PC机端的调试软件发过来的命令转变成符合JTAG协议的命令后发送给隔离模块;所述JTAG调试模块将隔离模块返回的符合JTAG协议的响应转变成PC机端的调试软件要求的格式发送给PC机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100576532A CN101968760B (zh) | 2009-07-27 | 2009-07-27 | Arm核处理器芯片仿真器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100576532A CN101968760B (zh) | 2009-07-27 | 2009-07-27 | Arm核处理器芯片仿真器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101968760A CN101968760A (zh) | 2011-02-09 |
CN101968760B true CN101968760B (zh) | 2012-10-31 |
Family
ID=43547919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100576532A Active CN101968760B (zh) | 2009-07-27 | 2009-07-27 | Arm核处理器芯片仿真器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101968760B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042672A (zh) * | 2007-04-24 | 2007-09-26 | 上海华龙信息技术开发中心 | 一种应用于数字信号处理器的高速仿真器及其操作方法 |
CN101382583A (zh) * | 2008-10-30 | 2009-03-11 | 中国人民解放军国防科学技术大学 | 多核微处理器jtag调试方法 |
-
2009
- 2009-07-27 CN CN2009100576532A patent/CN101968760B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042672A (zh) * | 2007-04-24 | 2007-09-26 | 上海华龙信息技术开发中心 | 一种应用于数字信号处理器的高速仿真器及其操作方法 |
CN101382583A (zh) * | 2008-10-30 | 2009-03-11 | 中国人民解放军国防科学技术大学 | 多核微处理器jtag调试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101968760A (zh) | 2011-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101154183B (zh) | 一种微控制器嵌入式在线仿真调试系统 | |
CN101458652B (zh) | 微控制器嵌入式在线仿真调试系统 | |
US7058855B2 (en) | Emulation interface system | |
CN102662835B (zh) | 一种针对嵌入式系统的程序调试方法及嵌入式系统 | |
JPH05506119A (ja) | 回路内エミュレータ | |
CN102214132B (zh) | 一种调试龙芯cpu和南北桥芯片的方法和装置 | |
CN101251819A (zh) | 一种适用于多处理器核系统芯片的调试方法 | |
CN104991862B (zh) | 基于jtag虚拟技术的fpga远程在线调测方法 | |
JP2004227588A (ja) | Sdioカード開発システム | |
CN101359303B (zh) | 一种在线调试微控制器及其外设器件的装置及调试方法 | |
CN101162438A (zh) | 一种嵌入式处理器的调试技术 | |
CN102567196A (zh) | 一种处理器仿真调试方法及装置 | |
CN101968760B (zh) | Arm核处理器芯片仿真器 | |
WO2016184170A1 (zh) | Smi接口器件的调试装置及方法、存储介质 | |
CN101968764B (zh) | 具有断点功能的仿真器 | |
CN101206613A (zh) | 高速基本输入/输出系统调试卡 | |
CN100474266C (zh) | 一种用于数字信号处理器的调试系统及其调试方法 | |
CN101206615B (zh) | 微处理器仿真器 | |
CN106406154B (zh) | 侦错系统及其控制方法 | |
CN115903569A (zh) | 一种全数字综合模块化航电系统 | |
CN101751324B (zh) | 非接触式智能卡仿真器及工作模式切换方法 | |
CN113704032A (zh) | 一种嵌入式异构多核处理器架构并行调试系统及方法 | |
CN113204929A (zh) | 基于sv和uvm实现ahb vip的方法、电子装置及存储介质 | |
CN112015649A (zh) | 一种利用片上协计算核心对主计算核心进行调试的方法 | |
CN104200033A (zh) | 基于fpga和dsp的高速电路板串口的调试方法 |
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 |