一种异构多核调试系统与方法

文档序号:9631465阅读:259来源:国知局
一种异构多核调试系统与方法
【技术领域】
[0001]本发明涉及异构多核系统的调试技术领域,尤其涉及一种异构多核调试系统与方法。
【背景技术】
[0002]SOC(System-on-a-chip,片上系统)是都整合了很多IP资源的集合体,SoC芯片的主要特点就是把一整套方案的不同模块,包括中央处理器,一次性的制作在一颗芯片中。一颗SoC芯片可以有一个或者几个MCU,CPU或DSP,在芯片整体架构搭建完毕之后,需要有一个统一的调试方法来对芯片内的所有模块以及系统软件进行调试。
[0003]对于一个异构多核系统,大多数情况是不同的处理器核心一般运行不同的操作系统。对于很多嵌入式操作系统而言,通常只是导出一个处理器核心的调试信息,对于其他处理器核,调试手段只能依赖于硬件调试接口 JTAG来实现,而且这种调试手段往往只能用于工程开发模式,不适合于量产和商用的后续维护和更新。
[0004]目前市面上,常用的做法是把其他处理器核的日志缓存区log buffer传递到linux系统中,由Linux系统导出,这种方法一般获取的日志信息log的量无法控制,在日志信息log的量大时,容易发生日志信息log丢失的情况,而且从获取的大量日志信息log中提取有用信息,需要花费许多时间;由于受存储区大小的限制,当存储的log量较大时,存储系统后面接收的日志信息log会覆盖前面的日志信息log或将前面的log信息丢弃。这种方法是一种被动调试的方法,只能打印静态的日志信息log。

【发明内容】

[0005]本发明的目的是克服上述现有技术存在的不足,提出一种异构多核调试系统与方法,方便了生产过程中的调试工作以及后续的客户支持,
[0006]—方面,本发明提供了一种异构多核调试系统,该系统包括:1/0接口配置模块、主处理器和至少一个从处理器;1/0接口配置模块,用于接收外部诊断命令,并将所述诊断命令发送给主处理器;以及接收来自主处理器的诊断结果,并输出到外部;主处理器,用于接收诊断命令,并确定由主处理器处理诊断命令,还是由至少一个从处理器中的指定从处理器处理诊断命令;若由主处理器处理诊断命令,则主处理器将诊断结果通过1/0接口配置模块输出到外部;若由主处理器从至少一个从处理器中的指定从处理器处理所述诊断命令,则从处理器将诊断结果通过主处理器和1/0接口配置模块输出到外部。
[0007]另一方面,本发明提供了一种异构多核调试方法,应用于由1/0接口配置模块、主处理器和至少一个从处理器构成的系统该步骤包括:
[0008]接收诊断命令,并根据诊断命令的诊断处理函数的标识信息,查找标识信息对应的诊断处理函数的位置;若诊断处理函数在主处理器上,则由主处理器执行诊断处理函数,并将诊断结果通过1/0接口配置模块输出到外部;若诊断处理函数不在主处理器上,则由主处理器从至少一个从处理器中确定标识信息对应的从处理器执行诊断处理函数,并将诊断结果通过主处理器和I/o接口配置模块输出到外部。
[0009]本发明实施例中用户、PC机或设备应用发出的诊断命令diag command —方面可以生成调试信息,比如LOG信息,另一方面可以触发特定的事件获取相应的信息。本发明实施例通过主动的调试一方面实现了对系统中所有处理器获取调试信息量的控制、调试信息类别的筛选和信息输出的统一性,另一方面提供了一种对异构多核系统的在线诊断方法和接口,方便了生产和开发中的调试工作和后续的客户支持,以及可以通过对系统接口外接设备实现多种控制,具备了良好的灵活性和扩展性。
【附图说明】
[0010]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0011]图1为本发明实施例提供的一种异构多核调试系统的结构示意图;
[0012]图2为图1中主处理器的内部结构示意图;
[0013]图3为图1中至少一个从处理器中任一从处理器的内部结构示意图;
[0014]图4为图1中应用处理器AP与从处理器间的结构示意图;
[0015]图5为本发明实施例提供的一种异构多核调试方法的流程示意图
【具体实施方式】
[0016]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
[0017]本发明实施例中用户、PC机或设备应用发出的诊断命令diag command —方面可以生成调试信息,另一方面可以触发特定的事件获取相应的信息。
[0018]图1为本发明实施例提供的一种异构多核调试系统的结构示意图。本发明实施例将异构多核S0C调试系统的所有处理器核心当成一个整体系统,按核心和功能划分不同的组分;如图1所示,调试系统包括:1/0接口配置模块100、主处理器110和从处理器120。处理器可以是CPU,MCU, DSP,并且在各个处理器上还可以进一步划分成具体功能的处理器,比如EFS,RPC,Power, Wifi等。其中,从处理器120可以是第一从处理器120、第二从处理器120、…或第N从处理器120中的一个或多个,其中,将主处理器110作为至少一个从处理器120的中继路由,并且为了达到隔离数据信息和控制指令的效果,实施例将I/O接口配置模块100以及处理器间通信的通道拆分成控制逻辑通道和信息传输逻辑通道,从而实现逻辑通道的时分复用,保证了控制逻辑通道不会因为信息传输逻辑通道的大数据量导致控制逻辑通道丢失必要信息。
[0019]用户或PC机900通过发送诊断命令,对系统中存在的调试信息进行读取,主处理器110通过I/O接口配置模块100的控制逻辑通道接收该诊断命令,该诊断命令携带有诊断处理函数diagnostic commandhandler的标识信息、对象信息、触发事件中的一种或多种信息。主处理器110从自身或至少一个从处理器120中查找标识信息对应的诊断处理函数。在系统启动时,系统从内部或外部的存储器RAM主动为主处理器110和至少一个从处理器120提供存储空间。
[0020]若主处理器100存在处理该诊断命令的诊断处理函数,则由主处理器110执行诊断处理函数,输出调试信息和处理返回值,输出的调试信息通过I/O接口配置模块100的信息传输逻辑通道发送到用户或PC机900 ;若主处理器100不存在处理该诊断命令的诊断处理函数,则由标识信息对应的从处理器120执行诊断处理函数,输出调试信息和处理返回值,输出的调试信息发送到主处理器100,并通过I/O接口配置模块100的信息传输逻辑通道发送到用户或PC机900。其中,输出的调试信息不仅包括具体的log外,还包括具体数据结构的物理值;输出的处理返回值可以随调试信息一同输出,用于通知用户/PC诊断过程是否成功,也可以提供给系统内其他应用模块。主处理器可以是应用处理器AP。
[0021]本发明实施例通过主动的动态调试不仅实现了对获取的调试信息量的控制与筛选,还可以通过系统接口外接设备实现多种控制,具备良好的灵活性和扩展性,方便了生产过程中的调试工作以及后续的客户支持。
[0022]图2为图1中主处理器的内部结构示意图;图3为图1中至少一个从处理器中任一从处理器的内部结构示意图。如图2所示,主处理器110包括:主控表master comm
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1