多核SoC芯片的开发架构及多核SoC芯片的开发方法[发明专利]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201810200819.0
(22)申请日 2018.03.12
(71)申请人 深圳怡化电脑股份有限公司
地址 518000 广东省深圳市南山区后海大
道2388号怡化金融科技大厦26楼
申请人 深圳市怡化时代科技有限公司 
深圳市怡化金融智能研究院
(72)发明人 赵树森 
(74)专利代理机构 深圳市铭粤知识产权代理有
限公司 44304
代理人 孙伟峰
(51)Int.Cl.
G06F 11/36(2006.01)
(54)发明名称
多核SoC芯片的开发架构及多核SoC芯片的
开发方法
(57)摘要
本发明公开了一种多核SOC芯片的开发架
构,包括:SoC芯片,包括主内核和N个从内核,N为
正整数;宿主机,包括主运行模块和N个从运行模
块,第i个从运行模块与第i个从内核对应且功能
相同,所述主运行模块与所述主内核的功能相
同,1≤i≤N且i为整数。

本发明还公开了一种多
核SoC芯片的开发方法。

本发明通过在宿主机上
设置与SoC芯片的主内核相对应的主运行模块、
与从内核相对应的从运行模块,待调试的从应用
程序在宿主机的从运行模块上运行并通过第二
虚拟通信接口与SoC芯片上的主内核和从内核进
行指令传送,以此模拟SoC芯片的内核与内核之
间的通信,降低SoC芯片的开发难度,且调试过程
可操作性强、便于开发,且有效缩短开发周期,降
低研发成本。

权利要求书2页 说明书6页 附图2页CN 108415839 A 2018.08.17
C N 108415839
A
1.一种多核SoC芯片的开发架构,其特征在于,包括:
SoC芯片,包括主内核和N个从内核,N为正整数;
宿主机,包括主运行模块和N个从运行模块,第i个从运行模块与第i个从内核对应且功能相同,所述主运行模块与所述主内核对应且功能相同,1≤i≤N且i为整数;
当对所述SoC芯片进行开发时,所述主运行模块对将加载到所述主内核的主应用程序进行运行调试,将调试完成后的主应用程序加载到所述主内核中,加载了调试完成后的主应用程序的所述主内核运行;第i个从运行模块对将加载到第i个从内核的从应用程序进行运行,所述第i个从运行模块运行过程中产生的激励指令传给加载了调试完成后的主应用程序的所述主内核,加载了调试完成后的主应用程序的所述主内核接收所述激励指令,并且加载了调试完成后的主应用程序的所述主内核将所述激励指令发送到目的从内核,加载了调试完成后的主应用程序的所述主内核和/或所述目的从内核根据所述激励指令生成响应指令,并且加载了调试完成后的主应用程序的所述主内核将所述响应指令回传给目的从运行模块,所述第i个从运行模块通过所述激励指令和所述响应指令的反复交互实现对所述第i个从内核的从应用程序的调试,所述第i个从内核的从应用程序调试完成后加载到相应的所述第i个从内核中。

2.根据权利要求1所述的多核SoC芯片的开发架构,其特征在于,当对所述SoC芯片进行开发时,所述主运行模块以及配合于所述主运行模块的从运行模块同时运行,以使所述主运行模块完成对所述主应用程序的运行调试。

3.根据权利要求2所述的多核SoC芯片的开发架构,其特征在于,当对所述SoC芯片进行开发时,加载了调试完成后的主应用程序的所述主内核进行运行,第i个从运行模块以及配合于第i个从运行模块的其他所述从运行模块和/或所述主运行模块同时运行,以使第i个从运行模块完成对将加载到第i个从内核的从应用程序的运行。

4.根据权利要求2所述的多核SoC芯片的开发架构,其特征在于,当对所述SoC芯片进行开发时,加载了调试完成后的主应用程序的所述主内核进行运行,第i个从运行模块以及配合于第i个从运行模块的其他所述从运行模块和/或所述主运行模块和/或已加载了调试完成后的从应用程序的从内核同时运行,以使第i个从运行模块完成对将加载到第i个从内核的从应用程序的运行,所述其他从运行模块包括除与已加载了调试完成后的从应用程序的从内核对应的从运行模块之外的配合于第i个从运行模块的从运行模块。

5.根据权利要求1至4任一项所述的多核SoC芯片的开发架构,其特征在于,所述主内核和所述从内核均具有第一虚拟通信接口,所述主运行模块和所述从运行模块均具有第二虚拟通信接口;
所述主内核通过其第一虚拟通信接口和所述主运行模块的第二虚拟通信接口与所述主运行模块进行指令的传送,或者所述主内核通过其第一虚拟通信接口和所述从运行模块的第二虚拟通信接口与所述从运行模块进行指令的传送;
所述从内核通过其第一虚拟通信接口和所述主内核的第一虚拟通信接口与所述主内核进行指令的传送。

6.一种多核SoC芯片的开发方法,其特征在于,包括步骤:
S101、宿主机的主运行模块对将加载到所述主内核的主应用程序进行运行调试;
S102、将调试完成后的主应用程序加载到所述主内核中;
S103、加载了调试完成后的主应用程序的所述主内核运行;
S104、宿主机的N个从运行模块中的第i个从运行模块对将加载到SoC芯片的N个从内核中的第i个从内核的从应用程序进行运行,所述第i个从运行模块运行过程中产生激励指令传送给加载了调试完成后的主应用程序的所述主内核,加载了调试完成后的主应用程序的所述主内核接收所述激励指令,并且加载了调试完成后的主应用程序的所述主内核将所述激励指令发送到目的从内核,加载了调试完成后的主应用程序的所述主内核和/或所述目的从内核根据所述激励指令生成响应指令,并且加载了调试完成后的主应用程序的所述主内核将所述响应指令回传给目的从运行模块,所述第i个从运行模块通过所述激励指令和所述响应指令的反复交互对所述第i个从内核的从应用程序进行调试,其中1≤i≤N,i和N 为正整数;
S105、将调试完成后的第i个从应用程序加载到相应的所述第i个从内核中。

7.根据权利要求6所述的多核SoC芯片的开发方法,其特征在于,所述步骤S101进一步包括:所述主运行模块以及配合于所述主运行模块的所述从运行模块同时运行,以使所述主运行模块完成对所述主应用程序的运行调试。

8.根据权利要求7所述的多核SoC芯片的开发方法,其特征在于,所述步骤S104进一步包括:加载了调试完成后的主应用程序的所述主内核进行运行,第i个从运行模块以及配合于第i个从运行模块的其他所述从运行模块和/或所述主运行模块同时运行,以使第i个从运行模块完成对将加载到第i个从内核的从应用程序的运行。

9.根据权利要求7所述的多核SoC芯片的开发方法,其特征在于,所述步骤S104进一步包括:加载了调试完成后的主应用程序的所述主内核进行运行,第i个从运行模块以及配合于第i个从运行模块的其他所述从运行模块和/或所述主运行模块和/或已加载了调试完成后的从应用程序的从内核同时运行,以使第i个从运行模块完成对将加载到第i个从内核的从应用程序的运行,所述其他从运行模块包括除与已加载了调试完成后的从应用程序的从内核对应的从运行模块之外的配合于第i个从运行模块的从运行模块。

10.根据权利要求6至9任一项所述的多核SoC芯片的开发方法,其特征在于,所述主内核和所述从内核均具有第一虚拟通信接口,所述主运行模块和所述从运行模块均具有第二虚拟通信接口;
所述主内核通过其第一虚拟通信接口和所述主运行模块的第二虚拟通信接口与所述主运行模块进行指令的传送,或者所述主内核通过其第一虚拟通信接口和所述从运行模块的第二虚拟通信接口与所述从运行模块进行指令的传送;
所述从内核通过其第一虚拟通信接口和所述主内核的第一虚拟通信接口与所述主内核进行指令的传送。

多核SoC芯片的开发架构及多核SoC芯片的开发方法
技术领域
[0001]本发明芯片开发技术领域,具体地,设计一种应用于多核SoC芯片的开发架构及开发方法。

背景技术
[0002]系统级芯片SoC的多核处理器的软件开发,一般是使用通用的嵌入式设备软、硬件开发环境,没有成熟便捷的Windows或Linux通用开发环境与之兼容,致使开发、调试困难,软件开发周期长,研发成本大。

[0003]现有技术中,系统级芯片SoC的多核处理器的软件开发通用的方法是在线调试,通过使用JTAG等连接调试端口,对位于不同核的程序逐一调试。

内核在SoC芯片上调试,无法有效地跟踪数据的传送情况,也无法方便地对待测试的程序进行修改。

且多核中的主核和其他从核的开发有相关性,一般采用迭代式累进开发。

但是该方法调试困难,尤其在初期程序不完善时更加复杂。

发明内容
[0004]为解决上述现有技术存在的问题,本发明提供了一种利用具有成熟开发环境对SoC芯片进行调试开发的多核SOC芯片的开发架构及多核SoC芯片的开发方法。

[0005]为了达到上述发明目的,本发明采用了如下的技术方案:
[0006]根据本发明的一方面,提供了一种多核SoC芯片的开发架构,包括:
[0007]SoC芯片,包括主内核和N个从内核,N为正整数;
[0008]宿主机,包括主运行模块和N个从运行模块,第i个从运行模块与第i个从内核对应且功能相同,所述主运行模块与所述主内核对应且功能相同,1≤i≤N且i为整数;[0009]当对所述SoC芯片进行开发时,所述主运行模块对将加载到所述主内核的主应用程序进行运行调试,将调试完成后的主应用程序加载到所述主内核中,加载了调试完成后的主应用程序的所述主内核运行;第i个从运行模块对将加载到第i个从内核的从应用程序进行运行,所述第i个从运行模块运行过程中产生的激励指令传给加载了调试完成后的主应用程序的所述主内核,加载了调试完成后的主应用程序的所述主内核接收所述激励指令,并且加载了调试完成后的主应用程序的所述主内核将所述激励指令发送到目的从内核,加载了调试完成后的主应用程序的所述主内核和/或所述目的从内核根据所述激励指令生成响应指令,并且加载了调试完成后的主应用程序的所述主内核将所述响应指令回传给目的从运行模块,所述第i个从运行模块通过所述激励指令和所述响应指令的反复交互实现对所述第i个从内核的从应用程序的调试,所述第i个从内核的从应用程序调试完成后加载到相应的所述第i个从内核中。

[0010]具体地,当对所述SoC芯片进行开发时,所述主运行模块以及配合于所述主运行模块的从运行模块同时运行,以使所述主运行模块完成对所述主应用程序的运行调试。

[0011]具体地,当对所述SoC芯片进行开发时,加载了调试完成后的主应用程序的所述主
内核进行运行,第i个从运行模块以及配合于第i个从运行模块的其他所述从运行模块和/或所述主运行模块同时运行,以使第i个从运行模块完成对将加载到第i个从内核的从应用程序的运行。

[0012]具体地,当对所述SoC芯片进行开发时,加载了调试完成后的主应用程序的所述主内核进行运行,第i个从运行模块以及配合于第i个从运行模块的其他所述从运行模块和/或所述主运行模块和/或已加载了调试完成后的从应用程序的从内核同时运行,以使第i个从运行模块完成对将加载到第i个从内核的从应用程序的运行,所述其他从运行模块包括除与已加载了调试完成后的从应用程序的从内核对应的从运行模块之外的配合于第i个从运行模块的从运行模块。

[0013]具体地,所述主内核和所述从内核均具有第一虚拟通信接口,所述主运行模块和所述从运行模块均具有第二虚拟通信接口;
[0014]所述主内核通过其第一虚拟通信接口和所述主运行模块的第二虚拟通信接口与所述主运行模块进行指令的传送,或者所述主内核通过其第一虚拟通信接口和所述从运行模块的第二虚拟通信接口与所述从运行模块进行指令的传送;
[0015]所述从内核通过其第一虚拟通信接口和所述主内核的第一虚拟通信接口与所述主内核进行指令的传送。

