[发明专利]一种多类传感器数据在控制器中零拷贝的方法和装置有效
申请号: | 202211146672.4 | 申请日: | 2022-09-20 |
公开(公告)号: | CN115220936B | 公开(公告)日: | 2023-01-10 |
发明(设计)人: | 冯权;韩正勇;华炜;马也驰;张顺 | 申请(专利权)人: | 之江实验室 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 杭州浙科专利事务所(普通合伙) 33213 | 代理人: | 孙孟辉 |
地址: | 311100 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 传感器 数据 控制器 拷贝 方法 装置 | ||
1.一种多类传感器数据在控制器中零拷贝的方法,其特征在于,包括以下步骤:
步骤一,在控制器内存RAM中,模块A通过共享内存文件名创建并初始化两块共享内存来保存并管理不同传感器的数据;
所述两块共享内存包括第一块共享内存和第二块共享内存,所述第一块共享内存用来保存传感器的数据,设置成多个环形的缓冲区,每个缓冲区域保存一路传感器的数据,保存满后,新的传感器数据依次覆盖旧的数据;所述第二块共享内存,存放传感器数据帧相关的信息,用来管理第一块共享内存;
初始化第一块共享内存的方式具体为:对每一块数据区域,首先获取一块物理内存的描述符和返回值,然后将返回值与相机图片的大小作为变量传入mmap函数,返回虚拟地址,将该虚拟地址转为物理地址;接着获取共享文件描述符,通过共享内存管理函数将共享文件映射到物理内存地址上,将物理内存地址赋值给第二块共享内存中的数据地址;
初始化第二块共享内存的方式具体为:首先存入一个结构体,然后预删除共享内存文件名对应的共享文件,接着重新打开共享内存文件名对应的共享文件,将其返回值与结构体的内存大小作为变量传入mmap函数,获得共享文件映射到第二块共享内存的指针,对第二块共享内存的数据全部赋值为0,并将包括互斥锁、条件变量的变量写入第二块共享内存;
步骤二,将为异构平台编写程序的框架的API接口和对共享内存进行参数设置的软件包接口初始化,具体的:将为异构平台编写程序的框架的API接口初始化,所述框架为openCL框架,所述API接口的参数包括platform,device,context,queue;将对共享内存进行参数设置的软件包接口初始化,所述软件包接口为EGL软件包接口,所述参数包括egl_disp,eglCreateImage;创建模板缓存,定义类型,容量为传感器的路数;
步骤三,创建模块B,打开共享文件并映射到虚拟地址空间,同时获取到传感器的最新数据,得到传感器数据地址,具体包括以下步骤:
步骤3.1,创建模块B,打开共享文件,并将其映射到虚拟地址空间,从而建立映射关系;
步骤3.2,当传感器有新数据存入,则获取传感器的最新帧的数据地址以及对应的数据时间戳,并更新模块A中的信息;
步骤四,创建模块C并初始化,根据传感器数据地址,生成作为缓冲帧的系统内存数据类型对象,保存该地址与生成的对象的映射关系,具体包括以下步骤:
步骤4.1,创建模块C并初始化,判断是否获取传感器数据,获取则进入下一步,不获取则结束拷贝流程;
步骤4.2,模块C根据最新帧的数据地址,查找是否有对应数据记录Record,没有则创建新的数据记录;
步骤4.3,在创建新的数据记录后,依据传入的最新帧数据地址,以及相机图片的尺寸和格式,创建作为缓冲帧的系统内存数据类型对象即像素图pixmap,并缓存其与最新帧数据地址的映射,从而建立映射关系;
步骤五,将系统内存数据类型对象转化为软件包接口支持的类型对象,通过软件包接口,创建新的类型对象,保存图片地址与新的类型对象的映射关系,具体为:
将像素图pixmap转化为软件包接口EGL支持的类型,并结合软件包接口EGL的参数,生成新的类型对象,并将其赋值给Record,保存新的类型对象与图片地址的映射关系;
步骤六,根据新的类型对象和框架的API参数,创建并获取框架支持的内存对象,保存传感器数据地址与该内存对象的映射关系,具体包括以下步骤:
步骤6.1,结合框架的参数和软件包接口的参数,创建框架支持的内存对象;
步骤6.2,通过框架的命令,获取从软件包接口创建的内存对象,使得内存对象可以被框架的所有API操作,保存传感器数据地址与内存对象的映射关系;
步骤七,根据传感器数据地址与新的类型对象的映射关系和不同传感器数据与内存对象的映射关系,数据使用程序直接获取到新的类型对象和内存对象,实现数据零拷贝。
2.一种多类传感器数据在控制器中零拷贝的装置,其特征在于,包括一个或多个处理器,用于实现权利要求1所述的一种多类传感器数据在控制器中零拷贝的方法。
3.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1所述的一种多类传感器数据在控制器中零拷贝的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于之江实验室,未经之江实验室许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211146672.4/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置