基于共享内存的核间通信方法、装置和终端设备制造方法及图纸

技术编号:35353006 阅读:62 留言:0更新日期:2022-10-26 12:24
本申请实施例提供一种基于共享内存的核间通信方法、装置和终端设备,该基于共享内存的核间通信方法通过当第二内核向第一内核发送数据时,基于数据确定第二内核对应的第一结构体指针,将第一结构指针插入至第一内核对应的队列中,每间隔预设时间检测第一内核对应的队列中是否存在数据,若第一内核对应的队列中存在数据,则通过预设方法对数据进行处理得到相应的处理结果,将处理结果反馈至第二内核,以使第二内核释放对应的队列。本申请不仅可以实现多核之间大量数据的传输,使传递的数据更少而且简单,从而提高数据的传输效率,还可以使用更少资源,从而提高资源的利用率。从而提高资源的利用率。从而提高资源的利用率。

【技术实现步骤摘要】
基于共享内存的核间通信方法、装置和终端设备


[0001]本专利技术涉及数据通信领域,具体而言,涉及一种基于共享内存的核间通信方法、装置和终端设备。

技术介绍

[0002]目前,嵌入式领域的处理器设计已向多核处理器迅速发展,核间通信是多核处理器系统所面临的主要难点,通信机制的优劣直接影响多核处理器的性能,高效的通信机制是发挥多核处理器高性能的重要保障。现有多核间的通信是通过硬件IPC通信,通过中断系统激活处理器,触发具有通信功能的中断服务程序,调用寄存器完成相应的功能,并通过合适拓扑结构完成通信,但是这种核间存在通信复杂、资源浪费以及效率低的问题。

技术实现思路