[0016]根据本发明的另一方面,还提供了一种多核SoC芯片的开发方法,包括步骤:[0017]S101、宿主机的主运行模块对将加载到所述主内核的主应用程序进行运行调试;[0018]S102、将调试完成后的主应用程序加载到所述主内核中;
[0019]S103、加载了调试完成后的主应用程序的所述主内核运行;
[0020]S104、宿主机的N个从运行模块中的第i个从运行模块对将加载到SoC芯片的N个从内核中的第i个从内核的从应用程序进行运行,所述第i个从运行模块运行过程中产生激励指令传送给加载了调试完成后的主应用程序的所述主内核,加载了调试完成后的主应用程序的所述主内核接收所述激励指令,并且加载了调试完成后的主应用程序的所述主内核将所述激励指令发送到目的从内核,加载了调试完成后的主应用程序的所述主内核和/或所述目的从内核根据所述激励指令生成响应指令,并且加载了调试完成后的主应用程序的所述主内核将所述响应指令回传给目的从运行模块,所述第i个从运行模块通过所述激励指令和所述响应指令的反复交互对所述第i个从内核的从应用程序进行调试,其中1≤i≤N,i 和N为正整数;
[0021]S105、将调试完成后的第i个从应用程序加载到相应的所述第i个从内核中。

[0022]具体地,所述步骤S101进一步包括:所述主运行模块以及配合于所述主运行模块的所述从运行模块同时运行,以使所述主运行模块完成对所述主应用程序的运行调试。

[0023]具体地,所述步骤S104进一步包括:加载了调试完成后的主应用程序的所述主内核进行运行,第i个从运行模块以及配合于第i个从运行模块的其他所述从运行模块和/或所述主运行模块同时运行,以使第i个从运行模块完成对将加载到第i个从内核的从应用程序的运行。

[0024]具体地,所述步骤S104进一步包括:加载了调试完成后的主应用程序的所述主内核进行运行,第i个从运行模块以及配合于第i个从运行模块的其他所述从运行模块和/或所述主运行模块和/或已加载了调试完成后的从应用程序的从内核同时运行,以使第i个从
运行模块完成对将加载到第i个从内核的从应用程序的运行,所述其他从运行模块包括除与已加载了调试完成后的从应用程序的从内核对应的从运行模块之外的配合于第i个从运行模块的从运行模块。

[0025]具体地,所述主内核和所述从内核均具有第一虚拟通信接口,所述主运行模块和所述从运行模块均具有第二虚拟通信接口;
[0026]所述主内核通过其第一虚拟通信接口和所述主运行模块的第二虚拟通信接口与所述主运行模块进行指令的传送,或者所述主内核通过其第一虚拟通信接口和所述从运行模块的第二虚拟通信接口与所述从运行模块进行指令的传送;
[0027]所述从内核通过其第一虚拟通信接口和所述主内核的第一虚拟通信接口与所述主内核进行指令的传送。

[0028]本发明的有益效果:本发明通过在宿主机上设置与SoC芯片的主内核相对应的主运行模块、与从内核相对应的从运行模块,待调试的从应用程序在宿主机的从运行模块上运行并通过第二虚拟通信接口与SoC芯片上的主内核和从内核进行指令传送,以此模拟SoC 芯片的内核与内核之间的通信,降低SoC芯片的开发难度,且调试过程可操作性强、便于开发,且有效缩短开发周期,降低研发成本。

附图说明
[0029]通过结合附图进行的以下描述,本发明的实施例的上述和其它方面、特点和优点将变得更加清楚,附图中:
[0030]图1是根据本发明的实施例的多核SoC芯片的开发架构的结构示意图;
[0031]图2是根据本发明的实施例的多核SoC芯片的开发方法的流程图。

具体实施方式
[0032]以下,将参照附图来详细描述本发明的实施例。

然而,可以以许多不同的形式来实施本发明,并且本发明不应该被解释为限制于这里阐述的具体实施例。

相反,提供这些实施例是为了解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够理解本发明的各种实施例和适合于特定预期应用的各种修改。

在附图中,为了清楚起见,可以夸大元件的形状和尺寸,并且相同的标号将始终被用于表示相同或相似的元件。

[0033]将理解的是,尽管在这里可使用术语“第一”、“第二”等来描述各种元件,但是这些元件不应受这些术语的限制。

这些术语仅用于将一个元件与另一个元件区分开来。

[0034]图1是根据本发明的实施例的多核SoC芯片的开发架构的结构示意图。

[0035]参照图1,根据本发明的实施例的多核SoC芯片的开发架构,包括:SoC芯片10及宿主机20。

可以理解的是,本发明并不限制于此,根据本发明的实施例的多核SoC芯片的开发架构还可以包括其它必要的结构。

[0036]具体地,SoC芯片10包括主内核11和N个从内核12,其中N为正整数。

主内核11主要运行SoC芯片10与宿主机20之间的通信功能和SoC芯片10内部的系统资源的驱动。

从内核12接收主内核11的调配,由主内核11统一接收宿主机20传过来的激励指令,并通过主内核11的运行和/或调配从内核12的运行生成响应指令对宿主机20进行回应。

[0037]宿主机20包括主运行模块21和N个从运行模块22,第i个从运行模块22与第i个从
内核12对应且功能相同。

主运行模块21与主内核11对应且功能相同,其中,1≤i≤N且i为整数。

宿主机20采用Windows或Linux通用开发环境,待调试的程序在宿主机20上运行,基于Windows或Linux成熟的开发环境对待调试的程序进行开发、调试,使调试过程简单、容易操作,方便开发人员跟踪调试过程中的数据传送。

[0038]当对SoC芯片10进行开发时,主运行模块21对将加载到主内核11的主应用程序进行运行,对主应用程序进行调试。

将调试完成后的主应用程序加载到主内核11中。

加载了主应用程序的主内核11运行。

第i个从运行模块22对将加载到第i个从内核12的从应用程序进行运行。

第i个从运行模块运行过程中产生的激励指令传送给加载了调试完成后的主应用程序的主内核11,加载了调试完成后的主应用程序的主内核11接收激励指令,并且加载了调试完成后的主应用程序的主内核11将激励指令发送到目的从内核。

主内核11和/或目的从内核根据激励指令生成响应指令。

第i个从运行模块通过激励指令与响应指令的反复交互模拟SoC芯片中内核与内核之间的通信来对第i个从应用程序进行调试。

由于第i个从应用程序是在宿主机20上进行调试,调试过程中可以对从应用程序进行修改、设置断点,还可以跟踪数据的传送,极大地方便了开发者进行开发。

[0039]优选地,主内核11和从内核12均具有第一虚拟通信接口(图未示)。

主运行模块21和从运行模块22均具有第二虚拟通信接口(图未示)。

[0040]优选地,主内核11通过其第一虚拟通信接口和主运行模块21的第二虚拟通信接口与主运行模块21进行指令的传送。

或者主内核11通过其第一虚拟通信接口和从运行模块22的第二虚拟通信接口与从运行模块22进行指令的传送。

[0041]优选地,从内核12通过其第一虚拟通信接口和主内核11的第一虚拟通信接口与所述主内核11进行指令的传送。

[0042]作为本发明的多核SoC芯片的开发架构的一种实施方式,第一虚拟通信接口、第二虚拟通信接口采用通用的Socket通信协议接口。

第二虚拟通信接口为基于Socket的TCP协议的Server端通信接口。

第一虚拟通信接口为与宿主机20对等的基于嵌入式的TCP协议的Client端通信接口。

可以理解的是,第一虚拟通信接口与第二虚拟通信接口通过建立通信层和相应的通信协议进行指令间的交互。

但本发明并不限制于此,宿主机20与SoC芯片10之间的通讯介质和协议还可以采用串口通信技术、USB通信技术、CAN通信技术等通信技术来实现。

[0043]作为本发明的多核SoC芯片的开发架构的一种实施方式,当对SoC芯片10进行开发时,主运行模块21以及配合于主运行模块21的从运行模块22同时运行,以使主运行模块21完成对主应用程序的运行调试。

主应用程序需与其它应用程序配合的,调试过程中,主运行模块21与其它从运行模块22同时运行,模拟SoC芯片10的内核与内核之间的通信对主应用程序进行调试。

[0044]作为本发明的多核SoC芯片的开发架构的一种实施方式,当对SoC芯片10进行开发时,加载了调试完成后的主应用程序的主内核11进行运行。

