CN113704032A - 一种嵌入式异构多核处理器架构并行调试系统及方法 - Google Patents

一种嵌入式异构多核处理器架构并行调试系统及方法 Download PDF

Info

Publication number
CN113704032A
CN113704032A CN202110958852.1A CN202110958852A CN113704032A CN 113704032 A CN113704032 A CN 113704032A CN 202110958852 A CN202110958852 A CN 202110958852A CN 113704032 A CN113704032 A CN 113704032A
Authority
CN
China
Prior art keywords
debugging
command
debugger
target machine
interface
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
CN202110958852.1A
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.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
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 Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202110958852.1A priority Critical patent/CN113704032A/zh
Publication of CN113704032A publication Critical patent/CN113704032A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2247Verification or detection of system hardware configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Landscapes

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

Abstract

本发明涉及一种嵌入式异构多核处理器架构并行调试系统及方法,属于嵌入式调试领域。本发明用户通过交互界面输入调试命令,当调试命令被发出,界面软件同步生成调试器可识别的协议命令,并发送给ARM调试器或DSP调试器;调试命令经调试器转换后发送给调试代理,并通过USB口发送给仿真器;仿真器软件根据协议信息将命令转换成目标机可识别的JTAG命令发送到目标机;同时,以移位方式按原路返回调试结果。本发明针对异构多核处理器平台并行调试的情况,即针对DPS+ARM双核异构硬件环境下,实现基于应用程序的并行调试。为异构多核环境下的运行调试提供了技术支撑。

Description

