CN100474266C - 一种用于数字信号处理器的调试系统及其调试方法 - Google Patents

一种用于数字信号处理器的调试系统及其调试方法 Download PDF

Info

Publication number
CN100474266C
CN100474266C CNB2007100398625A CN200710039862A CN100474266C CN 100474266 C CN100474266 C CN 100474266C CN B2007100398625 A CNB2007100398625 A CN B2007100398625A CN 200710039862 A CN200710039862 A CN 200710039862A CN 100474266 C CN100474266 C CN 100474266C
Authority
CN
China
Prior art keywords
debug
debugging
processor
instruction
digital signal
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.)
Expired - Fee Related
Application number
CNB2007100398625A
Other languages
English (en)
Other versions
CN101042671A (zh
Inventor
刘春晖
李兴仁
金荣伟
林锦麟
张达文
杨一茜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Hualong Information Technology Development Center
Original Assignee
SHANGHAI HUALONG INFORMATION TECHNOLOGY DEVELOPMENT CENTER
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHANGHAI HUALONG INFORMATION TECHNOLOGY DEVELOPMENT CENTER filed Critical SHANGHAI HUALONG INFORMATION TECHNOLOGY DEVELOPMENT CENTER
Priority to CNB2007100398625A priority Critical patent/CN100474266C/zh
Publication of CN101042671A publication Critical patent/CN101042671A/zh
Application granted granted Critical
Publication of CN100474266C publication Critical patent/CN100474266C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种用于数字信号处理器的调试系统及其调试方法。该调试系统由于只与处理器的外部调试接口和处理器内的程序流控制单元连接,并不与处理器内部的寄存器文件组,存储器管理单元(MMU)以及内部存储器有总线连接和资源交互,所以该调试系统不会侵占任何处理器内部的系统资源,即对系统资源的消耗和占用也十分有限,这样不会带来额外的系统总线复杂度的上升。同时其采用指令插入式的方式简化了调试系统的结构,还降低了整个系统的开发难度。更需指出的是本发明调试系统所形成的调试方法同样适用于不同数字信号处理器和微处理器的调试系统,具有广泛的普遍的应用性。

Description

一种用于数字信号处理器的调试系统及其调试方法
技术领域:
本发明涉及一种数字信号处理器的调试系统,特别是涉及采用一种以指令插入式的调试方法用于数字信号处理器的调试系统及其调试方法。
背景技术:
数字信号处理器(DSP)是专业化程度很高的MCU(微控制器),其结构适合于以尽量快的速度运行数目较少的专用指令和专项操作。高速执行能力是数字环境下对实时模拟信号进行处理所必需的,而DSP正适合于这些运算。
在数字信号处理器以及微处理器的设计中,内核的调试逻辑的设计是重要及必需的。调试系统就是嵌入在处理器电路内部的调试操作相关逻辑,在处理器正常工作时不产生作用而只用于处理器的调试操作功能。调试系统的主要功能和作用就是实现系统开发人员对其在数字信号处理器上运行的工作程序进行在线调试操作,而一般调试逻辑需要完成的调试操作包括两个大类,一是对处理器内部信息的调试操作,包括处理器内部寄存器,内部和外部存储器以及处理器本身信息的读取和修改,二是程序流的基本控制操作,包括程序流的运行,暂停,停止等控制操作。
传统的处理器调试方式一般采用的是直接使用正常的工作逻辑,不使用特殊的调试逻辑,然后直接通过处理器的外设接口来控制调试操作,通过外设接口和处理器的针床来监测调试状态和结果。如图1示便是此种方式的连接关系图。这种方式不仅功能简单而且效率低下,基本已不采用。
现较多采用的方式是直接存取操作的方式,如图2示,这种方法的特点是在处理器内部增加了较为复杂的调试逻辑,将调试逻辑单元和处理器内部的各个资源单元包括处理器内核、寄存器、存储器等逻辑单元进行独立连接。在调试时通过独立的专用的读写控制总线进行调试操作。这样的调试方式基本可以实现大部分的调试操作,但缺点是使用了较多的额外总线连接资源和控制逻辑资源,同时,同步进行的调试操作也会影响和干扰处理器内核流水线的正常时序的操作,对系统内部的数据总线和数据结构也有很强的侵入性,易引入不必要的错误。
以上描述的两种方法在实际应用中都具有一定的缺点和局限性,带来了性能上的下降以及硬件资源上的损耗,同时也影响到了数字信号处理器系统的设计和应用。
发明内容:
本发明的首个目的是提供一种用于数字信号处理器的调试系统。该系统更具体的说是一种使用指令插入式的、低系统资源占用的、低系统侵入的、功能强大的调试系统。
本发明的另一个目的是提供根据上述调试系统所能实现的调试方法。
根据以上发明目的,其技术方案如下:
一种用于数字信号处理器的调试系统,其特征在于,所述该处理器调试系统是一个处于处理器内部的相对独立的调试逻辑单元;该调试逻辑单元内部包括了具备接收来自处理器外部仿真器所发送的调试指令,并对该指令进行解析的调试接口逻辑单元,同时还包括了分别与上述逻辑单元相连接的用来完成调试操作的调试控制逻辑单元和指令插入逻辑单元;所述调试系统对外与处理器的外部调试接口和处理器内的程序流控制单元连接。
此外,所述与调试系统连接的外部调试接口,其设置配备有完整的仿真系统,该仿真系统包括具有匹配调试功能的使用外部调试接口的仿真器和控制仿真器的外部仿真主机。
当然,根据上述调试系统所能实现的调试方法,其具体过程为:当外部仿真主机利用仿真器发出调试指令,接着数字信号处理器内部调试系统通过外部调试接口接收到调试指令,然后对调试指令进行解析,判断调试指令类型及相应调试操作,其中可处理的调试操作类型包括设置硬件断点、清除硬件断点、单步运行、停止运行、运行、软件断点设置、软件断点清除、寄存器读、寄存器写、存储器读、存储器写及调试复位操作;解析操作完成后,根据相应的调试操作,来操作和控制处理器的程序流控制逻辑,完成相应的调试操作,其中借助一个具有公共寄存器访问地址的一个调试寄存器进行数据存取,对于具有数据交互的调试指令如寄存器读写操作、存储器读写操作等通过使用指令插入的方式以及利用调试寄存器的作用完成实现;而对于其它类型的调试指令直接通过控制处理器的程序流来完成。
本发明所提出的调试系统由于只与处理器的外部调试接口和处理器内的程序流控制单元连接,并不与处理器内部的寄存器文件组,存储器管理单元(MMU)以及内部存储器有总线连接和资源交互,所以该调试系统不会侵占任何处理器内部的系统资源,即对系统资源的消耗和占用也十分有限,这样不会带来额外的系统总线复杂度的上升。同时其采用指令插入式的方式简化了调试系统的结构,还降低了整个系统的开发难度。更需指出的是本发明调试系统所形成的调试方法同样适用于不同数字信号处理器和微处理器的调试系统,具有广泛的普遍的应用性。
附图说明:
图1为传统的处理器调试方式的结构图;
图2为现有处理器普遍采用的一种直接存取操作的调试方式结构图;
图3为本发明所述的调试系统在数字信号处理器内部的结构图;
图4为本发明所述的调试系统的结构图;
图5为本发明所述的调试系统中指令插入逻辑单元工作时内部的状态流程图;
图6为本发明所述的调试系统在进行调试时程序流控制单元的工作流程图。
具体实施方式:
以下借助附图对本发明作进一步的描述。
如图3所示,根据本发明所述调试系统在数字信号处理器内部的结构可以看出,该调试系统只与处理器的外部调试接口和处理器内的程序流控制单元连接,并不与处理器内部的寄存器文件组,存储器管理单元(MMU)以及内部存储器有总线连接和资源交互。
如图4所示,本发明所述调试系统的结构主要包含了三个功能模块(单元):调试接口控制逻辑,指令插入逻辑和调试控制逻辑。
调试接口控制逻辑的主要功能是接收来自外部仿真器所发送的调试指令,并对调试指令进行解析,判断调试指令的类型,并做出相应的控制操作。所接收和解析的调试的指令类型包括有:寄存器读取操作,寄存器修改操作,存储器读取操作,存储器修改操作,设置硬件断点操作,清除硬件断点操作,单步运行操作,运行操作,停止运行操作和复位操作。
根据上述系统描述,其调试过程中按照调试指令的类型分别包含两个处理方式:指令插入和程序流控制。其中,寄存器读取,寄存器修改,存储器读取和存储器修改这四条具有数据交互的调试指令通过指令插入的方式完成,其余的调试指令则通过程序流控制的方式完成。
对于指令插入类的调试操作的解析需要细化。对于寄存器读取的调试指令,需要将所要读取的寄存器的地址和此调试指令一同传送到指令插入逻辑单元。对于寄存器修改的调试指令,要将改写的目标寄存器的地址和要写入的数据一同传送到指令插入逻辑单元。对于存储器的调试操作也是类似的,存储器读取的调试指令,需要将所要读取的存储器的地址空间和此调试指令一同传送到指令插入逻辑单元。对于存储器修改的调试指令,要将改写的存储器的地址空间和要写入的数据一同传送到指令插入逻辑单元,同时存储器读取和修改的调试指令都是面向实地址。
如图5所示,根据所接收到的调试指令的类型来执行不同的插入操作。在指令插入逻辑内部设有一个特殊的调试寄存器,此调试寄存器可以直接被调试接口逻辑进行读写操作,同时又具有一个公共寄存器的访问地址,驻停在处理器系统的寄存器访问的总线上,可被作为公共寄存器由处理器流水线进行操作。
在接收到调试指令为寄存器读指令时,所做操作是在当前正在执行的指令流中,插入一条寄存器搬移的指令,其中源操作数为调试操作的所要读取的寄存器,目标操作数为指令插入逻辑内部的调试寄存器,指令插入完成后便执行当前的指令流,所插入的指令执行完毕后,即可在调试寄存器内获得调试操作所要读取的寄存器的值,在通过调试接口逻辑将其传送至外部的仿真器设备,即可完成读取寄存器的调试操作。
在接收到调试指令为寄存器写指令时,所做操作是在当前正在执行的指令流中,插入一条寄存器搬移的指令,其中源操作数为立即数,其值为写寄存器调试指令所包括的数据值,目标操作数为调试操作的所要修改的寄存器,指令插入完成后便执行当前的指令流,所插入的指令执行完毕后,即可完成写寄存器的调试操作。
在接收到调试指令为存储器读指令时,所做操作是在当前正在执行的指令流中,插入一条存储器读取的指令,其中源操作数为调试操作的所要读取的存储器的地址,目标操作数为指令插入逻辑内部的调试寄存器,指令插入完成后便执行当前的指令流,所插入的指令执行完毕后,即可在调试寄存器内获得调试操作所要读取的存储器空间的值,在通过调试接口逻辑将其传送至外部的仿真器设备,即可完成读取存储器的调试操作。
在接收到调试指令为存储器写指令时,所做操作是在当前正在执行的指令流中,插入一条写存储器的指令,其中源操作数为立即数,其值为写寄存器调试指令所包括的数据值,目标操作数为调试操作的所要修改的存储器的空间地址,指令插入完成后便执行当前的指令流,所插入的指令执行完毕后,即可完成写存储器的调试操作。
指令插入的要点在于调试系统往正在正常执行的指令流中强行插入一条或数条特定的指令,用以完成一些特殊的包括寄存器和存储器在内的数据操作,所插入的指令的运行过程并不会影响到所插入指令之前或之后的正常的程序流的运行,也不会影响到程序指针(PC)的计数,不会干扰了正常的程序流的执行操作,只是所插入的指令的运行结果会按照对应的调试操作的操作目标来读取或是修改相关的寄存器或存储器的值。
本发明提出的通过指令插入的方式完成调试操作,避免为调试操作增加额外的硬件资源以及数据的读写总线,而是通过正常的执行指令的途径自然的完成相关的调试操作,虽然在完成调试操作的时间消耗上会有所增加,但用于调试系统的特点,整体调试速度的瓶颈存在于外部仿真器的调试接口以及调试主机的调试软件和调试硬件的交互上,以及处理器本身运行的速度即为高速的,因而指令插入式的方法对调试操作的整体速度的影响几乎是不可见的。同时,指令插入式的方法也不会影响到正常的指令流的运行,在合理的操作控制下,不会给正在调试的目标程序流带来额外的错误的影响。
另外,对于其它类型的调试操作,则直接通过程序流控制单元来实现,系统的程序流控制单元即可以控制整个处理器流水线的程序流状态,包括各种停止及运行的操作。在处理器的正常运行模式下,程序流是不受人为控制的,为一直连续的执行正常的程序流。当进入到调试模式,接收到调试相关的操作指示后,便启动相应的程序流控制操作。
如图6所示,上述调试方式在设置时内部状态最初是处于开始状态,可以由调试控制触发进入到挂起状态,这里所述的调试控制可以包括有用户通过触发处理器进入调试模式或者是程序断点(软件或硬件断点)的到达等操作方式。程序流控制状态进入挂起状态后便可接收和完成不同的调试控制操作。
在调试操作中,对程序流产生影响的操作包括有运行,单步运行和停止运行操作。通过执行上述的调试操作指令,使内部程序流状态在正常状态,挂起状态和单步状态间进行切换,调试操作中在正常状态向挂起状态切换时也包括了由于断点到达所引起的事件。
等待调试状态则是为了配合指令插入类的调试操作进行程序流操作而设定的,包括执行了指令插入式的调试操作后,在程序流插入相关指令时,由此状态来控制插入的指令的正确执行完毕。即对于调试所插入的指令的执行也是由程序流控制逻辑来控制实现。
以上介绍是基于本发明的一个具体实施例,其中的指令插入方式的细则如具体插入指令的编码可根据不同的处理器系统采用不同的指令方式,并不限定于具体的处理器的指令。采用同种方式应用于不同的处理器系统当中实现调试功能不超出本发明的提供以及保护范围。

Claims (4)

1、一种用于数字信号处理器的调试系统,其特征在于,所述该处理器调试系统是一个处于处理器内部的相对独立的调试逻辑单元;该调试逻辑单元内部包括了具备接收来自处理器外部仿真器所发送的调试指令,并对该指令进行解析的调试接口逻辑单元,同时还包括了分别与上述调试接口逻辑单元相连接的,用来完成调试操作的调试控制逻辑单元;以及通过接收由调试接口逻辑单元解析的调试指令,使调试系统往正在正常执行的指令流中强行插入一条或数条特定的指令,用以完成一些特殊的包括寄存器和存储器在内的数据操作的指令插入逻辑单元;所述调试系统对外与处理器的外部调试接口和处理器内的程序流控制单元连接。
2、根据权利要求1的用于数字信号处理器的调试系统,其特征在于,所述与调试系统连接的外部调试接口,通过数据通信连接有完整的仿真系统,该仿真系统包括具有匹配调试功能的使用外部调试接口的仿真器和控制仿真器的外部仿真主机。
3、根据权利要求1所述的用于数字信号处理器的调试系统的调试方法,其特征在于,所述方法中当外部仿真主机利用仿真器发出调试指令,接着数字信号处理器内部调试系统通过外部调试接口接收到调试指令,然后对调试指令进行解析,判断调试指令类型及相应调试操作,其中可处理的调试操作类型包括设置硬件断点、清除硬件断点、单步运行、停止运行、运行、软件断点设置、软件断点清除、寄存器读、寄存器写、存储器读、存储器写及调试复位操作;解析操作完成后,根据相应的调试操作,来操作和控制处理器的程序流控制逻辑,完成相应的调试操作,其中借助一个具有公共寄存器访问地址的一个在调试系统内部的调试寄存器进行数据存取,对于具有数据交互的调试指令通过使用指令插入的方式以及利用调试寄存器的作用来实现;而对于其它类型的调试指令直接通过控制处理器的程序流来完成。
4、根据权利要求3所述的用于数字信号处理器的调试系统的调试方法,其特征在于,所述具有数据交互的调试指令为寄存器读写操作、存储器读写操作。
CNB2007100398625A 2007-04-24 2007-04-24 一种用于数字信号处理器的调试系统及其调试方法 Expired - Fee Related CN100474266C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007100398625A CN100474266C (zh) 2007-04-24 2007-04-24 一种用于数字信号处理器的调试系统及其调试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100398625A CN100474266C (zh) 2007-04-24 2007-04-24 一种用于数字信号处理器的调试系统及其调试方法

Publications (2)

Publication Number Publication Date
CN101042671A CN101042671A (zh) 2007-09-26
CN100474266C true CN100474266C (zh) 2009-04-01

Family

ID=38808199

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100398625A Expired - Fee Related CN100474266C (zh) 2007-04-24 2007-04-24 一种用于数字信号处理器的调试系统及其调试方法

Country Status (1)

Country Link
CN (1) CN100474266C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467446A (zh) * 2010-11-11 2012-05-23 上海华虹集成电路有限责任公司 可设置程序指针值的处理器芯片仿真器

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8627303B2 (en) 2009-11-30 2014-01-07 International Business Machines Corporation Memory optimization of virtual machine code by partitioning extraneous information
CN109918303B (zh) * 2019-03-05 2022-12-16 上海嘉楠捷思信息技术有限公司 一种芯片、芯片调试方法及装置、设备、介质
CN113672555B (zh) * 2021-07-13 2024-04-19 杭州中天微系统有限公司 处理器核、处理器、片上系统和调试系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于JTAG的嵌入式微处理器片上可调试系统. 张伟,李兆麟,张闯,汪东升.计算机工程与应用,第2004卷第12期. 2004
一种基于JTAG的嵌入式微处理器片上可调试系统. 张伟,李兆麟,张闯,汪东升.计算机工程与应用,第2004卷第12期. 2004 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467446A (zh) * 2010-11-11 2012-05-23 上海华虹集成电路有限责任公司 可设置程序指针值的处理器芯片仿真器

Also Published As

Publication number Publication date
CN101042671A (zh) 2007-09-26

Similar Documents

Publication Publication Date Title
JP3105223B2 (ja) マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置
US6378064B1 (en) Microcomputer
CN101154183B (zh) 一种微控制器嵌入式在线仿真调试系统
US8380966B2 (en) Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging
KR100350568B1 (ko) 디버그기능을수행하기위한데이타처리시스템및방법
US6145122A (en) Development interface for a data processor
CN100565472C (zh) 一种适用于多处理器核系统芯片的调试方法
EP2115582B1 (en) Controlling instruction execution in a processing environment
US7506205B2 (en) Debugging system and method for use with software breakpoint
US20020144235A1 (en) Debugging embedded systems
EP0942373B1 (en) Adapter device with a local memory and method for processor emulation
EP0942375B1 (en) Adapter device with a local memory and method for processor emulation
CN101206614B (zh) 仿真特殊功能寄存器的仿真器
CN113849433B (zh) 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质
US6389498B1 (en) Microprocessor having addressable communication port
CN100474266C (zh) 一种用于数字信号处理器的调试系统及其调试方法
KR900004291B1 (ko) 데이터 프로세서
CN103793263A (zh) 一种基于PowerPC处理器的DMA事务级建模方法
US6457124B1 (en) Microcomputer having address diversion means for remapping an on-chip device to an external port
CN102073551B (zh) 可自我重置的微处理器及其方法
TW432277B (en) Pre-boot debugging device and method of computer system
CN104476409A (zh) 基于实时Linux平台的玻璃磨削加工设备控制方法
KR100658485B1 (ko) 마이크로프로세서 개발시스템
JPH0259829A (ja) マイクロコンピュータ
JPH0477933A (ja) 評価用マイクロプロセッサ

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SHANGHAI FUKONG HUALONG MICROSYSTEMS TECHNOLOGY C

Free format text: FORMER OWNER: SHANGHAI HUALONG INFORMATION TECHNOLOGY DEVELOPMENT CENTER

Effective date: 20080425

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20080425

Address after: Shanghai city Pudong New Area Chunxiao Road No. 439 Building No. 11 post encoding: 201203

Applicant after: Shanghai Fukong Hualong Microsystem Technology Co., Ltd.

Address before: Shanghai city Pudong New Area Chunxiao Road No. 439 Building No. 11 post encoding: 201203

Applicant before: Shanghai Hualong Information Technology Development Center

ASS Succession or assignment of patent right

Owner name: SHANGHAI HUALONG INFORMATION TECHNOLOGY DEVELOPME

Free format text: FORMER OWNER: SHANGHAI FUKONG HUALONG MICROSYSTEMS TECHNOLOGY CO., LTD.

Effective date: 20080926

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20080926

Address after: Shanghai city Pudong New Area Chunxiao Road No. 439 Building No. 11 post encoding: 201203

Applicant after: Shanghai Hualong Information Technology Development Center

Address before: Shanghai city Pudong New Area Chunxiao Road No. 439 Building No. 11 post encoding: 201203

Applicant before: Shanghai Fukong Hualong Microsystem Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090401

Termination date: 20140424