CN106970877A - 控制调试请求的装置及数据处理器 - Google Patents

控制调试请求的装置及数据处理器 Download PDF

Info

Publication number
CN106970877A
CN106970877A CN201710153281.8A CN201710153281A CN106970877A CN 106970877 A CN106970877 A CN 106970877A CN 201710153281 A CN201710153281 A CN 201710153281A CN 106970877 A CN106970877 A CN 106970877A
Authority
CN
China
Prior art keywords
debugging
data processing
request
processing circuit
exception
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
Application number
CN201710153281.8A
Other languages
English (en)
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.)
Hangzhou C Sky Microsystems Co Ltd
Original Assignee
Hangzhou C Sky Microsystems Co Ltd
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 Hangzhou C Sky Microsystems Co Ltd filed Critical Hangzhou C Sky Microsystems Co Ltd
Priority to CN201710153281.8A priority Critical patent/CN106970877A/zh
Publication of CN106970877A publication Critical patent/CN106970877A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3648Debugging of software using additional hardware
    • G06F11/3656Debugging of software using additional hardware using a specific debug interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种控制调试请求的装置及数据处理器。所述控制调试请求的装置包括调试电路、调试异常状态寄存器、数据处理电路。其中,所述调试电路,与所述数据处理电路相连,用于实时获取所述数据处理电路的应用程序状态信息,并对所述应用程序状态信息进行处理产生调试请求,以及发送所述调试请求至所述数据处理电路;所述调试异常状态寄存器,与所述数据处理电路相连,用于读取并显示所述数据处理电路正在执行的应用程序是否具有可中断性;所述数据处理电路,用于接收所述调试电路发送的调试请求,同时获取所述调试异常状态寄存器的信息;本发明能够保证数据处理电路当前处理的应用程序状态不被破坏,且能够避免调试请求的丢失问题。

Description