一种嵌入式异构多核处理器架构并行调试系统及方法
技术领域
本发明属于嵌入式调试领域,具体涉及一种嵌入式异构多核处理器架构并行调试系统及方法。
背景技术
随着计算机技术的不断发展,半导体制造工艺与集成电路设计技术均在不断提高,而面临嵌入式系统小型化、集成化、综合化的发展趋势,传统的单核SoC架构已经无法满足日益增长的性能需求,因此多核SoC技术应运而生。
相较于同构多核系统,异构多核系统能够更加灵活高效地实现资源最优配置。然而,异构多核系统的复杂性,导致在应用设计过程中,对系统逻辑的正确性以及资源调度的合理性都提出了更高的要求,其系统的评估与验证难度也有所提升。因此,设计形成一种可支持国产异构多核处理器架构并行调试的方法,能够动态分析并解决嵌入式系统应用设计问题,对于提升系统的整体性能是至关重要的。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种嵌入式异构多核处理器架构并行调试系统及方法,以解决异构多核系统调试困难的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种嵌入式异构多核处理器架构并行调试系统,该系统包括:开发机、仿真器和目标机;
开发机又包括开发环境、调试器和调试代理;开发环境和调试器间是遵循MI协议进行通信及数据交互;调试器和调试代理间是通过Socket进行通信及数据交互;调试代理完成处理后,会通过USB接口向仿真器发送数据;开发环境用于配置GDB调试器参数和调试代理参数,调试器包括DSP调试器和ARM调试器;
仿真器包括仿真器驻留软件,通过USB接口与开发机对接,通过GPIO接口与目标机对接,当通过GPIO接口或USB接口接收到外数据后,驻留软件完成数据处理后会通过USB接口或GPIO接口向开发机或目标机传递数据;
目标机包括JTAG接口,用于与仿真器的GPIO接口对接,负责完成数据解析处理与返还结果。
进一步地,所述开发环境用于使用调试界面提供命令输入功能,接受用户调试命令;配置GDB调试器参数、调试代理参数;向调试器传递调试命令;显示调试结果及调试状态。
进一步地,调试结果及调试状态包括:是否具备调试状态,以及目标机寄存器内容、内存内容、堆栈内容及断点内容。
进一步地,用户在调试界面下,通过MI协议向调试器发送调试命令;调试器接收到调试命令后,通过解析确定具体的操作命令;调试器通过远程串行通信协议(RSP)将调试命令转换成ASCII码协议包;调试代理软件建立两个线程,分别支持面向DSP和ARM两个异构处理器核的调试器连接,同时调试代理作为服务端,通过已设置的数据通信通道,使用SCOKET套接字方式,实现与调试器上下行数据通信。
进一步地,所述调试代理用于启动两个线程,分别建立与ARM调试器和DSP调试器的连接,任一连接从ARM调试器或DSP调试器接收到完整的调试命令后,完成命令解析,并尝试获取发送命令许可;若许可,则通过USB接口向仿真器发送GDB命令。
进一步地,所述仿真器通过驻留软件将获取到调试代理发送的GDB命令通过协议转换发送到目标机,执行命令返回结果按原路径返回给开发机。
进一步地,仿真器驻留软件按照JTAG状态机的时序要求,将调试命令转换为JTAG协议包与目标机进行通信,并通过写操作(doWrite)、读操作(doRead)接口实现对目标机内部寄存器、下载调试代码、插入删除断点的调试功能,若执行调试命令异常,则将异常状态回传至用户界面显示。
本发明提供一种嵌入式异构多核处理器架构并行调试方法,
在开发环境中,使用调试界面提供命令输入功能,接受用户调试命令;配置GDB调试器参数、调试代理参数;向调试器传递调试命令;显示调试结果及调试状态;
用户在调试界面下,向DSP调试器或ARM调试器发送调试命令,调试器接收到调试命令后,通过解析确定具体的操作命令,并发送至调试代理;
调试代理启动两个线程,分别建立与ARM调试器和DSP调试器的连接,任一连接从ARM调试器或DSP调试器接收到完整的调试命令后,完成命令解析,通过USB接口向仿真器发送GDB命令;
当开发机通过仿真器与目标机连接后,仿真器通过驻留软件将获取到调试代理发送的GDB命令通过协议转换发送到目标机,执行命令返回结果按原路径返回给开发机。
进一步地,调试结果及调试状态包括:是否具备调试状态,以及目标机寄存器内容、内存内容、堆栈内容及断点内容。
进一步地,仿真器中的驻留软件将获取的调试信息转换为JTAG协议包与目标机进行通信,并通过写操作(doWrite)、读操作(doRead)接口实现对目标机内部寄存器、下载调试代码、插入删除断点的调试功能。
(三)有益效果
本发明提出一种嵌入式异构多核处理器架构并行调试系统及方法,本发明嵌入式异构多核处理器架构并行调试系统及方法,针对异构多核处理器平台并行调试的情况,即针对DPS+ARM双核异构硬件环境下,实现基于应用程序的并行调试。为异构多核环境下的运行调试提供了技术支撑。
附图说明
图1为本发明嵌入式异构多核处理器架构并行调试系统的整体结构图;
图2为本发明嵌入式异构多核处理器架构并行调试方法的调试流程图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明的目的在于提供一种嵌入式多核处理器架构并行调试方法,用于解决上述现有技术的问题。
本发明一种嵌入式多核处理器架构并行调试方法,其中,包括:用户通过交互界面输入调试命令,当调试命令被发出,界面软件同步生成调试器可识别的协议命令,并发送给相应调试器;调试命令经调试器转换后发送给调试代理,并通过USB口发送给仿真器;仿真器软件根据协议信息将命令转换成目标机可识别的JTAG命令发送给目标机;同时,以移位方式按原路返回调试结果。
根据的嵌入式异构多核处理器架构并行调试系统及方法的一实施例,其中,需要通过调试界面,下达调试命令,并生成调试器可识别的协议命令,发送给不同的调试器。
根据的嵌入式异构多核处理器架构并行调试系统及方法的一实施例,其中,调试命令经不同的调试器转换后,将命令发送给对应的调试代理,并通过USB口发送给仿真器。
根据的嵌入式异构多核处理器架构并行调试系统及方法的一实施例,其中,仿真器通过JTAG将调试命令下达至目标机,并通过该回路将调试数据、信息以移位方式按原路返回。
本发明嵌入式异构多核处理器架构并行调试系统及方法,针对异构多核处理器平台并行调试的情况,即针对DPS+ARM双核异构硬件环境下,实现基于应用程序的并行调试。为异构多核环境下的运行调试提供了技术支撑。
图1所示为本发明嵌入式异构多核处理器架构并行调试系统的整体结构图,为实现此调试方法,该系统包括:开发机、仿真器和目标机。
开发机又包括开发环境、调试器和调试代理。开发环境和调试器间是遵循MI协议进行通信及数据交互;调试器和调试代理间是通过Socket进行通信及数据交互;调试代理完成处理后,会通过USB接口向仿真器发送数据。
仿真器包括仿真器驻留软件,通过USB接口与开发机对接,通过GPIO接口与目标机对接,当通过GPIO接口或USB接口接收到外数据后,驻留软件完成数据处理后会通过USB接口或GPIO接口向开发机或目标机传递数据。
目标机则包括JTAG接口,用于与仿真器的GPIO接口对接,负责完成数据解析处理与返还结果。
本发明嵌入式异构多核处理器架构并行调试方法主要包括:设置调试参数并下达调试命令、建立调试连接、进行调试仿真、进行JTAG解析与数据回传四个部分。
本发明嵌入式异构多核处理器架构并行调试方法具体包括:
设置调试参数并下达调试命令,包括:
在开发环境中,使用调试界面提供命令输入功能,接受用户调试命令;配置GDB调试器参数、调试代理参数;向调试器传递调试命令;显示调试结果及调试状态,如是否具备调试状态,以及目标机寄存器内容、内存内容、堆栈内容及断点内容等信息。
下达调试命令,包括:
用户在调试界面下,向调试器发送调试命令,调试器接收到调试命令后,通过解析确定具体的操作命令,并发送至调试代理;调试器包括DSP调试器和ARM调试器;
建立调试连接,包括:
根据目标机的体系结构,调试代理启动两个线程,分别建立与ARM调试器和DSP调试器的连接。任一连接从ARM调试器或DSP调试器接收到完整的调试命令后,完成命令解析,并尝试获取发送命令许可;若许可,则通过USB接口向仿真器发送GDB命令。
进行调试仿真,包括:
当开发机通过仿真器与目标机连接后,仿真器通过驻留软件将获取到调试代理发送的GDB命令通过协议转换发送到目标机,执行命令返回结果按原路径返回给开发机。
进行JTAG解析与数据回传,包括:
仿真器驻留软件按照JTAG状态机的时序要求,将调试命令发送到目标机中,同时以后台监听方式获取返回结果。
本发明嵌入式异构多核处理器架构并行调试方法的另一实施例包括:
1、设置调试参数并下达调试命令
在开发环境中,用户设置与目标机配套的DSP、ARM两个GDB调试器的参数以及调试代理的参数。
下达调试命令,检查ARM调试器和DSP调试器是否准备就绪。若准备就绪,则可建立调试连接;否则重新检查调试器状态。
2、建立调试连接
用户在调试界面下,通过MI协议向调试器发送调试命令;调试器接收到调试命令后,通过解析确定具体的操作命令;调试器通过远程串行通信协议(RSP)将调试命令转换成ASCII码协议包;
调试代理软件建立两个线程,分别支持面向DSP和ARM两个异构处理器核的调试器连接。同时调试代理作为服务端,通过已设置的数据通信通道,使用SCOKET套接字方式,实现与调试器上下行数据通信。
若调试连接未建立成功,系统检测目标机状态,调试器配置等信息,并在用户界面上显示异常状态。
3、解析调试命令
调试代理将获取的调试命令通过调用封装的USB驱动程序接口转换为具体的调试参数,下发给仿真器。
仿真器捕获来自调试代理下发的调试命令,判断命令的有效性,若命令有效,则处理此条命令并下发给目标机,处理完成后继续捕获下一条命令;若命令异常,仿真器舍弃该条调试命令,等待获取下一条调试命令。
4、执行调试命令
捕获相应的调试命令后,仿真器中的驻留软件将获取的调试信息转换为约定的数据包格式(JTAG协议包)与目标机进行通信,并通过写操作(doWrite)、读操作(doRead)接口实现对目标机内部寄存器、下载调试代码、插入删除断点等所需要的调试功能。
若执行调试命令异常,则将异常状态回传至用户界面显示。
5、进行JTAG解析与数据回传
仿真器中驻留软件将接收到的调试命令通过GPIO接口进行输出,在目标机通过JTAG接口接收调试信息,并解析操作,进行调试动作。
执行后,将数据信息通过链路回路返回至开发环境,并在界面中显示调试结果。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种嵌入式异构多核处理器架构并行调试系统,其特征在于,该系统包括:开发机、仿真器和目标机;
开发机又包括开发环境、调试器和调试代理;开发环境和调试器间是遵循MI协议进行通信及数据交互;调试器和调试代理间是通过Socket进行通信及数据交互;调试代理完成处理后,会通过USB接口向仿真器发送数据;开发环境用于配置GDB调试器参数和调试代理参数,调试器包括DSP调试器和ARM调试器;
仿真器包括仿真器驻留软件,通过USB接口与开发机对接,通过GPIO接口与目标机对接,当通过GPIO接口或USB接口接收到外数据后,驻留软件完成数据处理后会通过USB接口或GPIO接口向开发机或目标机传递数据;
目标机包括JTAG接口,用于与仿真器的GPIO接口对接,负责完成数据解析处理与返还结果。
2.如权利要求1所述的嵌入式异构多核处理器架构并行调试系统,其特征在于,所述开发环境用于使用调试界面提供命令输入功能,接受用户调试命令;配置GDB调试器参数、调试代理参数;向调试器传递调试命令;显示调试结果及调试状态。
3.如权利要求2所述的嵌入式异构多核处理器架构并行调试系统,其特征在于,调试结果及调试状态包括:是否具备调试状态,以及目标机寄存器内容、内存内容、堆栈内容及断点内容。
4.如权利要求2所述的嵌入式异构多核处理器架构并行调试系统,其特征在于,用户在调试界面下,通过MI协议向调试器发送调试命令;调试器接收到调试命令后,通过解析确定具体的操作命令;调试器通过远程串行通信协议(RSP)将调试命令转换成ASCII码协议包;调试代理软件建立两个线程,分别支持面向DSP和ARM两个异构处理器核的调试器连接,同时调试代理作为服务端,通过已设置的数据通信通道,使用SCOKET套接字方式,实现与调试器上下行数据通信。
5.如权利要求1所述的嵌入式异构多核处理器架构并行调试系统,其特征在于,所述调试代理用于启动两个线程,分别建立与ARM调试器和DSP调试器的连接,任一连接从ARM调试器或DSP调试器接收到完整的调试命令后,完成命令解析,并尝试获取发送命令许可;若许可,则通过USB接口向仿真器发送GDB命令。
6.如权利要求1所述的嵌入式异构多核处理器架构并行调试系统,其特征在于,所述仿真器通过驻留软件将获取到调试代理发送的GDB命令通过协议转换发送到目标机,执行命令返回结果按原路径返回给开发机。
7.如权利要求6所述的嵌入式异构多核处理器架构并行调试系统,其特征在于,仿真器驻留软件按照JTAG状态机的时序要求,将调试命令转换为JTAG协议包与目标机进行通信,并通过写操作(doWrite)、读操作(doRead)接口实现对目标机内部寄存器、下载调试代码、插入删除断点的调试功能,若执行调试命令异常,则将异常状态回传至用户界面显示。
8.一种嵌入式异构多核处理器架构并行调试方法,其特征在于,
在开发环境中,使用调试界面提供命令输入功能,接受用户调试命令;配置GDB调试器参数、调试代理参数;向调试器传递调试命令;显示调试结果及调试状态;
用户在调试界面下,向DSP调试器或ARM调试器发送调试命令,调试器接收到调试命令后,通过解析确定具体的操作命令,并发送至调试代理;
调试代理启动两个线程,分别建立与ARM调试器和DSP调试器的连接,任一连接从ARM调试器或DSP调试器接收到完整的调试命令后,完成命令解析,通过USB接口向仿真器发送GDB命令;
当开发机通过仿真器与目标机连接后,仿真器通过驻留软件将获取到调试代理发送的GDB命令通过协议转换发送到目标机,执行命令返回结果按原路径返回给开发机。
9.如权利要求8所述的嵌入式异构多核处理器架构并行调试系统,其特征在于,调试结果及调试状态包括:是否具备调试状态,以及目标机寄存器内容、内存内容、堆栈内容及断点内容。
10.如权利要求8所述的嵌入式异构多核处理器架构并行调试系统,其特征在于,仿真器中的驻留软件将获取的调试信息转换为JTAG协议包与目标机进行通信,并通过写操作(doWrite)、读操作(doRead)接口实现对目标机内部寄存器、下载调试代码、插入删除断点的调试功能。
CN202110958852.1A 2021-08-20 2021-08-20 一种嵌入式异构多核处理器架构并行调试系统及方法 Pending CN113704032A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110958852.1A CN113704032A (zh) 2021-08-20 2021-08-20 一种嵌入式异构多核处理器架构并行调试系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110958852.1A CN113704032A (zh) 2021-08-20 2021-08-20 一种嵌入式异构多核处理器架构并行调试系统及方法

