一种软件调试系统内芯片定位方法及调试报文传输方法技术方案

技术编号:26418180 阅读:9 留言:0更新日期:2020-11-20 14:13
本发明专利技术提供一种树型网络拓扑结构中的节点编码方式,以及基于该节点编码方式的芯片定位方法,以及基于该芯片定位方法的调试报文传输方法;节点编码方式使得拓扑结构中每一个节点获得唯一编码,不存在重复的情况;软件调试系统通过自检的方式结合唯一编码,实现系统内芯片的自定位,并且通过该唯一编码确定上位机与目标芯片通信需要经过的芯片路径,将调试报文准确地发送至目标芯片。

【技术实现步骤摘要】
一种软件调试系统内芯片定位方法及调试报文传输方法
本专利技术涉及软件调试
,尤其是一种针对大规模处理器阵列的软件调试系统内芯片定位及调试报文传输方法。
技术介绍
软件调试是将编制的程序投入实际运行前,将软件以受控制的方法运行起来,根据运行结果发现软件错误并修正的过程。这是保证计算机信息系统正确性必不可少的步骤。在调试系统内,若板卡上有多个芯片,可以使用在线仿真器ICE通过JTAG串联多个处理器,但这种连接关系只能处理少量芯片。当待调试终端上有上百个芯片时,通过JTAG系统进行调试则存在以下问题:1、无法获知芯片之间的互连拓扑关系,参照图1,系统内的芯片通过JTAG串联,而这些芯片正常工作时,通过PCIe、RapidIO等总线通信。通过JTAG串联的芯片与通过PCIE、RapidIO等总线连接的芯片之间并无直接拓扑关系。通过JTAG总线,可以根据JTAG链上的顺序给芯片编号,也可以通过读取芯片拨码开关给芯片编号,但无法获知芯片在整个系统内的拓扑位置。2、当系统中存在多个板卡,每个板卡使用一个在线仿真器ICE进行调试时,无法确定每个芯片的拓扑位置。每个ICE可以通过本地JTAG链上的顺序或者芯片拨码开关读取到芯片号,但同一系统内不同ICE管理的芯片,其芯片号可能存在重合的问题,因此,上位机调试软件无法便捷地识别到芯片在整个大系统内的拓扑位置。除了通过JTAG串联,另一种常见调试方式为,通过在芯片上运行的调试代理软件对系统内运行的其他软件进行调试。gdbserver是这类调试代理软件的典型代表,它可以与主机调试软件gdb配合进行调试。gdbserver运行在远端芯片上,gdb与gdbserver之间通过RSP调试协议进行通信。RSP调试协议可以通过以太网、UART串口等物理通道传输,其低层传输介质不受限制,但这种调试方式存在以下问题:1、当系统内有很多个芯片,而只有部分芯片与上位机通过物理链路相连,则gdb只能通过这些直接通信的芯片上的gdbserver进行调试。gdbserver所在芯片通过其他物理链路连接系统内的其他芯片,而这些芯片与上位机之间并没有直接的物理通信链路,gdbserver无法管理这些芯片,gdb也就无法对其进行调试。2、通过gdbserver无法获知其管理的芯片在系统内的拓扑位置。若上位机通过某种物理链路(例如以太网)与系统内的所有芯片都建立了物理连接,则gdb可以与这些芯片上运行的gdbserver进行通信并对其进行调试,但gdb无法通过gdbserver获得这些芯片之间通过rapidIO、PCIe等总线互连而形成的拓扑关系。
技术实现思路
针对上述技术问题,本专利技术提出一种树型网络拓扑结构中的节点编码方式,以及基于该节点编码方式的芯片定位方法,以及基于该芯片定位方法的调试报文传输方法。本专利技术保护一种树型网络拓扑结构中的节点编码方式,设定与上位机直接通信的节点位于第一层,与第一层节点直接通信的节点位于第二层,以此类推;对于系统中的第N层,与其相邻且靠近上位机的称为上层N-1,与其相邻且远离上位机的称为下层N+1;第N层节点编码由2a1位的第一层节点编号、2a2位的第二层通信链路编号、2a3位的第三层通信链路编号、……、2an位的第N层通信链路编号组成,每一层通信链路编号按照既定规则编制,但不得为零;超过节点所在层的各层通信链路编号均为0。当上位机与第一层节点通过以太网通信时,第一层节点编号按照局域网节点IP地址中的主机号设置。本专利技术还保护一种基于上述节点编码方式的针对大规模处理器阵列的软件调试系统内芯片定位方法,采用逐层发送自检命令包的方式进行,具体包括以下步骤:系统上电后,第一层芯片发起“系统自检”命令,将自检命令包发送给直接相邻的第二层芯片,第一层芯片发送的自检命令包包含第一层芯片编号和层级信息1,其他各层通信链路编号初始化为0;第二层芯片接收到第一层芯片发送的自检命令包后,填充其对应的第二层通信链路编号,并将层级信息加1变为2,然后将修改后的自检命令包转发给第三层芯片;……;第N层芯片接收到第N-1层芯片发送的自检命令包后,填充其对应的第N层通信链路编号,并将层级信息加1变为N。每一层每一个芯片在修改自检命令包后,即可得到自身在全局系统内的芯片编码,并存储在自身的片上SRAM中。当芯片为多核时,芯片根据自身内部对各核的编号规则,在芯片编码上加入内部核号,形成核号编码,并存储在自身的片上SRAM中。本专利技术还保护一种基于上述芯片定位方法的针对大规模处理器阵列的软件调试系统的调试报文传输方法,上位机调试软件根据用户命令行的输入或可视化开发环境的选择,向某个目标芯片发送调试报文,该调试报文中包含该目标芯片的芯片编码。上位机调试软件首先根据第一层芯片编号选择向哪个第一层芯片发送该调试报文,确定的第一层芯片收到该调试报文后,根据第二层通信链路编号选择向哪条通信链路转发该调试报文,以此类推,逐层转发,直至该调试报文转发至该目标芯片。该目标芯片接收到该调试报文后,发现下一层通信链路编号为0,即可确认自身为目标芯片,进而根据该调试报文中的内容执行调试动作。当芯片为多核时,芯片根据自身内部对各核的编号规则,在芯片编码上加入内部核号,形成核号编码,并存储在自身的片上SRAM中;上位机发出的调试报文中包含目标芯片目标核的核号编码即可。本专利技术提供一种树型网络拓扑结构中的节点编码方式,使得拓扑结构中每一个节点获得唯一编码,不存在重复的情况;软件调试系统通过自检的方式结合唯一编码,实现系统内芯片的自定位,并且通过该唯一编码确定上位机与目标芯片通信需要经过的芯片路径,将调试报文准确地发送至目标芯片。附图说明图1为实施例2软件调试系统示意图。具体实施方式下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术的实施例是为了示例和描述起见而给出的,而并不是无遗漏的或者将本专利技术限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本专利技术的原理和实际应用,并且使本领域的普通技术人员能够理解本专利技术从而设计适于特定用途的带有各种修改的各种实施例。实施例1本实施例介绍一种树型网络拓扑结构中的节点编码方式,该树型网络拓扑结构的根节点直接与上位机通信,每个节点与上位机通信有且仅有一条唯一路径。在此基础上,设定与上位机直接通信的节点位于第一层,与第一层节点直接通信的节点位于第二层,以此类推;对于系统中的第N层,与其相邻且靠近上位机的称为上层N-1,与其相邻且远离上位机的称为下层N+1。第N层节点编码由2a1位的第一层节点编号、2a2位的第二层通信链路编号、2a3位的第三层通信链路编号、……、2an位的第N层通信链路编号组成。这里第一层节点编号及每一层通信链路编号的具体位数根据实际需要设计,例如定义32位数据表示节点编码且存在七层节点时,按照下表1安排。7:0...