控制调试请求的装置及数据处理器
技术领域
本发明涉及数据处理技术领域,尤其涉及一种控制调试请求的装置及数据处理器。
背景技术
数据处理器的调试是指数据处理器的开发人员编好程序后,获取程序在数据处理器中的运行情况,进而对数据处理器的运行进行查错和排错的过程;目前主流的调试手段有:外部调试和自主调试两种。
外部调试是指待测试数据处理器通过外部调试器与代理服务程序连接,外部调试器采用联合测试工作组(Joint Test Action Group,JTAG)协议和待调试数据处理器进行通信。例如:外部调试器可以在数据处理器设置多个内存硬断点,当数据处理器执行代理服务程序,并触发内存硬断点时,数据处理器进入外部调试模式,此时,数据处理器不进行任何操作,外部调试器执行调试程序的操作;但是,在使用外部调试对应用程序进行调试时,由于应用程序的进程切换在使用断点方式调试时会存在误断、难断等问题,造成应用程序难调试和跟踪。
为了方便对应用程序进行调试,可以采用自主调试的手段,自主调试是指待调试数据处理器直接和主机连接,其中,主机用于向数据处理器下载待调试的内核程序或者应用程序,自主调试装置在应用程序中嵌入调试配置程序,设置内存硬断点。数据处理器在执行应用程序的过程中,触发内存硬断点,自主调试装置产生调试异常请求至数据处理器,数据处理器响应该调试异常请求,并执行调试异常服务程序。
在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:
由于自主调试是通过自主调试装置向数据处理器发送调试异常请求的方式执行调试操作,因此在数据处理器执行程序的关键代码(例如,现场的保存和恢复)时也可能接收到调试异常请求。如果数据处理器立即响应调试异常,那么可能导致数据处理器的状态被破坏,导致程序无法正常运行。如果数据处理器不响应该调试异常,那么该调试异常会被丢掉,从而导致数据处理器在某一个断点无法得到调试。
发明内容
本发明提供的控制调试请求的装置及数据处理器,能够在保证数据处理器当前处理应用程序状态不被破坏的前提下,避免调试请求的丢失问题。
第一方面,本发明提供一种控制调试请求的装置,包括:
调试电路、调试异常状态寄存器、数据处理电路,其中,
所述调试电路,与所述数据处理电路相连,用于实时获取所述数据处理电路的应用程序状态信息,并对所述应用程序状态信息进行处理产生调试请求,以及发送所述调试请求至所述数据处理电路,所述调试请求用于指示所述数据处理电路执行调试异常服务程序;
所述调试异常状态寄存器,与所述数据处理电路相连,用于读取并显示所述数据处理电路正在执行的应用程序是否具有可中断性;所述调试异常状态寄存器包括调试异常使能位和调试异常挂起位,其中,所述调试异常使能位为高代表所述数据处理电路执行的应用程序具有可中断性,所述调试异常使能位为低代表所述数据处理电路执行的应用程序不具有可中断性,所述调试异常挂起位为高表示存在调试异常请求等待被处理,调试异常挂起位为低表示不存在调试异常请求等待被处理;
所述数据处理电路,用于接收所述调试电路发送的调试请求,同时获取所述调试异常状态寄存器的信息,当所述调试异常状态寄存器的所述调试异常使能位为高时,响应所述调试异常请求,并执行所述调试异常服务程序;当所述调试异常状态寄存器的所述调试异常使能位为低时,置高所述调试异常挂起位,继续完成当前操作。
可选地,所述应用程序状态信息为所述数据处理电路发送的指令执行信息或内存访问地址信息。
可选地,所述调试请求为所述调试电路在内部调试模式下产生的调试异常请求。
可选地,所述调试异常请求为,所述调试电路接收所述数据处理电路发送的指令执行信息,并对所述指令执行信息进行处理后产生的指令触发型调试异常请求。
可选地,所述调试异常请求为,所述调试电路接收所述数据处理电路发送的内存访问地址信息,并对所述内存访问地址信息进行处理后产生的内存触发型调试异常请求。
可选地,所述数据处理电路还用于,在响应所述调试异常请求后,置低所述调试异常使能位,置高所述调试异常挂起位。
可选地,所述数据处理电路还用于,
在完成执行所述调试异常服务程序,并退出所述调试异常服务程序后,置高所述调试异常使能位。
可选地,当所述数据处理电路同时接收到调试异常请求和中断请求时,所述数据处理电路优先处理调试异常请求。
第二方面,本发明提供一种数据处理器,所述数据处理器包括上述控制调试请求的装置。
本发明实施例提供的控制调试请求的装置及数据处理器,通过使用调试异常状态寄存器实时监测数据处理电路状态并根据所述数据处理电路的状态对调试请求进行处理,能够保证数据处理电路当前处理的应用程序状态不被破坏,且能够避免调试请求的丢失。
附图说明
图1为本发明一实施例控制调试请求的装置的结构示意图;
图2为本发明调试电路的一种结构示意图;
图3为本发明调试电路的另一种结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种控制调试请求的装置,如图1所示,所述装置包括:
调试电路11,与所述数据处理电路13相连,用于实时获取所述数据处理电路13的应用程序状态信息,并对所述应用程序状态信息进行处理产生调试请求,以及发送所述调试请求至所述数据处理电路13,所述调试请求用于指示所述数据处理电路13执行调试异常服务程序;
所述调试异常状态寄存器12,与所述数据处理电路13相连,用于读取并显示所述数据处理电路13正在执行的应用程序是否具有可中断性;所述调试异常状态寄存器12包括调试异常使能位和调试异常挂起位,其中,所述调试异常使能位为高代表所述数据处理电路执行的应用程序具有可中断性,所述调试异常使能位为低代表所述数据处理电路执行的应用程序不具有可中断性,所述调试异常挂起位为高表示存在调试异常请求等待被处理,调试异常挂起位为低表示不存在调试异常请求等待被处理;
所述数据处理电路13,用于接收所述调试电路11发送的调试请求,同时获取所述调试异常状态寄存器12的信息,当所述调试异常状态寄存器12的所述调试异常使能位为高时,响应所述调试异常请求,并执行所述调试异常服务程序;当所述调试异常状态寄存器12的所述调试异常使能位为低时,置高所述调试异常挂起位,继续完成当前操作。
本发明实施例提供的控制调试请求的装置,通过使用调试异常状态寄存器实时监测数据处理电路状态并根据所述数据处理电路的状态对调试请求进行处理,能够保证数据处理电路当前处理的应用程序状态不被破坏,且能够避免调试请求的丢失问题。
可选地,所述应用程序状态信息为所述数据处理电路13发送的指令执行信息或内存访问地址信息。
可选地,所述调试请求为所述调试电路11在内部调试模式下产生的调试异常请求。
可选地,所述调试异常请求为,所述调试电路11接收所述数据处理电路13发送的指令执行信息,并对所述指令执行信息进行处理后产生的指令触发型调试异常请求。
可选地,所述调试异常请求为,所述调试电路11接收所述数据处理电路13发送的内存访问地址信息,并对所述内存访问地址信息进行处理后产生的内存触发型调试异常请求。
具体地,所述调试电路11接收所述内存访问地址信息后,将所述内存访问地址信息与预设内存硬断点地址信息进行对比,当存在内存访问地址信息与内存硬断点地址信息匹配成功时,根据匹配成功的内存硬断点的模式配置位确定调试请求为第一调试请求或第二调试请求,并发送所述第一调试求或第二调试请求至所述数据处理电路13。
可选地,如图2所示,为所述调试电路11的一种结构示意图,其中,所述调试电路11提供n个内存硬断点,且每个内存硬断点包含一个内存硬断点控制寄存器61、一个内存硬断点计数寄存器62、一个内存硬断点基地址寄存器63和一个内存硬断点掩码寄存器64。其中,内存硬断点控制寄存器61提供使能位和条件位供用户配置,所述使能位可配置为指令硬断点使能位也可以配置为数据硬断点使能位,所述条件位可配置位指令硬断点条件位也可配置为数据硬断点条件位。
同时,这n个内存硬断点受一个模式配置位60控制,所述模式配置位60包括外部调试模式或调试异常模式,断点匹配模块62实时监测数据处理电路40发送的应用程序状态信息,当应用程序状态信息与某个内存硬断点信息匹配时,再根据所述模式配置位60决定是否产生调试异常请求。
当所述模式配置位60的调试模式为外部调试模式时,所述调试电路11不会产生调试异常请求,而是请求所述数据处理电路13进入外部调试模式,由外部调试器获得所述数据处理电路13的控制权完成调试操作;
当所述模式配置位60的调试模式为调试异常模式时,所述调试电路11产生调试异常请求,请求数据处理电路13执行调试异常服务程序完成调试操作。
可选地,如图3所示,为所述调试电路的另一种结构示意图,其中,所述调试电路11提供多组模式配置位70,每组模式配置位70为每个内存硬断点提供独立的调试模式;当所述调试模式为外部调试模式时,所述调试电路11请求所述数据处理电路13进入外部调试模式,外部调试器获得所述数据处理电路13的控制权完成调试操作;当所述调试模式为调试异常模式时,所述调试电路11产生调试异常请求,请求数据处理电路13执行调试异常服务程序完成调试操作。
可选地,所述数据处理电路13还用于,在完成执行所述调试异常服务程序,并退出所述调试异常服务程序后,置高所述调试异常挂起位。
可选地,当所述数据处理电路13同时接收到调试异常请求和中断请求时,所述数据处理电路13优先处理调试异常请求。
本发明实施例还提供一种数据处理器,所述数据处理器包括上述控制调试请求的装置。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (9)