第i个从运行模块22以及配合于第i个从运行模块22的其它从运行模块22和/或主运行模块21同时进行,以使第i个从运行模块21完成对将加载到第i个从内核12的从应用程序的运行。

第i个从运行程序需与其它应用程序配合的,调试过程中,主内核11和配合于第i个从运行模块22的其它从运行模块22和/或主运行模块21同时进行,模拟SoC芯片10的内核与内核之间的通信对从应用程序进行
[0045]作为本发明的多核SoC芯片的开发架构的一种实施方式,当对SoC芯片进行开发时,加载了调试完成后的主应用程序的主内核11运行,第i个从运行模块22以及配合于第i 个从运行模块22的其他所述从运行模块22和/或主运行模块21和/或已加载了调试完成后的从应用程序的从内核12同时进行,以使第i个从运行模块22完成对将加载到第i个从内核12的从应用程序的运行。

其中其他从运行模块22包括除已加载了调试完成后的从应用程序的从内核12对应的从运行模块22之外的配合于第i个从运行模块22的从运行模块22。

多核SoC芯片包括多个从内核12,当其中一从内核12的从应用程序调试完成后,该从应用程序便加载到SoC芯片10的相应的从内核12中。

接下来其它从应用程序的调试过程中,需要与该已调试完成加载到SoC芯片的从内核进行配合时,可直接通过从应用模块22发送激励指令给主内核11,由主内核11驱动该从内核12运行以与待调试的从应用程序进行配合,完成调试过程。

[0046]图2是根据本发明的实施例的多核SoC芯片的开发方法。

[0047]参照图2,根据本发明的实施例的多核SoC芯片的开发方法,主要包括如下步骤:[0048]S101、宿主机20的主运行模块对将加载到主内核11的主应用程序进行运行调试;[0049]S102、将调试完成后的主应用程序加载到主内核11中;
[0050]S103、加载了调试完成后的主应用程序的主内核11运行;
[0051]S104、宿主机20的N个从运行模块22中的第i个从运行模块22对将加载到SoC芯片10的N个从内核12中的第i个从内核12的从应用程序进行运行,第i个从运行模块22运行过程中产生激励指令传送给加载了调试完成后的主应用程序的主内核11,加载了调试完成后的主应用程序的主内核11接收激励指令,并且加载了调试完成后的主应用程序的主内核12将激励指令发送到目的从内核12,加载了调试完成后的主应用程序的主内核11和/或目的从内核12根据激励指令生成响应指令,并且加载了调试完成后的主应用程序的主内核11将响应指令回传给目的从运行模块22。

第i个从运行模块22通过对所述激励指令和响应指令的反复交互对第i个从内核12的从应用程序进行调试,其中1≤i≤N,i和N为正整数;[0052]S105、将调试完成后的第i个从应用程序加载到相应的第i个从内核12中。

[0053]优选地,主内核11和从内核12均具有第一虚拟通信接口。

主运行模块21和从运行模块22均具有第二虚拟通信接口。

[0054]优选地,主内核11通过其第一虚拟通信接口和主运行模块21的第二虚拟通信接口与主运行模块21进行指令的传送。

或者主内核11通过其第一虚拟通信接口和从运行模块21的第二虚拟通信接口与从运行模块22进行指令的传送。

[0055]优选地,从内核12通过其第一虚拟通信接口和主内核11的第一虚拟通信接口与所述主内核11进行指令的传送。

[0056]作为本发明的多核SoC芯片的开发方法的一种实施方式,第一虚拟通信接口、第二虚拟通信接口采用通用的Socket通信协议接口。

第二虚拟通信接口为基于Socket的TCP协议的Server端通信接口。

第一虚拟通信接口为与宿主机20对等的基于嵌入式的TCP协议的Client端通信接口。

可以理解的是,第一虚拟通信接口与第二虚拟通信接口通过建立通信层和相应的通信协议进行指令间的交互。

但本发明并不限制于此,宿主机20与SoC芯片10之间的通讯介质和协议还可以采用串口通信技术、USB通信技术、CAN通信技术等通信技术来。

相关文档
最新文档