【技术实现步骤摘要】
一种多核系统的内存共享方法
[0001]本专利技术涉及汽车电子
,具体是一种多核系统的内存共享方法
。
技术介绍
[0002]多核系统的内存共享,传递信息一般基于一种类似邮箱的机制,即需要多核共享时,一内核向另一内核发送消息,消息带有共享内存的起始地址和需要共享的数据长度等信息,以此来实现多核共同访问某块内存
。
由于现在的类似邮箱或消息的机制,如果进行代码的移植,就要重写内存功能共享相关的代码,为程序的维护带来额外的工作量,因此亟待解决
。
技术实现思路
[0003]为了避免和克服现有技术中存在的技术问题,本专利技术提供了一种多核系统的内存共享方法
。
本专利技术能够有效的提高多核系统数据共享的精度,减小工作的开支
。
[0004]为实现上述目的,本专利技术提供如下技术方案:
[0005]一种多核系统的内存共享方法,包括以下步骤:
[0006]S1、
构建共享内存信息块,共享内存信息块为
{
共享内
【技术保护点】
【技术特征摘要】
1.
一种多核系统的内存共享方法,其特征在于,包括以下步骤:
S1、
构建共享内存信息块,共享内存信息块为
{
共享内存
ID
,共享内存信息块数据长度,共享内存类别,共享信息的第一部分,共享信息的第二部分,校验
}
;
S2、
通过多核系统中用于内存分配的配置文件分配对应的内存空间;
S3、
根据对应的需求,单核将共享内存消息块存储在内存空间中或从内存空间中取出,以实现数据的读写
。2.
根据权利要求1所述的一种多核系统的内存共享方法,其特征在于,步骤
S1
的具体步骤如下:
S11、
根据设定信息交互协议定义共享内存
ID
;
S12、
获取共享内存信息块的数据长度;
S13、
确定共享内存的类别;
S14、
根据共享内存的类别确定共享消息的内容;
S15、
分别获取共享内存
ID
的数据长度
、
共享内存类别的数据长度,以及共享信息内容的数据长度,并结合共享内存信息块的数据长度计算所有数据长度的总数,接着舍弃总数的高位,并将结果与
Oxaa
异或,异或结果即为校验的数据长度
。3.
根据权利要求2所述的一种多核系统的内存共享方法,其特征在于,共享内存的类别分为共享内存块和共享消息两种
。4.
根据权利要求3所述的一种多核系统的内存共享方法,其特征在于,共享消息的内容包括第一部分和第二部分;如果共享内存的类别为共享内存块时,则第一部分为该共享内存块的起始地址;如果共享内存的类别为共享消息时,则第一部分为该共享消息的数据长度;如果共享内存的类别为共享内存块时,则第二部分为该共享内存块的数据长度;如果共享内存的类别为共享消息时,则第二部分为该共享消息的消息内容
。5.
根据权利要求4所述的一种多核系统的内存共享方法,其特征在于,步骤
S2
的具体步骤如下:使用多核操作系统中的分配的配置文件中的
shmget
函数划分出一个用于存储共享内存消息块的内存空间
。6.
根据权利要求5所述的一种多核系统的内存共享方法,其特征在于,步骤
S3
中的需求的类型分为共享内存块需求和共享消息需求
。7.
...
【专利技术属性】
技术研发人员:顾明,王云,姜明军,沈永柏,孙艳,江梓贤,刘欢,
申请(专利权)人:合肥力高动力科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。