1.一种控制调试请求的装置,其特征在于,所述控制调试请求的装置包括调试电路、调试异常状态寄存器、数据处理电路,其中,
所述调试电路,与所述数据处理电路相连,用于实时获取所述数据处理电路的应用程序状态信息,并对所述应用程序状态信息进行处理产生调试请求,以及发送所述调试请求至所述数据处理电路,所述调试请求用于指示所述数据处理电路执行调试异常服务程序;
所述调试异常状态寄存器,与所述数据处理电路相连,用于读取并显示所述数据处理电路正在执行的应用程序是否具有可中断性;所述调试异常状态寄存器包括调试异常使能位和调试异常挂起位,其中,所述调试异常使能位为高代表所述数据处理电路执行的应用程序具有可中断性,所述调试异常使能位为低代表所述数据处理电路执行的应用程序不具有可中断性,所述调试异常挂起位为高表示存在调试异常请求等待被处理,调试异常挂起位为低表示不存在调试异常请求等待被处理;
所述数据处理电路,用于接收所述调试电路发送的调试请求,同时获取所述调试异常状态寄存器的信息,当所述调试异常状态寄存器的所述调试异常使能位为高时,响应所述调试异常请求,并执行所述调试异常服务程序;当所述调试异常状态寄存器的所述调试异常使能位为低时,置高所述调试异常挂起位,继续完成当前操作。
2.根据权利要求1所述的装置,其特征在于,所述应用程序状态信息为所述数据处理电路发送的指令执行信息或内存访问地址信息。
3.根据权利要求2所述的装置,其特征在于,所述调试请求为所述调试电路在内部调试模式下产生的调试异常请求。
4.根据权利要求3所述的装置,其特征在于,所述调试异常请求为,所述调试电路接收所述数据处理电路发送的指令执行信息,并对所述指令执行信息进行处理后产生的指令触发型调试异常请求。
5.根据权利要求3所述的装置,其特征在于,所述调试异常请求为,所述调试电路接收所述数据处理电路发送的内存访问地址信息,并对所述内存访问地址信息进行处理后产生的内存触发型调试异常请求。
6.根据权利要求1所述的装置,其特征在于,所述数据处理电路还用于,在响应所述调试异常请求后,置低所述调试异常使能位。
7.根据权利要求1所述的装置,其特征在于,所述数据处理电路还用于,在完成执行所述调试异常服务程序,并退出所述调试异常服务程序后,置高所述调试异常使能位。
8.根据权利要求1所述的装置,其特征在于,当所述数据处理电路同时接收到调试异常请求和中断请求时,所述数据处理电路优先处理调试异常请求。
9.一种数据处理器,其特征在于,所述数据处理器包括如权利要求1至8中任一项所述的控制调试请求的装置。
CN201710153281.8A 2017-03-15 2017-03-15 控制调试请求的装置及数据处理器 Pending CN106970877A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710153281.8A CN106970877A (zh) 2017-03-15 2017-03-15 控制调试请求的装置及数据处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710153281.8A CN106970877A (zh) 2017-03-15 2017-03-15 控制调试请求的装置及数据处理器

