CN114610596A - 实现用户程序断点调试的处理器芯片调试系统 - Google Patents

实现用户程序断点调试的处理器芯片调试系统 Download PDF

Info

Publication number
CN114610596A
CN114610596A CN202011420327.6A CN202011420327A CN114610596A CN 114610596 A CN114610596 A CN 114610596A CN 202011420327 A CN202011420327 A CN 202011420327A CN 114610596 A CN114610596 A CN 114610596A
Authority
CN
China
Prior art keywords
debugging
breakpoint
user program
chip
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
Application number
CN202011420327.6A
Other languages
English (en)
Other versions
CN114610596B (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 Information Network Co Ltd
Original Assignee
Shanghai Information Network 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 Shanghai Information Network Co Ltd filed Critical Shanghai Information Network Co Ltd
Priority to CN202011420327.6A priority Critical patent/CN114610596B/zh
Publication of CN114610596A publication Critical patent/CN114610596A/zh
Application granted granted Critical
Publication of CN114610596B publication Critical patent/CN114610596B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • G06F11/364Software debugging by tracing the execution of the program tracing values on a bus

Landscapes

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

Abstract

本发明公开了一种实现用户程序断点调试的处理器芯片调试系统,能够实现处理器芯片的用户程序断点调试功能,在用户程序执行到设置了断点的程序代码位置后,无论是否会发生外部复位,调试系统都可以从仿真芯片导出所有芯片状态信息及寄存器数据,同时用户也可以从断点处继续采用单步方式进行调试,而且,用户程序全速执行没有遇到断点时,仍可正常接收和响应外部复位信号,为用户提供了有效的调试手段,极大地方便了处理器芯片的用户调试工作,提高了代码开发和调试的效率。

Description

实现用户程序断点调试的处理器芯片调试系统
技术领域
本发明涉及处理器调试技术,特别涉及一种实现用户程序断点调试的处理器芯片调试系统。
背景技术
处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是调试系统。调试系统内使用包含产品处理器芯片各项功能的仿真芯片,用于模拟产品处理器芯片的工作行为,仿真芯片与调试系统其他部件(存放用户程序的程序存储器、存放数据的数据存储器,以及用户电脑上的集成开发环境连接等)配合实现用户程序的仿真运行和各项调试功能。
由于仿真芯片是最大限度与产品芯片保持功能、性能一致的,所以也保留了产品芯片中的外部复位功能,在仿真芯片上全速执行代码,测试和调试代码功能和性能时,外部复位功能也必须是具备,并且希望与产品芯片一致的。但是,用户程序调试过程中经常会遇到代码执行过程中出现异常或者与外部设备配合异常,引发外部复位信号输入的情况,此时,非常希望能有调试手段准确地寻找到执行哪一段或哪一句代码时,触发了非预期的外部复位,以便进一步分析和调试代码。
使用现有的处理器芯片调试系统调试上述问题时,即使在怀疑存在问题的代码段设置了断点,代码全速执行遇到断点后停止运行,也会因为已经触发了外部复位,仿真芯片处于复位状态了,调试系统无法从仿真芯片导出所有芯片状态信息、寄存器数据等,同时,由于仿真芯片也处于复位状态,用户也无法继续从断点处继续采用单步方式进行调试,导致代码问题调试非常麻烦、调试效率低下。
发明内容
本发明要解决的技术问题是提供一种实现用户程序断点调试的处理器芯片调试系统,在用户程序执行到设置了断点的程序代码位置后,无论是否会发生外部复位,调试系统都可以从仿真芯片导出所有芯片状态信息及寄存器数据,同时用户也可以从断点处继续采用单步方式进行调试,而且,用户程序全速执行没有遇到断点时,仍可正常接收和响应外部复位信号,为用户提供了有效的调试手段,极大地方便了处理器芯片的用户调试工作,提高了代码开发和调试的效率。
为解决上述技术问题,本发明提供的一种实现用户程序断点调试的处理器芯片调试系统,其包括仿真芯片2、调试模块3和断点地址寄存器4;
所述调试模块3,通过标准数据/地址总线8与仿真芯片2地址引脚连接,通过输出外部复位信号线7与仿真芯片2复位引脚连接,通过输入外部复位信号线6与所述调试系统1外的外部设备5连接;
所述断点地址寄存器4,用于存储用户程序代码断点地址;
所述调试模块3通过所述标准数据/地址总线8获取用户程序执行的实时程序地址,并与所述调试模块3中断点地址寄存器4内存放的用户程序代码断点地址进行比较;
如果用户程序执行的实时程序地址与断点地址寄存器4存放的用户程序代码断点地址不一致,所述调试模块3将所述输入外部复位信号线6上的外部复位信号直接通过所述输出外部复位信号线7输出到仿真芯片2复位引脚;
如果用户程序执行的实时程序地址与断点地址寄存器4存放的用户程序代码断点地址相同,所述调试模块3直接通过所述输出外部复位信号线7输出无效状态外部复位信号到仿真芯片2复位引脚。
较佳的,所述断点地址寄存器4集成在所述调试模块3中。
较佳的,所述仿真芯片2使用FPGA实现。
较佳的,所述断点地址寄存器4使用FPGA实现。
较佳的,所述调试模块3使用FPGA实现。
本发明的实现用户程序断点调试的处理器芯片调试系统,能够实现处理器芯片的用户程序断点调试功能,在用户程序执行到设置了断点的程序代码位置后,无论是否会发生外部复位,调试系统都可以从仿真芯片2导出所有芯片状态信息及寄存器数据,同时用户也可以从断点处继续采用单步方式进行调试,而且,用户程序全速执行没有遇到断点时,仍可正常接收和响应外部复位信号。本发明的中断点实现处理器芯片调试系统,为用户提供了有效的调试手段,极大地方便了处理器芯片的用户调试工作,提高了代码开发和调试的效率。
附图说明
为了更清楚地说明本发明的技术方案,下面对本发明所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的实现用户程序断点调试的处理器芯片调试系统一实施例结构示意图。
附图标记说明
1调试系统;2仿真芯片;3调试模块;4断点地址寄存器;5外部设备;6输入外部复位信号线;7输出外部复位信号线;8标准数据/地址总线。
具体实施方式
下面将结合附图,对本发明中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
如图1所示,实现用户程序断点调试的处理器芯片调试系统包括仿真芯片2、调试模块3和断点地址寄存器4;
所述调试模块3,通过标准数据/地址总线8与仿真芯片2地址引脚连接,通过输出外部复位信号线7与仿真芯片2复位引脚连接,通过输入外部复位信号线6与所述调试系统1外的外部设备5连接;
所述断点地址寄存器4,用于存储用户程序代码断点地址;
所述调试模块3通过所述标准数据/地址总线8获取用户程序执行的实时程序地址,并与所述调试模块3中断点地址寄存器4内存放的用户程序代码断点地址进行比较;
如果用户程序执行的实时程序地址与断点地址寄存器4存放的用户程序代码断点地址不一致,所述调试模块3将所述输入外部复位信号线6上的外部复位信号直接通过所述输出外部复位信号线7输出到仿真芯片2复位引脚;
如果用户程序执行的实时程序地址与断点地址寄存器4存放的用户程序代码断点地址相同,所述调试模块3直接通过所述输出外部复位信号线7输出无效状态外部复位信号到仿真芯片2复位引脚。
较佳的,所述断点地址寄存器4集成在所述调试模块3中。
实施例一的实现用户程序断点调试的处理器芯片调试系统,用户设置用户程序断点后,将用户程序代码断点地址存放在所述断点地址寄存器4中。仿真芯片2在运行用户程序过程中,如果用户程序执行的实时程序地址与断点地址寄存器4内存放的用户程序代码断点地址不一致,说明用户程序处于全速执行状态,调试模块3接收从输入外部复位信号线6上输入的外部复位信号并直接通过输出外部复位信号线7向仿真芯片2输出,这样,保证了用户程序全速执行没有遇到断点时,仍可正常接收和响应来自外部设备5的外部复位信号,在功能和性能上保持了仿真芯片2与产品芯片的一致性;如果用户程序执行的实时程序地址与断点地址寄存器4内存放的用户程序代码断点地址相同,说明用户程序遇到断点停止运行,所述调试模块3无论从所述输入外部复位信号线6上接收到何种状态得的外部复位信号,都直接通过输出外部复位信号线7向仿真芯片2输出无效状态外部复位信号。这样,保证了在用户程序执行到设置了断点的程序代码位置后,无论是否会发生外部复位,仿真芯片2都只会从调试模块3接收到无效状态的外部复位信号,仿真芯片2不会进入复位状态,从而仿真芯片2仍可以正常执行调试代码,调试系统可以从仿真芯片2导出所有芯片状态信息及寄存器数据,同时用户也可以从断点处继续采用单步方式进行调试。
实施例一的实现用户程序断点调试的处理器芯片调试系统,能够实现处理器芯片的用户程序断点调试功能,在用户程序执行到设置了断点的程序代码位置后,无论是否会发生外部复位,调试系统都可以从仿真芯片2导出所有芯片状态信息及寄存器数据,同时用户也可以从断点处继续采用单步方式进行调试,而且,用户程序全速执行没有遇到断点时,仍可正常接收和响应外部复位信号。实施例一的中断点实现处理器芯片调试系统,为用户提供了有效的调试手段,极大地方便了处理器芯片的用户调试工作,提高了代码开发和调试的效率。
实施例二
基于实施例一的中断点实现处理器芯片调试系统,所述仿真芯片2使用FPGA(Field-Programmable Gate Array,即现场可编程门阵列)中的逻辑资源和寄存器资源配合逻辑设计实现。
较佳的,所述断点地址寄存器4使用FPGA(Field-Programmable Gate Array,即现场可编程门阵列)中的逻辑资源和寄存器资源配合逻辑设计实现。
较佳的,所述调试模块3使用FPGA(Field-Programmable Gate Array,即现场可编程门阵列)中的逻辑资源和寄存器资源配合逻辑设计实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (5)

1.一种实现用户程序断点调试的处理器芯片调试系统,其特征在于,其包括仿真芯片(2)、调试模块(3)和断点地址寄存器(4);
所述调试模块(3),通过标准数据/地址总线(8)与仿真芯片(2)地址引脚连接,通过输出外部复位信号线(7)与仿真芯片(2)复位引脚连接,通过输入外部复位信号线(6)与调试系统外的外部设备(5)连接;
所述断点地址寄存器(4),用于存储用户程序代码断点地址;
所述调试模块(3)通过所述标准数据/地址总线(8)获取用户程序执行的实时程序地址,并与所述调试模块(3)中断点地址寄存器(4)内存放的用户程序代码断点地址进行比较;
如果用户程序执行的实时程序地址与断点地址寄存器(4)存放的用户程序代码断点地址不一致,所述调试模块(3)将所述输入外部复位信号线(6)上的外部复位信号直接通过所述输出外部复位信号线(7)输出到仿真芯片(2)复位引脚;
如果用户程序执行的实时程序地址与断点地址寄存器(4)存放的用户程序代码断点地址相同,所述调试模块(3)直接通过所述输出外部复位信号线(7)输出无效状态外部复位信号到仿真芯片(2)复位引脚。
2.根据权利要求1所述的实现用户程序断点调试的处理器芯片调试系统,其特征在于,
所述断点地址寄存器(4)集成在所述调试模块(3)中。
3.根据权利要求1所述的实现用户程序断点调试的处理器芯片调试系统,其特征在于,
所述仿真芯片(2)使用FPGA实现。
4.根据权利要求1所述的实现用户程序断点调试的处理器芯片调试系统,其特征在于,
所述断点地址寄存器(4)使用FPGA实现。
5.根据权利要求1所述的实现用户程序断点调试的处理器芯片调试系统,其特征在于,
所述调试模块(3)使用FPGA实现。
CN202011420327.6A 2020-12-08 2020-12-08 实现用户程序断点调试的处理器芯片调试系统 Active CN114610596B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011420327.6A CN114610596B (zh) 2020-12-08 2020-12-08 实现用户程序断点调试的处理器芯片调试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011420327.6A CN114610596B (zh) 2020-12-08 2020-12-08 实现用户程序断点调试的处理器芯片调试系统

Publications (2)

Publication Number Publication Date
CN114610596A true CN114610596A (zh) 2022-06-10
CN114610596B CN114610596B (zh) 2024-07-12

Family

ID=81856532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011420327.6A Active CN114610596B (zh) 2020-12-08 2020-12-08 实现用户程序断点调试的处理器芯片调试系统

Country Status (1)

Country Link
CN (1) CN114610596B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1622052A (zh) * 2004-12-15 2005-06-01 浙江大学 嵌入式信号处理器模拟器
US20050278588A1 (en) * 2004-05-26 2005-12-15 International Business Machines Corporation A system and method of providing error detection and correction capability in an integrated circuit using redundant logic cells of an embedded fpga
CN101162438A (zh) * 2006-10-10 2008-04-16 北京中电华大电子设计有限责任公司 一种嵌入式处理器的调试技术
CN101751323A (zh) * 2008-11-28 2010-06-23 上海华虹集成电路有限责任公司 微处理器芯片仿真器及断点设置的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050278588A1 (en) * 2004-05-26 2005-12-15 International Business Machines Corporation A system and method of providing error detection and correction capability in an integrated circuit using redundant logic cells of an embedded fpga
CN1622052A (zh) * 2004-12-15 2005-06-01 浙江大学 嵌入式信号处理器模拟器
CN101162438A (zh) * 2006-10-10 2008-04-16 北京中电华大电子设计有限责任公司 一种嵌入式处理器的调试技术
CN101751323A (zh) * 2008-11-28 2010-06-23 上海华虹集成电路有限责任公司 微处理器芯片仿真器及断点设置的方法

Also Published As

Publication number Publication date
CN114610596B (zh) 2024-07-12

Similar Documents

Publication Publication Date Title
US5121472A (en) Method for replacing keyboard data using single step process mode
EP0814404A1 (en) Debugging apparatus for debugging a program
CN111045964B (zh) 一种基于pcie接口高速传输方法、存储介质及终端
US6175913B1 (en) Data processing unit with debug capabilities using a memory protection unit
JP2004227588A (ja) Sdioカード開発システム
CN104298579A (zh) 一种逻辑芯片以及包含该逻辑芯片的板卡装置
CN113160875B (zh) 芯片测试系统和测试方法
CN114625660B (zh) 调试方法及装置
EP1125200B1 (en) Maintaining object size information concurrent with data optimization for debugging
CN114610596B (zh) 实现用户程序断点调试的处理器芯片调试系统
US7296187B1 (en) Hardware debug device having script-based host interface
US7051237B2 (en) Program-controlled unit
CN214202365U (zh) 处理器芯片调试系统
CN100481093C (zh) 验证目标系统的验证系统及其验证方法
CN117172018A (zh) 一种适用于多种内核的单片机在线调试系统
US7281162B2 (en) Program-controlled unit
JP2003122594A (ja) 半導体装置および評価装置
CN208384556U (zh) 仿真器
CN110988661B (zh) 一种fpga原型验证开发板时分分析系统、方法、介质及终端
CN113064833A (zh) 一种单片机仿真方法、系统、装置、设备及存储介质
CN108647144A (zh) 仿真器及代码执行异常断点实现方法
CN115098402B (zh) 调试方法以及调试装置
CN112506776A (zh) 处理器芯片调试系统
CN114492261B (zh) 一种芯片仿真系统
CN109542698A (zh) 一种基于变异测试的虚拟原型错误检测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant