基于Linux内核的协议栈数据传输方法及装置制造方法及图纸

技术编号:32855445 阅读:15 留言:0更新日期:2022-03-30 19:25
本发明专利技术提供一种基于Linux内核的协议栈数据传输方法及装置,属于计算机技术领域。所述协议栈数据传输方法,包括:在内核监听到协议栈向驱动芯片控制器发送第一数据的情况下,内核向中间服务模块发送第一通知;中间服务模块接收所述第一数据并转发所述第一数据到驱动芯片控制器;其中,所述第一通知携带有第一数据。本发明专利技术通过设计中间服务模块实现了Linux系统下的协议栈与底层驱动芯片控制器之间的数据传输,减少了系统与芯片之间的兼容问题,同时降低了兼容成本。同时降低了兼容成本。同时降低了兼容成本。

【技术实现步骤摘要】
基于Linux内核的协议栈数据传输方法及装置


[0001]本专利技术涉及计算机
,尤其涉及一种基于Linux内核的协议栈数据传输方法及装置。

技术介绍

[0002]基于Linux内核的系统与底层芯片之间在适配成功后才能相互传输数据。
[0003]然而,通常情况下基于Linux内核的系统使用安卓协议服务,需要通过厂商驱动直接适配芯片。这种适配方式存在如下几个方面的缺点:一方面是系统开发人员需要与厂商沟通,但往往沟通效率低下;另一方面是硬件参数调试繁复且需要一定测试环境及设备;再一方面是需要专人对适配工作进行跟踪统筹,费时费力。上述缺点使得现有技术中实现基于Linux内核的系统与基于安卓协议服务的芯片之间传输数据时,操作繁琐且效率较低。

技术实现思路

