实现用户程序断点调试的处理器芯片调试系统的制作方法

文档序号:30386924发布日期:2022-06-11 11:03阅读:151来源:国知局
实现用户程序断点调试的处理器芯片调试系统的制作方法

1.本发明涉及处理器调试技术,特别涉及一种实现用户程序断点调试的处理器芯片调试系统。


背景技术:

2.处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是调试系统。调试系统内使用包含产品处理器芯片各项功能的仿真芯片,用于模拟产品处理器芯片的工作行为,仿真芯片与调试系统其他部件(存放用户程序的程序存储器、存放数据的数据存储器,以及用户电脑上的集成开发环境连接等)配合实现用户程序的仿真运行和各项调试功能。
3.由于仿真芯片是最大限度与产品芯片保持功能、性能一致的,所以也保留了产品芯片中的外部复位功能,在仿真芯片上全速执行代码,测试和调试代码功能和性能时,外部复位功能也必须是具备,并且希望与产品芯片一致的。但是,用户程序调试过程中经常会遇到代码执行过程中出现异常或者与外部设备配合异常,引发外部复位信号输入的情况,此时,非常希望能有调试手段准确地寻找到执行哪一段或哪一句代码时,触发了非预期的外部复位,以便进一步分析和调试代码。
4.使用现有的处理器芯片调试系统调试上述问题时,即使在怀疑存在问题的代码段设置了断点,代码全速执行遇到断点后停止运行,也会因为已经触发了外部复位,仿真芯片处于复位状态了,调试系统无法从仿真芯片导出所有芯片状态信息、寄存器数据等,同时,由于仿真芯片也处于复位状态,用户也无法继续从断点处继续采用单步方式进行调试,导致代码问题调试非常麻烦、调试效率低下。


技术实现要素:

5.本发明要解决的技术问题是提供一种实现用户程序断点调试的处理器芯片调试系统,在用户程序执行到设置了断点的程序代码位置后,无论是否会发生外部复位,调试系统都可以从仿真芯片导出所有芯片状态信息及寄存器数据,同时用户也可以从断点处继续采用单步方式进行调试,而且,用户程序全速执行没有遇到断点时,仍可正常接收和响应外部复位信号,为用户提供了有效的调试手段,极大地方便了处理器芯片的用户调试工作,提高了代码开发和调试的效率。
6.为解决上述技术问题,本发明提供的一种实现用户程序断点调试的处理器芯片调试系统,其包括仿真芯片2、调试模块3和断点地址寄存器4;
7.所述调试模块3,通过标准数据/地址总线8与仿真芯片2地址引脚连接,通过输出外部复位信号线7与仿真芯片2复位引脚连接,通过输入外部复位信号线6与所述调试系统1外的外部设备5连接;
8.所述断点地址寄存器4,用于存储用户程序代码断点地址;
9.所述调试模块3通过所述标准数据/地址总线8获取用户程序执行的实时程序地
址,并与所述调试模块3中断点地址寄存器4内存放的用户程序代码断点地址进行比较;
10.如果用户程序执行的实时程序地址与断点地址寄存器4存放的用户程序代码断点地址不一致,所述调试模块3将所述输入外部复位信号线6上的外部复位信号直接通过所述输出外部复位信号线7输出到仿真芯片2复位引脚;
11.如果用户程序执行的实时程序地址与断点地址寄存器4存放的用户程序代码断点地址相同,所述调试模块3直接通过所述输出外部复位信号线7输出无效状态外部复位信号到仿真芯片2复位引脚。
12.较佳的,所述断点地址寄存器4集成在所述调试模块3中。
13.较佳的,所述仿真芯片2使用fpga实现。
14.较佳的,所述断点地址寄存器4使用fpga实现。
15.较佳的,所述调试模块3使用fpga实现。
16.本发明的实现用户程序断点调试的处理器芯片调试系统,能够实现处理器芯片的用户程序断点调试功能,在用户程序执行到设置了断点的程序代码位置后,无论是否会发生外部复位,调试系统都可以从仿真芯片2导出所有芯片状态信息及寄存器数据,同时用户也可以从断点处继续采用单步方式进行调试,而且,用户程序全速执行没有遇到断点时,仍可正常接收和响应外部复位信号。本发明的中断点实现处理器芯片调试系统,为用户提供了有效的调试手段,极大地方便了处理器芯片的用户调试工作,提高了代码开发和调试的效率。
附图说明
17.为了更清楚地说明本发明的技术方案,下面对本发明所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本发明的实现用户程序断点调试的处理器芯片调试系统一实施例结构示意图。
19.附图标记说明
20.1调试系统;2仿真芯片;3调试模块;4断点地址寄存器;5外部设备;6输入外部复位信号线;7输出外部复位信号线;8标准数据/地址总线。
具体实施方式
21.下面将结合附图,对本发明中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
22.实施例一
23.如图1所示,实现用户程序断点调试的处理器芯片调试系统包括仿真芯片2、调试模块3和断点地址寄存器4;
24.所述调试模块3,通过标准数据/地址总线8与仿真芯片2地址引脚连接,通过输出外部复位信号线7与仿真芯片2复位引脚连接,通过输入外部复位信号线6与所述调试系统1
外的外部设备5连接;
25.所述断点地址寄存器4,用于存储用户程序代码断点地址;
26.所述调试模块3通过所述标准数据/地址总线8获取用户程序执行的实时程序地址,并与所述调试模块3中断点地址寄存器4内存放的用户程序代码断点地址进行比较;
27.如果用户程序执行的实时程序地址与断点地址寄存器4存放的用户程序代码断点地址不一致,所述调试模块3将所述输入外部复位信号线6上的外部复位信号直接通过所述输出外部复位信号线7输出到仿真芯片2复位引脚;
28.如果用户程序执行的实时程序地址与断点地址寄存器4存放的用户程序代码断点地址相同,所述调试模块3直接通过所述输出外部复位信号线7输出无效状态外部复位信号到仿真芯片2复位引脚。
29.较佳的,所述断点地址寄存器4集成在所述调试模块3中。
30.实施例一的实现用户程序断点调试的处理器芯片调试系统,用户设置用户程序断点后,将用户程序代码断点地址存放在所述断点地址寄存器4中。仿真芯片2在运行用户程序过程中,如果用户程序执行的实时程序地址与断点地址寄存器4内存放的用户程序代码断点地址不一致,说明用户程序处于全速执行状态,调试模块3接收从输入外部复位信号线6上输入的外部复位信号并直接通过输出外部复位信号线7向仿真芯片2输出,这样,保证了用户程序全速执行没有遇到断点时,仍可正常接收和响应来自外部设备5的外部复位信号,在功能和性能上保持了仿真芯片2与产品芯片的一致性;如果用户程序执行的实时程序地址与断点地址寄存器4内存放的用户程序代码断点地址相同,说明用户程序遇到断点停止运行,所述调试模块3无论从所述输入外部复位信号线6上接收到何种状态得的外部复位信号,都直接通过输出外部复位信号线7向仿真芯片2输出无效状态外部复位信号。这样,保证了在用户程序执行到设置了断点的程序代码位置后,无论是否会发生外部复位,仿真芯片2都只会从调试模块3接收到无效状态的外部复位信号,仿真芯片2不会进入复位状态,从而仿真芯片2仍可以正常执行调试代码,调试系统可以从仿真芯片2导出所有芯片状态信息及寄存器数据,同时用户也可以从断点处继续采用单步方式进行调试。
31.实施例一的实现用户程序断点调试的处理器芯片调试系统,能够实现处理器芯片的用户程序断点调试功能,在用户程序执行到设置了断点的程序代码位置后,无论是否会发生外部复位,调试系统都可以从仿真芯片2导出所有芯片状态信息及寄存器数据,同时用户也可以从断点处继续采用单步方式进行调试,而且,用户程序全速执行没有遇到断点时,仍可正常接收和响应外部复位信号。实施例一的中断点实现处理器芯片调试系统,为用户提供了有效的调试手段,极大地方便了处理器芯片的用户调试工作,提高了代码开发和调试的效率。
32.实施例二
33.基于实施例一的中断点实现处理器芯片调试系统,所述仿真芯片2使用fpga(field-programmable gate array,即现场可编程门阵列)中的逻辑资源和寄存器资源配合逻辑设计实现。
34.较佳的,所述断点地址寄存器4使用fpga(field-programmable gate array,即现场可编程门阵列)中的逻辑资源和寄存器资源配合逻辑设计实现。
35.较佳的,所述调试模块3使用fpga(field-programmable gate array,即现场可
编程门阵列)中的逻辑资源和寄存器资源配合逻辑设计实现。
36.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1