Publications (1)

Publication Number Publication Date
CN106970877A true CN106970877A (zh) 2017-07-21

Family

ID=59329406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710153281.8A Pending CN106970877A (zh) 2017-03-15 2017-03-15 控制调试请求的装置及数据处理器

Country Status (1)

Country Link
CN (1) CN106970877A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737103A (zh) * 2019-03-25 2020-10-02 阿里巴巴集团控股有限公司 一种包括调试单元的处理器和调试系统
CN114356636A (zh) * 2021-12-30 2022-04-15 天津国芯科技有限公司 一种防止cpu调试失控的方法及电路

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1133455A (zh) * 1994-12-28 1996-10-16 株式会社东芝 微处理器与调试系统
CN102346708A (zh) * 2010-08-03 2012-02-08 中兴通讯股份有限公司 一种调试器及其调试方法
CN103339614A (zh) * 2011-01-28 2013-10-02 Arm有限公司 控制调试异常的产生

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1133455A (zh) * 1994-12-28 1996-10-16 株式会社东芝 微处理器与调试系统
CN102346708A (zh) * 2010-08-03 2012-02-08 中兴通讯股份有限公司 一种调试器及其调试方法
WO2012016438A1 (zh) * 2010-08-03 2012-02-09 中兴通讯股份有限公司 一种调试器及其调试方法
CN103339614A (zh) * 2011-01-28 2013-10-02 Arm有限公司 控制调试异常的产生

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737103A (zh) * 2019-03-25 2020-10-02 阿里巴巴集团控股有限公司 一种包括调试单元的处理器和调试系统
CN114356636A (zh) * 2021-12-30 2022-04-15 天津国芯科技有限公司 一种防止cpu调试失控的方法及电路

Similar Documents

Publication Publication Date Title
EP1089184B1 (en) Microcomputer debug architecture and method
CN102346708B (zh) 一种调试器及其调试方法
TWI229796B (en) Method and system to implement a system event log for system manageability
US5630049A (en) Method and apparatus for testing software on a computer network
US6487683B1 (en) Microcomputer debug architecture and method
US6463553B1 (en) Microcomputer debug architecture and method
US9852038B2 (en) Debugging system and debugging method of multi-core processor
EP1089181B1 (en) Microcomputer debug architecture and method
CN108280027A (zh) 一种脚本的并发调试渲染方法及装置
CN109167681A (zh) 状态监控方法及装置
CN108021791B (zh) 数据保护方法及装置
CN104077220A (zh) Mips架构操作系统内核的调试方法和装置
CN102063366A (zh) 调试进程的方法和系统
CN106970877A (zh) 控制调试请求的装置及数据处理器
US20170123960A1 (en) System, method and apparatus for debugging of reactive applications
CN113742113B (zh) 一种嵌入式系统健康管理方法、设备及储存介质
CN105260257B (zh) 解决程序运行期间停止响应的方法和装置
CN100369009C (zh) 使用系统管理中断信号的监控系统及方法
CN111381995A (zh) 用于还原用户操作的方法及装置、计算机
CN112743260A (zh) 机器人焊接控制方法、机器人焊接控制设备及存储介质
CN116954635A (zh) 闪存芯片的烧录方法和系统、存储介质及电子设备
JPH0581070A (ja) プログラマブルコントローラ、およびプログラマブルコントローラにおけるユーザプログラム実行方法
CN107608833A (zh) 基于开关机测试治具的远程控制方法及装置
CN110941537A (zh) 一种基于行为状态的进程检测方法及检测装置
CN108228247A (zh) 一种工具与目标机增强交互的系统和方法

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170721

RJ01 Rejection of invention patent application after publication