1.本技术涉及网络通信技术领域,具体而言,涉及一种网络数据的处理系统及方法。
背景技术:2.目前,随着汽车自动驾驶的发展,对处理器的性能要求也越来越高了,传统的微控制单元(mcu,microcontroller unit)在计算能力上也很难满足自动驾驶应用,为了同时兼顾实时性和高算力,很多芯片厂家都推出了多核异构处理器,多核异构处理器一般都是由高性能的cortex-a核和实时性的cortex-m两类核构成,cortex-a核算力比较强大,一般都是运行linux操作系统,处理对算力要求比较高的任务,而cortex-m核一般都是用来运行实时操作系统(rtos,real time operating system),处理实时通信、采集等任务。
3.在实际开发应用中,cortex-a核和cortex-m核不可避免的都会存在网络的使用需求,如移动终端的空中下载软件升级(fota,firmware over-the-air)、第三方软件开发工具包(sdk,software development kit)集成(依赖于外网通信)、实时以太网通信等,考虑到成本,一般会尽可能的缩减物理网卡的数量。若将这些任务全部放置到cortex-m核去实现,除了实时以太网通信无压力,其他的几项将会面临着移植困难,消耗算力过大的问题;若全部放置到cortex-a核中实现,实时以太网通信又满足不了。
技术实现要素:4.本技术实施例的目的在于提供一种网络数据的处理系统及方法,可以实现通过一块物理网卡同时满足不同类型处理器核心的上网需求的技术效果。
5.第一方面,本技术实施例提供了一种网络数据的处理系统,应用于异构多核处理器,所述系统包括cortex-a网络共享处理模块、cortex-m网络共享处理模块、内存共享模块和物理网卡模块;
6.所述cortex-a网络共享处理模块与所述内存共享模块连接;
7.所述cortex-m网络共享处理模块与所述内存共享模块连接,所述cortex-m网络共享处理模块通过所述内存共享模块与所述cortex-a网络共享处理模块进行网络数据通信;
8.所述物理网卡模块与所述cortex-m网络共享处理模块连接。
9.在上述实现过程中,该网络数据的处理系统通过设置内存共享模块,由内存共享模块实现cortex-a网络共享处理模块和cortex-m网络共享处理模块之间的网络共享及网络通信,物理网卡模块与cortex-m网络共享处理模块连接,由物理网卡模块负责与局域网/互联网的网络通信;从而,异构多核处理器中的cortex-a核可依次通过网络共享模块、cortex-m网络共享处理模块、物理网卡模块实现网络通信;异构多核处理器中的cortex-m核则可以通过物理网卡模块直接实现网络通信;因此,该网络数据的处理系统可以实现通过一块物理网卡同时满足不同类型处理器核心的上网需求的技术效果。
10.进一步地,所述内存共享模块包括第一内存共享单元和所述第二内存共享单元;
11.所述第一内存共享单元分别连接所述cortex-a网络共享处理模块、所述cortex-m
网络共享处理模块,所述第一内存共享单元用于处理cortex-a到cortex-m方向的网络数据包;
12.所述第二内存共享单元分别连接所述cortex-m网络共享处理模块、所述cortex-a网络共享处理模块,所述第二内存共享单元用于处理cortex-m到cortex-a方向的网络数据包。
13.在上述实现过程中,第一内存共享单元和第二内存共享单元分别处理不同流向的网络数据包。
14.进一步地,所述处理系统还包括第一网络协议栈链路层模块,所述第一网络协议栈链路层模块与所述cortex-a网络共享处理模块连接。
15.在上述实现过程中,第一网络协议栈链路层模块对应链路层的虚拟网卡字符设备,cortex-a网络共享处理模块通过第一网络协议栈链路层模块与上层的应用程序进行通信。
16.进一步地,所述第一网络协议栈链路层模块为linux-tap网络协议栈链路层模块。
17.进一步地,所述处理系统还包括第二网络协议栈链路层模块,所述第二网络协议栈链路层模块与所述cortex-m网络共享处理模块连接。
18.在上述实现过程中,第二网络协议栈链路层模块用于将来自cortex-m网络共享处理模块的网络数据包发送至上层的应用程序。
19.进一步地,所述第二网络协议栈链路层模块为lwip网络协议栈链路层模块。
20.进一步地,所述第二网络协议栈链路层模块与所述物理网卡模块连接。
21.在上述实现过程中,来自第二网络协议栈链路层模块的数据直接通过物理网卡模块即可发出,不用通过cortex-m网络共享处理模块,降低cortex-m核的处理负担。
22.进一步地,所述cortex-m网络共享处理模块用于接收所述物理网卡模块发送的外网络数据包,并根据所述外网络数据包的类型将所述外网络数据包发送至所述第二网络协议栈链路层模块和/或所述cortex-a网络共享处理模块。
23.在上述实现过程中,外网络数据包为局域网/互联网发送给物理网卡模块的数据包;根据外网络数据包的不同类型,分别将其发送给不同的模块。
24.进一步地,所述外网络数据包的类型包括cortex-a数据包、cortex-m数据包、地址解析协议数据包。
25.进一步地,所述异构多核处理器包括cortex-a核和cortex-m核,所述cortex-a核和所述cortex-m核的内存共享,物理网卡设置于所述cortex-m核。
26.第二方面,本技术实施例提供了一种网络数据的处理方法,应用于第一方面任一项所述的网络数据的处理系统,所述方法包括:
27.所述cortex-a网络共享处理模块读取来自第一网络协议栈链路层模块的数据包,并且将所述数据包写入第一内存共享单元中;
28.所述coretx-m网络共享处理模块读取来自所述第一内存共享单元的所述数据包,并且将所述数据包写入所述物理网卡模块中。
29.进一步地,所述方法还包括:
30.将来自于第二网络协议栈链路层模块的数据包通过所述物理网卡模块发出。
31.进一步地,所述方法还包括:
32.通过所述cortex-m网络共享处理模块处理来自于所述物理网卡模块的外网络数据包的每一帧数据,对所述外网络数据包的处理包括:
33.若所述外网络数据包为cortex-a数据包,将所述外网络数据包写入到第二内存共享单元中;由所述cortex-a网络共享处理模块读取所述外网络数据包,将所述外网络数据包注入到所述第一网络协议栈链路层模块;
34.若所述外网络数据包为cortex-m数据包,将所述外网络数据包写入到所述第二网络协议栈链路层模块;
35.若所述外网络数据包为地址解析协议数据包,将所述外网络数据包分别写入到所述第二内存共享单元、所述第二网络协议栈链路层模块;
36.若所述外网络数据包不属于cortex-a数据包、cortex-m数据包、地址解析协议数据包中的任何一种,将若所述外网络数据包写入到所述第二网络协议栈链路层模块。
37.本技术公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本技术公开的上述技术即可得知。
38.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
39.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
40.图1为本技术实施例提供的一种网络数据的处理系统的结构框图;
41.图2为本技术实施例提供的另一种网络数据的处理系统的结构框图。
具体实施方式
42.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
43.在本技术中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本技术及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
44.并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本技术中的具体含义。
45.此外,术语“安装”、“设置”、“设有”、“连接”、“相连”应做广义理解。例如,可以是固
定连接,可拆卸连接,或整体式构造;可以是机械连接,或点连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的联通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。此外,术语“第一”、“第二”等主要是用于区分不同的装置、元件或组成部分(具体的种类和构造可能相同也可能不同),并非用于表明或暗示所指示装置、元件或组成部分的相对重要性和数量。除非另有说明,“多个”的含义为两个或两个以上。
46.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
47.本技术实施例提供的一种网络数据的处理系统及方法,可以应用于异构多核处理器的网络通信中;该网络数据的处理系统通过设置内存共享模块,由内存共享模块实现cortex-a网络共享处理模块和cortex-m网络共享处理模块之间的网络共享及网络通信,物理网卡模块与cortex-m网络共享处理模块连接,由物理网卡模块负责与局域网/互联网的网络通信;从而,异构多核处理器中的cortex-a核可依次通过网络共享模块、cortex-m网络共享处理模块、物理网卡模块实现网络通信;异构多核处理器中的cortex-m核则可以通过物理网卡模块直接实现网络通信;因此,该网络数据的处理系统可以实现通过一块物理网卡同时满足不同类型处理器核心的上网需求的技术效果。
48.请参见图1,图1为本技术实施例提供的一种网络数据的处理系统的结构框图,应用于异构多核处理器,该网络数据的处理系统包括cortex-a网络共享处理模块100、cortex-m网络共享处理模块200、内存共享模块300和物理网卡模块400。
49.示例性地,异构多核处理器包括cortex-a核和cortex-m核,cortex-a核和cortex-m核的内存共享,物理网卡设置于cortex-m核;其中,cortex-a核对应于cortex-a网络共享处理模块100,cortex-m核对应于cortex-m网络共享处理模块200,物理网卡对应于物理网卡模块400。
50.示例性地,cortex-a网络共享处理模块100与内存共享模块300连接。
51.示例性地,cortex-a网络共享处理模块100与内存共享模块300之间可以进行双向通信。
52.示例性地,cortex-m网络共享处理模块200与内存共享模块300连接,cortex-m网络共享处理模块200通过内存共享模块300与cortex-a网络共享处理模块100进行网络数据通信。
53.示例性地,cortex-m网络共享处理模块200与内存共享模块300之间可以进行双向通信;从而,通过内存共享模块300分别连接cortex-a网络共享处理模块100、cortex-m网络共享处理模块200,实现cortex-a网络共享处理模块100与cortex-m网络共享处理模块200之间的双向通信。
54.示例性地,物理网卡模块400与cortex-m网络共享处理模块200连接。
55.示例性地,物理网卡模块400用于与局域网/互联网进行通信连接;从而,异构多核处理器的cortex-m核通过cortex-m网络共享处理模块200与物理网卡模块400的线路可直接进行网络通信;而且,异构多核处理器的cortex-a核可依次通过cortex-a网络共享处理模块100、内存共享模块300、cortex-m网络共享处理模块200、物理网卡模块400进行网络通
信,实现一个物理网卡(物理网卡模块400)同时满足异构多核处理器中各个核心的上网需求。
56.示例性地,物理网卡模块400中的网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件,由于其拥有mac地址,因此属于osi模型的第1层和2层之间,它使得用户可以通过电缆或无线相互连接。每一个网卡都有一个被称为mac地址的独一无二的48位串行号,它被写在卡上的一块rom中。在网络上的每一个计算机都必须拥有一个独一无二的mac地址。没有任何两块被生产出来的网卡拥有同样的地址。这是因为电气电子工程师协会(ieee,institute of electrical and electronics engineers)负责为网络接口控制器(网卡)销售商分配唯一的mac地址。
57.在一些实施方式中,该网络数据的处理系统通过设置内存共享模块300,由内存共享模块300实现cortex-a网络共享处理模块100和cortex-m网络共享处理模块200之间的网络共享及网络通信,物理网卡模块400与cortex-m网络共享处理模块200连接,由物理网卡模块400负责与局域网/互联网的网络通信;从而,异构多核处理器中的cortex-a核可依次通过内存共享模块300、cortex-m网络共享处理模块200、物理网卡模块400实现网络通信;异构多核处理器中的cortex-m核则可以通过物理网卡模块400直接实现网络通信;因此,该网络数据的处理系统可以实现通过一块物理网卡同时满足不同类型处理器核心的上网需求的技术效果。
58.请参见图2,图2为本技术实施例提供的另一种网络数据的处理系统的结构框图。
59.示例性地,内存共享模块300包括第一内存共享单元310和第二内存共享单元320;第一内存共享单元310分别连接cortex-a网络共享处理模块100、cortex-m网络共享处理模块200,第一内存共享单元310用于处理cortex-a到cortex-m方向的网络数据包;
60.第二内存共享单元320分别连接cortex-m网络共享处理模块200、cortex-a网络共享处理模块100,第二内存共享单元320用于处理cortex-m到cortex-a方向的网络数据包。
61.示例性地,第一内存共享单元310和第二内存共享单元320分别处理不同流向的网络数据包。
62.示例性地,该网络数据的处理系统还包括第一网络协议栈链路层模块510,第一网络协议栈链路层模块510与cortex-a网络共享处理模块100连接。
63.示例性地,第一网络协议栈链路层模块510对应链路层的虚拟网卡字符设备,cortex-a网络共享处理模块100通过第一网络协议栈链路层模块510与上层的应用程序进行通信。
64.示例性地,第一网络协议栈链路层模块510为linux-tap网络协议栈链路层模块。
65.示例性地,linux-tap是位于链路层的虚拟网卡字符设备,该设备会将来自于linux网络协议栈上层的数据以链路层的格式输出给读取它的应用程序,同时应用程序也可以将来自其他途径的链路层的数据包包写入到该设备,从而实现了该虚拟网卡的收发工作。linux-tap在使用前需要配置它的ip地址、mac地址、以及网关地址,这样才能被正常使用。
66.示例性地,该网络数据的处理系统还包括第二网络协议栈链路层模块520,第二网络协议栈链路层模块520与cortex-m网络共享处理模块200连接。
67.示例性地,第二网络协议栈链路层模块520用于将来自cortex-m网络共享处理模
块200的网络数据包发送至上层的应用程序。
68.示例性地,第二网络协议栈链路层模块520为lwip网络协议栈链路层模块。
69.示例性地,lwip是一个小型开源的tcp/ip协议栈,实现的重点是在保持tcp协议主要功能的基础上减少对ram的占用。
70.示例性地,第二网络协议栈链路层模块520与物理网卡模块400连接。
71.示例性地,来自第二网络协议栈链路层模块520的数据直接通过物理网卡模块400即可发出,不用通过cortex-m网络共享处理模块200,降低cortex-m核的处理负担。
72.示例性地,cortex-m网络共享处理模块200用于接收物理网卡模块400发送的外网络数据包,并根据外网络数据包的类型将外网络数据包发送至第二网络协议栈链路层模块520和/或cortex-a网络共享处理模块100。
73.示例性地,外网络数据包为局域网/互联网发送给物理网卡模块400的数据包;根据外网络数据包的不同类型,分别将其发送给不同的模块。
74.示例性地,外网络数据包的类型包括cortex-a数据包、cortex-m数据包、地址解析协议数据包。
75.示例性地,结合图1和图2,本技术实施例提供的网络数据的处理系统中,对于不同的网络数据包分别采用不同的处理方式:
76.一、cortex-a网络数据包的发送路径如下:
77.1、cortex-a网络共享处理模块100读取来自第一网络协议栈链路层模块510的数据包,并且将数据包写入第一内存共享单元310中;
78.2、coretx-m网络共享处理模块200读取来自第一内存共享单元310的数据包,并且将其直接写入到物理网卡模块400中。
79.二、cortex-m网络数据包的发送路径如下:
80.来自第二网络协议栈链路层模块520的数据包直接通过物理网卡模块400发出。
81.三、对于物理网卡模块400接收的外网络数据包的处理如下:
82.cortex-m网络共享处理模块200需要处理来自于物理网卡模块400的外网络数据包的每一帧数据,对于数据的去向分类如所示:
83.若该外网络数据包为cortex-a数据包,即ipv4、cortex-a所关注的网络数据包,将该外网络数据包写入到第二内存共享单元320中;随后由cortex-a网络共享处理模块100读取,再将其注入到所述第一网络协议栈链路层模块510;
84.若该外网络数据包为cortex-m数据包,即ipv4、cortex-m所关注的网络数据包,将该外网络数据包写入到所述第二网络协议栈链路层模块520;
85.若该外网络数据包为地址解析协议(arp,address resolution protocol)数据包,将该外网络数据包分别写入到第二内存共享单元320、所述第二网络协议栈链路层模块520。
86.在一些实施方式中,上述cortex-m核、cortex-a核所关注的数据包可以由使用者定义;使用者定义之后,共享处理程序根据使用者的定义对网络包进行识别。例如cortex-a核关注的包可以是:a核需要连接网络,那么网络数据包内部属于外网ip地址的包将会全部推送给cortex-a核;cortex-m核需要关注的包可以是:cortex-m核监听了某个tcp服务,那么收到的网络包只要符合该tcp的ip、端口,那么就会被推送到cortex-m核。
87.对于不属于cortex-a数据包、cortex-m数据包、地址解析协议数据包中的任何一种的其他类型的数据包,将该外网络数据包写入到所述第二网络协议栈链路层模块520。
88.可选地,地址解析协议数据包和其它类型的数据包既可以是a核关注的包,也可以是m和关注的包,都是由使用者定义。
89.可选地,使用者只要定义a核所关注的包,不属于a核所关注的包,则全部由m和处理。
90.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
91.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
92.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
93.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
94.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
95.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在
包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
技术特征:1.一种网络数据的处理系统,其特征在于,应用于异构多核处理器,所述系统包括cortex-a网络共享处理模块、cortex-m网络共享处理模块、内存共享模块和物理网卡模块;所述cortex-a网络共享处理模块与所述内存共享模块连接;所述cortex-m网络共享处理模块与所述内存共享模块连接,所述cortex-m网络共享处理模块通过所述内存共享模块与所述cortex-a网络共享处理模块进行网络数据通信;所述物理网卡模块与所述cortex-m网络共享处理模块连接。2.根据权利要求1所述的网络数据的处理系统,其特征在于,所述内存共享模块包括第一内存共享单元和第二内存共享单元;所述第一内存共享单元分别连接所述cortex-a网络共享处理模块、所述cortex-m网络共享处理模块,所述第一内存共享单元用于处理cortex-a到cortex-m方向的网络数据包;所述第二内存共享单元分别连接所述cortex-m网络共享处理模块、所述cortex-a网络共享处理模块,所述第二内存共享单元用于处理cortex-m到cortex-a方向的网络数据包。3.根据权利要求1所述的网络数据的处理系统,其特征在于,所述处理系统还包括第一网络协议栈链路层模块,所述第一网络协议栈链路层模块与所述cortex-a网络共享处理模块连接。4.根据权利要求3所述的网络数据的处理系统,其特征在于,所述第一网络协议栈链路层模块为linux-tap网络协议栈链路层模块。5.根据权利要求1所述的网络数据的处理系统,其特征在于,所述处理系统还包括第二网络协议栈链路层模块,所述第二网络协议栈链路层模块与所述cortex-m网络共享处理模块连接。6.根据权利要求5所述的网络数据的处理系统,其特征在于,所述第二网络协议栈链路层模块为lwip网络协议栈链路层模块。7.根据权利要求5所述的网络数据的处理系统,其特征在于,所述第二网络协议栈链路层模块与所述物理网卡模块连接。8.根据权利要求5所述的网络数据的处理系统,其特征在于,所述cortex-m网络共享处理模块用于接收所述物理网卡模块发送的外网络数据包,并根据所述外网络数据包的类型将所述外网络数据包发送至所述第二网络协议栈链路层模块和/或所述cortex-a网络共享处理模块。9.根据权利要求8所述的网络数据的处理系统,其特征在于,所述外网络数据包的类型包括cortex-a数据包、cortex-m数据包、地址解析协议数据包。10.根据权利要求1至9任一项所述的网络数据的处理系统,其特征在于,所述异构多核处理器包括cortex-a核和cortex-m核,所述cortex-a核和所述cortex-m核的内存共享,物理网卡设置于所述cortex-m核。11.一种网络数据的处理方法,其特征在于,应用于权利要求1至10任一项所述的网络数据的处理系统,所述方法包括:所述cortex-a网络共享处理模块读取来自第一网络协议栈链路层模块的数据包,并且将所述数据包写入第一内存共享单元中;所述coretx-m网络共享处理模块读取来自所述第一内存共享单元的所述数据包,并且将所述数据包写入所述物理网卡模块中。
12.根据权利要求11所述的网络数据的处理方法,其特征在于,所述方法还包括:将来自于第二网络协议栈链路层模块的数据包通过所述物理网卡模块发出。13.根据权利要求12所述的网络数据的处理方法,其特征在于,所述方法还包括:通过所述cortex-m网络共享处理模块处理来自于所述物理网卡模块的外网络数据包的每一帧数据,对所述外网络数据包的处理包括:若所述外网络数据包为cortex-a数据包,将所述外网络数据包写入到第二内存共享单元中;由所述cortex-a网络共享处理模块读取所述外网络数据包,将所述外网络数据包注入到所述第一网络协议栈链路层模块;若所述外网络数据包为cortex-m数据包,将所述外网络数据包写入到所述第二网络协议栈链路层模块;若所述外网络数据包为地址解析协议数据包,将所述外网络数据包分别写入到所述第二内存共享单元、所述第二网络协议栈链路层模块;若所述外网络数据包不属于cortex-a数据包、cortex-m数据包、地址解析协议数据包中的任何一种,将若所述外网络数据包写入到所述第二网络协议栈链路层模块。
技术总结本申请实施例提供一种网络数据的处理系统及方法,涉及网络通信技术领域。该网络数据的处理系统应用于异构多核处理器,所述系统包括Cortex-A网络共享处理模块、Cortex-M网络共享处理模块、内存共享模块和物理网卡模块;所述Cortex-A网络共享处理模块与所述内存共享模块连接;所述Cortex-M网络共享处理模块与所述内存共享模块连接,所述Cortex-M网络共享处理模块通过所述内存共享模块与所述Cortex-A网络共享处理模块进行网络数据通信;所述物理网卡模块与所述Cortex-M网络共享处理模块连接。该网络数据的处理系统可以实现通过一块物理网卡同时满足不同类型处理器核心的上网需求的技术效果。求的技术效果。求的技术效果。
技术研发人员:陈河 胡涛 莫天杰 李振业 王杰德
受保护的技术使用者:广州导远电子科技有限公司
技术研发日:2022.03.30
技术公布日:2022/7/5