Publications (1)

Publication Number Publication Date
CN113704032A true CN113704032A (zh) 2021-11-26

Family

ID=78653602

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110958852.1A Pending CN113704032A (zh) 2021-08-20 2021-08-20 一种嵌入式异构多核处理器架构并行调试系统及方法

Country Status (1)

Country Link
CN (1) CN113704032A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117632570A (zh) * 2024-01-25 2024-03-01 上海励驰半导体有限公司 基于多核异构soc的多操作系统诊断方法、装置和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117632570A (zh) * 2024-01-25 2024-03-01 上海励驰半导体有限公司 基于多核异构soc的多操作系统诊断方法、装置和系统
CN117632570B (zh) * 2024-01-25 2024-04-12 上海励驰半导体有限公司 基于多核异构soc的多操作系统诊断方法、装置和系统

Similar Documents

Publication Publication Date Title
US5600579A (en) Hardware simulation and design verification system and method
CN107704346B (zh) Soc芯片调试方法及调试系统
JPH10207732A (ja) 集積回路装置及びその通信方法
US9852038B2 (en) Debugging system and debugging method of multi-core processor
CN101840368B (zh) 多核处理器的jtag实时片上调试方法及其系统
JPH10232792A (ja) 集積回路装置及びその通信方法
CN103226506B (zh) 内嵌于芯片的usb转jtag调试装置及其调试方法
CN101382915B (zh) 一种软件调试系统及调试方法
CN105740139B (zh) 一种基于虚拟环境的嵌入式软件调试方法
CN113704032A (zh) 一种嵌入式异构多核处理器架构并行调试系统及方法
CN114024871B (zh) 一种芯片验证方法、系统、计算机设备及可读存储介质
JPH10198576A (ja) 集積回路装置及びその通信方法
JPH10198581A (ja) メッセージプロトコル
US20060259753A1 (en) Automatic halting of a processor in debug mode due to reset
WO2014000299A1 (zh) 串口重定向处理方法、设备和系统
US7711535B1 (en) Simulation of hardware and software
CN116610590A (zh) 基于zynq平台实现多片fpga远程调试方法及系统
CN115454881B (zh) Risc-v架构的调试系统及调试方法
CN110018754A (zh) 传输触控数据的方法和触控显示设备
CN110399255A (zh) 一种fpga系统及fpga系统的调试系统
KR101400396B1 (ko) 메모리 주소를 이용한 임베디드 소프트웨어의 실시간 디버깅 방법
CN109725621A (zh) 一种基于1553b总线和can总线的二级总线程序在线烧写方法
CN103455401A (zh) 一种dsp和fpga紧耦合架构的协同验证方法
CN102567070A (zh) 手机软件调试方法及其模拟器
US20070294590A1 (en) Compression scheme to reduce the bandwidth requirements for continuous trace stream encoding of system performance

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