【技术保护点】
1.一种树型网络拓扑结构中的节点编码方式,其特征在于,设定与上位机直接通信的节点位于第一层,与第一层节点直接通信的节点位于第二层,以此类推;对于系统中的第N层,与其相邻且靠近上位机的称为上层N-1,与其相邻且远离上位机的称为下层N+1;/n第N层节点编码由2

【技术特征摘要】
1.一种树型网络拓扑结构中的节点编码方式,其特征在于,设定与上位机直接通信的节点位于第一层,与第一层节点直接通信的节点位于第二层,以此类推;对于系统中的第N层,与其相邻且靠近上位机的称为上层N-1,与其相邻且远离上位机的称为下层N+1;
第N层节点编码由2a1位的第一层节点编号、2a2位的第二层通信链路编号、2a3位的第三层通信链路编号、……、2an位的第N层通信链路编号组成,每一层通信链路编号按照既定规则编制,但不得为零;超过节点所在层的各层通信链路编号均为0。


2.根据权利要求1所述的节点编码方式,其特征在于,当上位机与第一层节点通过以太网通信时,第一层节点编号按照局域网节点IP地址中的主机号设置。


3.一种基于权利要求1或2所述的节点编码方式的软件调试系统内芯片定位方法,其特征在于,采用逐层发送自检命令包的方式进行,具体包括以下步骤:
系统上电后,第一层芯片发起“系统自检”命令,将自检命令包发送给直接相邻的第二层芯片,第一层芯片发送的自检命令包包含第一层芯片编号和层级信息1,其他各层通信链路编号初始化为0;
第二层芯片接收到第一层芯片发送的自检命令包后,填充其对应的第二层通信链路编号,并将层级信息加1变为2,然后将修改后的自检命令包转发给第三层芯片;
……;
第N层芯片接收到第N-1层芯片发送的自检命令包...

【专利技术属性】
技术研发人员:林广栋耿锐赵纪堂郭利锋
申请(专利权)人:安徽芯纪元科技有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1