[0004]本专利技术提供一种基于Linux内核的协议栈数据传输方法及装置,用以解决现有技术中实现基于Linux内核的系统与基于安卓服务的芯片传输数据前需要适配的缺陷,实现芯片驱动免适配,进而使得基于Linux内核的系统与芯片之间传输数据更加简单方便。
[0005]本专利技术提供了一种基于Linux内核的协议栈数据传输方法,该方法包括:在内核监听到协议栈向驱动芯片控制器发送第一数据的情况下,内核向中间服务模块发送第一通知;中间服务模块接收所述第一数据并转发所述第一数据到驱动芯片控制器;其中,所述第一通知携带有第一数据。
[0006]根据本专利技术提供的基于Linux内核的协议栈数据传输方法,所述协议栈是蓝牙协议栈;所述在内核监听到协议栈向驱动芯片控制器发送第一数据的情况下,内核向中间服务模块发送第一通知,包括:所述蓝牙协议栈发送所述第一数据给VHCI节点;在内核监听到VHCI节点接收到第一数据的情况下,所述内核向所述中间服务模块发送第一通知。
[0007]根据本专利技术提供的基于Linux内核的协议栈数据传输方法,所述协议栈为WIFI协议栈;所述在内核监听到协议栈向驱动芯片控制器发送第一数据的情况下,内核向中间服务模块发送第一通知,包括:所述WIFI协议栈发送所述第一数据给Dbus总线;在内核监听到Dbus总线接收到第一数据的情况下,所述内核向所述中间服务模块发送所述第一通知。
[0008]根据本专利技术提供的基于Linux内核的协议栈数据传输方法,所述协议栈为radio协议栈;所述在内核监听到协议栈向驱动芯片控制器发送第一数据的情况下,内核向中间服务模块发送第一通知,包括:所述radio协议栈发送所述第一数据给Dbus总线;在内核监听到Dbus总线接收到第一数据的情况下,所述内核向所述中间服务模块发送所述第一通知。
[0009]根据本专利技术提供的基于Linux内核的协议栈数据传输方法,所述中间服务模块接收所述第一数据并转发所述第一数据到驱动芯片控制器,包括:中间服务模块调用与所述协议栈对应的第一接口函数接收所述第一数据;中间服务模块调用与所述驱动芯片控制器对应的第二接口函数发送所述第一数据给驱动芯片控制器。
[0010]根据本专利技术提供的基于Linux内核的协议栈数据传输方法,所述中间服务模块调用与所述驱动芯片控制器对应的第二接口函数发送所述第一数据给驱动芯片控制器,包括:调用第二接口函数发送所述第一数据给hwbinder节点;所述hwbinder节点接收所述第一数据,并将所述第一数据通过HIDL接口发送到所述驱动芯片控制器。
[0011]根据本专利技术提供的基于Linux内核的协议栈数据传输方法,所述将所述第一数据通过HIDL接口发送到所述驱动芯片控制器,包括:将所述第一数据发送到LXC虚拟机中注册的droid服务运行的HIDL接口;所述HIDL接口通过HAL将所述第一数据发送到所述驱动芯片控制器。
[0012]根据本专利技术提供的基于Linux内核的协议栈数据传输方法,还包括:驱动芯片控制器向协议栈发送第二数据;其中,所述驱动芯片控制器向协议栈发送第二数据,包括:在内核监听到所述驱动芯片控制器向所述协议栈发送第二数据的情况下,所述内核向所述中间服务模块发送第二通知;所述中间服务模块接收所述第二数据并转发所述第二数据到所述协议栈;其中,所述第二通知携带有所述第二数据。
[0013]根据本专利技术提供的基于Linux内核的协议栈数据传输方法,所述在内核监听到所述驱动芯片控制器向所述协议栈发送第二数据的情况下,内核向所述中间服务模块发送第二通知,包括:所述驱动芯片控制器通过HIDL接口发送所述第二数据给hwbinder节点;在内核监听到所述hwbinder节点接收到所述第二数据的情况下,内核向中间服务模块发送所述第二通知。
[0014]根据本专利技术提供的基于Linux内核的协议栈数据传输方法,所述中间服务模块接收所述第二数据并转发所述第二数据到所述协议栈,包括:所述中间服务模块调用与所述驱动芯片控制器对应的第三接口函数接收所述第二数据;所述中间服务模块调用与所述协议栈对应的第四接口函数发送所述第二数据给协议栈。
[0015]根据本专利技术提供的基于Linux内核的协议栈数据传输方法,在所述协议栈为蓝牙协议栈的情况下,所述中间服务模块调用与所述协议栈对应的第四接口函数发送所述第二数据给协议栈,包括:调用第四接口函数发送所述第二数据给VHCI节点;所述VHCI节点接收所述第二数据,并将所述第二数据发送给蓝牙协议栈。
[0016]根据本专利技术提供的基于Linux内核的协议栈数据传输方法,在所述协议栈为WIFI协议栈的情况下,所述中间服务模块调用与所述协议栈对应的第四接口函数发送所述第二数据给协议栈,还包括:调用第四接口函数发送所述第二数据给Dbus总线;所述Dbus总线接收所述第二数据,并将所述第二数据发送给所述WIFI协议栈。
[0017]根据本专利技术提供的基于Linux内核的协议栈数据传输方法,在所述协议栈为radio协议栈的情况下,所述中间服务模块调用与所述协议栈对应的第四接口函数发送所述第二数据给协议栈,还包括:调用第四接口函数发送所述第二数据给Dbus总线;所述Dbus总线接收所述第二数据,并将所述第二数据发送给所述radio协议栈。
[0018]本专利技术还提供一种基于Linux内核的协议栈数据传输的装置,包括:
[0019]通知单元,用于在内核监听到协议栈向驱动芯片控制器发送第一数据的情况下,内核向中间服务模块发送第一通知;
[0020]中转单元,用于中间服务模块接收所述第一数据并转发所述第一数据到驱动芯片控制器。
[0021]本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于Linux内核的协议栈数据传输方法的步骤。
[0022]本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于Linux内核的协议栈数据传输方法的步骤。
[0023]在本专利技术中,通过在内核监听到协议栈向驱动芯片控制器发送第一数据的情况下,内核向中间服务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Linux内核的协议栈数据传输方法,其特征在于,包括:在内核监听到协议栈向驱动芯片控制器发送第一数据的情况下,内核向中间服务模块发送第一通知;中间服务模块接收所述第一数据并转发所述第一数据到驱动芯片控制器;其中,所述第一通知携带有所述第一数据。2.根据权利要求1所述的基于Linux内核的协议栈数据传输方法,其特征在于,所述协议栈是蓝牙协议栈;所述在内核监听到协议栈向驱动芯片控制器发送第一数据的情况下,内核向中间服务模块发送第一通知,包括:所述蓝牙协议栈发送所述第一数据给VHCI节点;在内核监听到VHCI节点接收到第一数据的情况下,所述内核向所述中间服务模块发送第一通知。3.根据权利要求1所述的基于Linux内核的协议栈数据传输方法,其特征在于,所述协议栈为WIFI协议栈;所述在内核监听到协议栈向驱动芯片控制器发送第一数据的情况下,内核向中间服务模块发送第一通知,包括:所述WIFI协议栈发送所述第一数据给Dbus总线;在内核监听到Dbus总线接收到第一数据的情况下,所述内核向所述中间服务模块发送所述第一通知。4.根据权利要求1所述的基于Linux内核的协议栈数据传输方法,其特征在于,所述协议栈为radio协议栈;所述在内核监听到radio协议栈向驱动芯片控制器发送第一数据的情况下,内核向中间服务模块发送第一通知,包括:所述radio协议栈发送所述第一数据给Dbus总线;在内核监听到Dbus总线接收到第一数据的情况下,所述内核向所述中间服务模块发送所述第一通知。5.根据权利要求1至4中任一项所述的于Linux内核的协议栈数据传输方法,其特征在于,所述中间服务模块接收所述第一数据并转发所述第一数据到驱动芯片控制器,包括:中间服务模块通过调用与所述协议栈对应的第一接口函数接收所述第一数据;中间服务模块通过调用与所述驱动芯片控制器对应的第二接口函数发送所述第一数据给驱动芯片控制器。6.根据权利要求5所述的基于Linux内核的协议栈数据传输方法,其特征在于,所述中间服务模块通过调用与所述驱动芯片控制器对应的第二接口函数发送所述第一数据给驱动芯片控制器,包括:所述中间服务模块通过调用所述第二接口函数发送所述第一数据给hwbinder节点;所述hwbinder节点接收所述第一数据,并将所述第一数据通过HIDL接口发送到所述驱动芯片控制器。7.根据权利要求6所述的基于Linux内核的协议栈数据传输方法,所述将所述第一数据通过HIDL接口发送到所述驱动芯片控制器,包括:
将所述第一数据发送到LXC虚拟机中注册的android服务运行的HIDL接口;所述HIDL接口通过HAL将所述第一数据发送到所述驱动芯片控制器。8.根据权利要求1所述的基于Linux内核的协议栈数据传输方法,其特征在于,所述方法还包括:驱动芯片控制器向协议栈发送第二数据;其中,所述驱动芯片控制器向协议栈发送第二数据,包括:在内核监听到所述驱动芯片控制器向所述协议栈发送第二数据的情况下,所述内核向...

【专利技术属性】
技术研发人员:刘成城
申请(专利权)人:北京鲸鲮信息系统技术有限公司
类型:发明
国别省市:

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

1