[0003]本专利技术的目的在于提供一种基于共享内存的核间通信方法、装置、终端设备和可读存储介质。
[0004]第一方面,本专利技术提供一种基于共享内存的核间通信方法,应用于包含多核的微控制单元,所述微控制单元包括第一内核和第二内核,包括:
[0005]当所述第二内核向所述第一内核发送数据时,基于所述数据确定所述第二内核对应的第一结构体指针,将所述第一结构指针插入至所述第一内核对应的队列中;
[0006]每间隔预设时间检测所述第一内核对应的队列中是否存在所述数据;
[0007]若所述第一内核对应的队列中存在所述数据,则通过预设方法对所述数据进行处理得到相应的处理结果,将所述处理结果反馈至所述第二内核,以使所述第二内核释放对应的队列。
[0008]在可选的实施方式中,所述基于所述数据确定所述第二内核对应的第一结构体指针,包括:
[0009]基于所述数据确定预设内存空间中对应的数据内存空间,所述预设内存空间为所述微控制单元中分配给所述第二内核的内存空间;
[0010]定义所述第二内核对应的所述第一结构体指针,将所述数据对应的第一信息填入所述第一结构体指针中,其中,所述第一结构体指针指向所述数据内存空间。
[0011]在可选的实施方式中,所述通过预设方法对所述插入数据进行处理,得到相应的处理结果,包括:
[0012]读取所述数据,并对所述数据进行解析处理,得到相应的解析结果;
[0013]基于预设需求对所述解析结果进行配置得到配置结果,将所述配置结果插入所述第二内核对应的队列中,得到相应的处理结果。
[0014]在可选的实施方式中,所述第二内核向所述第一内核发送数据之前,所述方法还包括:
[0015]对多个内核的共享内存进行区域划分,确定对应的共享内存地址;
[0016]定义一个结构体类型,所述结构体类型包括每个内核对应的队列、初始化状态和通信数据缓存;
[0017]基于所述共享内存地址对每个内核进行初始化。
[0018]在可选的实施方式中,所述基于所述共享内存地址对每个内核进行初始化,包括:
[0019]定义每个内核对应的第二结构体指针,所述第二结构体指针指向所述共享内存地址;
[0020]对每个内核对应的队列进行配置,以完成对每个内核的初始化。
[0021]在可选的实施方式中,所述方法还包括:
[0022]定义一个预设结构体类型,所述预设结构体类型包括所述多个内核进行核间通信对应的预设数据格式。
[0023]第二方面,本专利技术提供一种基于共享内存的核间通信方法,所述方法包括:
[0024]当多个内核之间进行数据通信时,将每个内核需要发送的数据的相关信息生成对应的结构体,并将所述结构体插入目标内核对应的队列中;
[0025]每间隔预设时间将检测每个内核对应的队列中是否存在插入数据,所述插入数据为所述结构体;
[0026]当内核中存在所述插入数据时,将通过预设方法对所述插入数据进行处理,得到相应的处理结果;
[0027]将所述处理结果反馈至所述插入数据对应的发送内核中,以使所述发送内核释放对应的队列。
[0028]第三方面,本专利技术提供一种基于共享内存的核间通信装置,应用于包含多核的微控制单元,所述微控制单元包括第一内核和第二内核,所述装置包括:
[0029]插入模块,用于当所述第一内核向所述第二内核发送数据时,基于所述数据确定所述第二内核对应的第一结构体指针,将所述第一结构指针插入至所述第一内核对应的队列中;
[0030]检测模块,用于每间隔预设时间检测所述第一内核对应的队列中是否存在所述数据;
[0031]释放模块,用于若所述第一内核对应的队列中存在所述数据,则通过预设方法对所述数据进行处理得到相应的处理结果,将所述处理结果反馈至所述第二内核,以使所述第二内核释放对应的队列。
[0032]第四方面,本专利技术提供一种终端设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行所述的基于共享内存的核间通信方法。
[0033]第五方面,本专利技术提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行所述的基于共享内存的核间通信方法。
[0034]本专利技术实施例的有益效果是:
[0035]本申请实施例提供一种基于共享内存的核间通信方法,该基于共享内存的核间通信方法通过当第二内核向第一内核发送数据时,基于数据确定第二内核对应的第一结构体指针,将第一结构指针插入至第一内核对应的队列中,每间隔预设时间检测第一内核对应的队列中是否存在数据,若第一内核对应的队列中存在数据,则通过预设方法对数据进行
处理得到相应的处理结果,将处理结果反馈至第二内核,以使第二内核释放对应的队列。本申请不仅可以实现多核之间大量数据的传输,使传递的数据更少而且简单,从而提高数据的传输效率,还可以使用更少资源,从而提高资源的利用率。
[0036]为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0037]为了更清楚地说明本专利技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对本专利技术保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
[0038]图1示出了本申请实施例提出的一种基于共享内存的核间通信方法的第一流程示意图;
[0039]图2示出了本申请实施例提出的一种基于共享内存的核间通信方法中确定第一结构体指针的流程示意图;
[0040]图3示出了本申请实施例提出的一种基于共享内存的核间通信方法中对数据进行处理的流程示意图;
[0041]图4示出了本申请实施例提出的一种基于共享内存的核间通信方法的第二流程示意图;
[0042]图5示出了本申请实施例提出的一种基于共享内存的核间通信方法的第三流程示意图;
[0043]图6示出了本申请实施例提出的一种基于共享内存的核间通信方法的第四流程示意图;
[0044]图7示出了本申请实施例提出的一种基于共享内存的核间通信方法的第五流程示意图;
[0045]图8示出了本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于共享内存的核间通信方法,其特征在于,应用于包含多核的微控制单元,所述微控制单元包括第一内核和第二内核,包括:当所述第二内核向所述第一内核发送数据时,基于所述数据确定所述第二内核对应的第一结构体指针,将所述第一结构指针插入至所述第一内核对应的队列中;每间隔预设时间检测所述第一内核对应的队列中是否存在所述数据;若所述第一内核对应的队列中存在所述数据,则通过预设方法对所述数据进行处理得到相应的处理结果,将所述处理结果反馈至所述第二内核,以使所述第二内核释放对应的队列。2.根据权利要求1所述的基于共享内存的核间通信方法,其特征在于,所述基于所述数据确定所述第二内核对应的第一结构体指针,包括:基于所述数据确定预设内存空间中对应的数据内存空间,所述预设内存空间为所述微控制单元中分配给所述第二内核的内存空间;定义所述第二内核对应的所述第一结构体指针,将所述数据对应的第一信息填入所述第一结构体指针中,其中,所述第一结构体指针指向所述数据内存空间。3.根据权利要求1所述的基于共享内存的核间通信方法,其特征在于,所述通过预设方法对所述数据进行处理得到相应的处理结果,包括:读取所述数据,并对所述数据进行解析处理,得到相应的解析结果;基于预设需求对所述解析结果进行配置得到配置结果,将所述配置结果插入所述第二内核对应的队列中,得到相应的处理结果。4.根据权利要求1所述的基于共享内存的核间通信方法,其特征在于,所述第二内核向所述第一内核发送数据之前,还包括:对多个内核的共享内存进行区域划分,确定对应的共享内存地址;定义一个结构体类型,所述结构体类型包括每个内核对应的队列、初始化状态和通信数据缓存;基于所述共享内存地址对每个内核进行初始化。5.根据权利要求4所述的基于共享内存的核间通信方法,其特征在于,所述基于所述共享内存地址对每个内核进行初始化,包括:定义每个内核对应的...

【专利技术属性】
技术研发人员:黄坚连何天翼李飞李志雄
申请(专利权)人:北斗星通智联科技有限责任公司
类型:发明
国别省市:

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

1