CN112765091B - 一种SoC核间通信方法和装置 - Google Patents
一种SoC核间通信方法和装置 Download PDFInfo
- Publication number
- CN112765091B CN112765091B CN202110155464.XA CN202110155464A CN112765091B CN 112765091 B CN112765091 B CN 112765091B CN 202110155464 A CN202110155464 A CN 202110155464A CN 112765091 B CN112765091 B CN 112765091B
- Authority
- CN
- China
- Prior art keywords
- core
- message
- slave
- information
- mqtt server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000015654 memory Effects 0.000 claims abstract description 77
- 238000005538 encapsulation Methods 0.000 claims abstract description 29
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000012795 verification Methods 0.000 claims description 11
- 230000003993 interaction Effects 0.000 claims description 8
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
本申请公开了一种SoC核间通信方法和装置,方法包括:主核根据第一从核设置在第一共享内存区的MQTT服务器信息与MQTT服务端建立连接;其中,第一共享内存区包括MQTT服务器信息缓存区、第一发送环形缓存区和第一接收环形缓存区;主核将第一从核发送在第一共享内存区的订阅消息封装为对应的封装协议订阅报文,并发送至MQTT服务端,使得MQTT服务端将第二从核发布的目标消息返回至主核;其中,目标消息由第二从核发布在对应的第二共享内存区;主核将目标消息发送至第一从核的第一接收环形缓存区。解决了现有技术对从核的读写保护要求和协议栈需求使得实际核间通信效率较差,可移植性较低,且无法实现从核间的通信的技术问题。
Description
技术领域
本申请涉及嵌入式通信技术领域,尤其涉及一种SoC核间通信方法和装置。
背景技术
在嵌入式***领域,多核处理器应用已越来越广泛。多核处理器具有两个或两个以上核处理器,可以实现并行计算,控制逻辑程序可分布在不同核运行。目前支持多核处理器平台的实时操作***体系结构有对称多处理SMP(Symmetric Multi-Processing)构架和非对称多处理AMP(Asymmetric Multi-Processing)构架两种。AMP***上的每个CPU有独立的运行代码,任务的调度也是独立的,对整个***资源的访问也是互斥的,甚至每个CPU上运行的操作***完全不一样。AMP***架构存在的优势主要有两点:各核之间相对很独立,对外设资源可以直接控制,不需要其它核协同控制;各核之间耦合性少,假如一个核运行异常其它核照常执行。
多核处理器之间需要通过数据交换才能实现协同并行运行,而AMP***的核间通信主要有两种方式,一种是主核与其他所有从核之间共同访问同一个共享内存,但是这种方法中每一个从核都需要处理同一个内存的读写保护,导致实际应用较为繁琐,可移植性较差;另一种是通过网络协议进行主核与从核的通信,需要创建用于通信的socket,该方法虽然移植性较强,且不需要每个从核处理内存的读写保护,但是,基于网络协议的通信使得每个从核都运行带协议栈的嵌入式操作***,导致运行负荷增加,效率较差。另外现有技术无法实现从核间的信息交互。
发明内容
本申请提供了一种SoC核间通信方法和装置,用于解决现有技术对从核的读写保护要求和协议栈需求使得实际核间通信效率较差,可移植性较低,且无法实现从核间的通信的技术问题。
有鉴于此,本申请第一方面提供了一种SoC核间通信方法,包括:
主核根据第一从核设置在第一共享内存区的MQTT服务器信息与MQTT服务端建立连接;
其中,所述第一共享内存区包括MQTT服务器信息缓存区、第一发送环形缓存区和第一接收环形缓存区;
所述主核将所述第一从核发送在所述第一共享内存区的订阅消息封装为对应的封装协议订阅报文,并发送至所述MQTT服务端,使得所述MQTT服务端将第二从核发布的目标消息返回至所述主核;
其中,所述目标消息由所述第二从核发布在对应的第二共享内存区;
所述主核将所述目标消息发送至所述第一从核的所述第一接收环形缓存区。
优选地,所述主核根据第一从核设置在第一共享内存区的MQTT服务器信息与MQTT服务端建立连接,之前还包括:
主核读取第一从核对应的第一共享内存区中的初始化标志,并根据所述初始化标志确定所述第一从核已完成所述第一共享内存区的初始化操作。
优选地,所述主核将所述第一从核发送在所述第一共享内存区的订阅消息封装为对应的封装协议订阅报文,之前还包括:
所述主核实时扫描所述第一发送环形缓存区,根据在所述第一发送环形缓存区中获取的当前发送标志判断当前发送消息的类型,所述当前发送消息包括主题和消息体,所述当前发送消息的类型为发布消息或者订阅消息。
优选地,所述当前发送消息的类型为发布消息时,所述主核将所述发布消息的所述主题和所述消息体封装成封装协议发布报文,并发布至所述MQTT服务端。
优选地,所述主核将所述目标消息发送至所述第一从核的所述第一接收环形缓存区,之前还包括:
所述主核根据预置连接ID进行从核辨识,从而确定所述第一从核。
本申请第二方面提供了一种SoC核间通信装置,包括:
建立连接模块,用于主核根据第一从核设置在第一共享内存区的MQTT服务器信息与MQTT服务端建立连接;
其中,所述第一共享内存区包括MQTT服务器信息缓存区、第一发送环形缓存区和第一接收环形缓存区;
信息交互模块,用于所述主核将所述第一从核发送在所述第一共享内存区的订阅消息封装为对应的封装协议订阅报文,并发送至所述MQTT服务端,使得所述MQTT服务端将第二从核发布的目标消息返回至所述主核;
其中,所述目标消息由所述第二从核发布在对应的第二共享内存区;
返回信息模块,用于所述主核将所述目标消息发送至所述第一从核的所述第一接收环形缓存区。
优选地,还包括:
初始化验证模块,用于主核读取第一从核对应的第一共享内存区中的初始化标志,并根据所述初始化标志确定所述第一从核已完成所述第一共享内存区的初始化操作。
优选地,还包括:
类型识别模块,用于所述主核实时扫描所述第一发送环形缓存区,根据在所述第一发送环形缓存区中获取的当前发送标志判断当前发送消息的类型,所述当前发送消息包括主题和消息体,所述当前发送消息的类型为发布消息或者订阅消息。
优选地,所述当前发送消息的类型为发布消息时,所述主核将所述发布消息的所述主题和所述消息体封装成封装协议发布报文,并发布至所述MQTT服务端。
优选地,还包括:
从核辨识模块,用于所述主核根据预置连接ID进行从核辨识,从而确定所述第一从核。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请中,提供了一种SoC核间通信方法,包括:主核根据第一从核设置在第一共享内存区的MQTT服务器信息与MQTT服务端建立连接;其中,第一共享内存区包括MQTT服务器信息缓存区、第一发送环形缓存区和第一接收环形缓存区;主核将第一从核发送在第一共享内存区的订阅消息封装为对应的封装协议订阅报文,并发送至MQTT服务端,使得MQTT服务端将第二从核发布的目标消息返回至主核;其中,目标消息由第二从核发布在对应的第二共享内存区;主核将目标消息发送至第一从核的第一接收环形缓存区。
本申请提供的SoC核间通信方法,同样采用共享内存和网络协议进行通信,但是本申请中的共享内存仅供单个从核与主核共同访问,不同的从核之间的共享内存并不相同,共享内存是由各自对应的从核设置的,因此,从核只需要对各自对应的共享内存负责,主核可以访问所有从核的共享内存,获取数据或者存放数据;网络协议选择的是MQTT协议,该协议可以提供转发机制,仅主核运行包含MQTT协议所需的协议栈的嵌入式***,所有的从核不包含协议,免除了协议栈的需求。从核之间通过主核的MQTT协议进行信息转发实现通信,从而实现从核之间的信息交互。因此,本申请能够解决现有技术对从核的读写保护要求和协议栈需求使得实际核间通信效率较差,可移植性较低,且无法实现从核间的通信的技术问题。
附图说明
图1为本申请实施例提供的一种SoC核间通信方法的流程示意图;
图2为本申请实施例提供的一种SoC核间通信装置的结构示意图;
图3为本申请实施例提供的共享内存区的区域分布示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,请参阅图1,本申请提供的一种SoC核间通信方法的实施例,包括:
步骤101、主核根据第一从核设置在第一共享内存区的MQTT服务器信息与MQTT服务端建立连接。
其中,第一共享内存区包括MQTT服务器信息缓存区、第一发送环形缓存区和第一接收环形缓存区。
在SoC(System on Chip,片上***)双核***中,从核即为实时核;第一共享内存区是第一从核将自身内存进行设置得到的,具体需要将第一共享内存划分为三个不同的区域,请参阅图3,第一个区域用于存放MQTT服务器信息,即MQTT服务器信息缓存区;第二区域用于存放第一从核发送的信息,可以是订阅的主题信息,也可以是反馈给其他从核的发布消息,即第一发送环形缓存区;第三区域用于存放第一从核接收的信息,可以是MQTT服务端回复的订阅消息,也可以是其他核的订阅主题信息,即第一接收环形缓存区。第一从核可以实时扫描对应的第一共享内存的第一接收环形缓存区,及时获取其中的信息。
主核与第一从核共享第一共享内存区,可以获取到第一共享内存区的MQTT服务器信息,根据MQTT服务器信息中记载的服务器IP地址、用户名和密码等可以与MQTT服务端建立连接,具体的MQTT服务端可以是MQTT Broker,MQTT Broker主要用于从核间的通信。根据实际情况本申请实施例还可以支持连接的MQTT服务端为MQTT服务器,实现与外界的通信,具体过程与本申请实施例中的类似,但是获取的信息均来自MQTT服务器,即是由外界其他核发布的信息,并非内部的其他从核,在此不赘述具体过程。
进一步地,步骤101之前还包括:
主核读取第一从核对应的第一共享内存区中的初始化标志,并根据初始化标志确定第一从核已完成第一共享内存区的初始化操作。
在进行初始化验证之前,第一从核需要将对应的第一共享内存共享给主核,这样主核才能访问第一共享内存,获取其中的信息。第一共享内存区的初始化操作是由第一从核完成,主核需要对初始化进行验证,验证确定第一共享内存初始化完成后才能进行后续操作。
步骤102、主核将第一从核发送在第一共享内存区的订阅消息封装为对应的封装协议订阅报文,并发送至MQTT服务端,使得MQTT服务端将第二从核发布的目标消息返回至主核。
其中,目标消息由第二从核发布在对应的第二共享内存区。
当第一从核将需要订阅的消息标志发送在第一共享内存区的第一发送环形缓存区后,主核能够获取到第一发送环形缓存区的订阅消息,将订阅消息采用MQTT协议进行封装,就可以得到封装协议订阅报文,封装协议报文发送至MQTT服务端后会被解析,得到解析后的订阅消息,解析后的实质是订阅消息的主题,然后根据订阅需求就可以获取第二从核发布在服务端的目标消息,最后将目标消息返回至主核。
进一步地,步骤102之前还包括:
主核实时扫描第一发送环形缓存区,根据在第一发送环形缓存区中获取的当前发送标志判断当前发送消息的类型,当前发送消息包括主题和消息体,当前发送消息的类型为发布消息或者订阅消息。
当前发送标志是从核向发送环形缓存区发送了消息形成的标识,可以判断从核发送的当前发送消息的类型是订阅细消息还是发布消息。只有在从核发送的当前发送消息是订阅消息时,才需要向MQTT服务端获取目标消息,并返回主核。
进一步地,当前发送消息的类型为发布消息时,主核将发布消息的主题和消息体封装成封装协议发布报文,并发布至MQTT服务端。
若当前发送消息的类型是发布消息,发布消息不仅包括主题,还包括消息体,也就是消息的主要内容;主核直接将发布消息通过MQTT协议封装得到封装协议发布报文,进行发布即可。即使是发布消息,也是需要通过从核发送至发送环形缓存区,然后才被主核获取并发送至MQTT服务端解析并发布的。任何一个从核都可以是发布消息的第二从核,也可以是订阅消息的第一从核,具体情况根据从核实际发送在发送环形缓存区的消息类型而定。
步骤103、主核将目标消息发送至第一从核的第一接收环形缓存区。
第一从核可以实时扫描第一接收环形缓存区,从而及时获取信息。通过信息的订阅和发布,以及主核的中间交互机制完成第一从核与第二从核之间的通信。目标消息一般是通过主核打包后发送至第一接收环形缓存区中。
进一步地,步骤103之前还包括:
主核根据预置连接ID进行从核辨识,从而确定第一从核。
预置连接ID是主核与每一个从核建立连接得到的Client ID,而Client ID是MQTT协议中每个客户端具有的唯一标识,根据Client ID就可以判断是哪一个从核发出的订阅主题,从而确定目标消息应该发送的从核。可以发现,通过主核作为中间桥梁,MQTT协议进行封装,不仅可以实现内部从核之间的通信,还可以将订阅消息封装后发送至外部服务器,从外部服务器中获取订阅消息的消息体,从而实现与外部的通信,进一步扩大的核间通信的概念。
本申请实施例提供的SoC核间通信方法,同样采用共享内存和网络协议进行通信,但是本申请中的共享内存仅供单个从核与主核共同访问,不同的从核之间的共享内存并不相同,共享内存是由各自对应的从核设置的,因此,从核只需要对各自对应的共享内存负责,主核可以访问所有从核的共享内存,获取数据或者存放数据;网络协议选择的是MQTT协议,该协议可以提供转发机制,仅主核运行包含MQTT协议所需的协议栈的嵌入式***,所有的从核不包含协议,免除了协议栈的需求。从核之间通过主核的MQTT协议进行信息转发实现通信,从而实现从核之间的信息交互。因此,本申请实施例能够解决现有技术对从核的读写保护要求和协议栈需求使得实际核间通信效率较差,可移植性较低,且无法实现从核间的通信的技术问题。
以上为本申请提供的一种SoC核间通信方法的一个实施例,以下为本申请提供的一种SoC核间通信装置的一个实施例。
为了便于理解,请参阅图2,本申请提供了一种SoC核间通信装置的实施例,包括:
建立连接模块201,用于主核根据第一从核设置在第一共享内存区的MQTT服务器信息与MQTT服务端建立连接;
其中,第一共享内存区包括MQTT服务器信息缓存区、第一发送环形缓存区和第一接收环形缓存区;
信息交互模块202,用于主核将第一从核发送在第一共享内存区的订阅消息封装为对应的封装协议订阅报文,并发送至MQTT服务端,使得MQTT服务端将第二从核发布的目标消息返回至主核;
其中,目标消息由第二从核发布在对应的第二共享内存区;
返回信息模块203,用于主核将目标消息发送至第一从核的第一接收环形缓存区。
进一步地,还包括:
初始化验证模块204,用于主核读取第一从核对应的第一共享内存区中的初始化标志,并根据初始化标志确定第一从核已完成第一共享内存区的初始化操作。
进一步地,还包括:
类型识别模块205,用于主核实时扫描第一发送环形缓存区,根据在第一发送环形缓存区中获取的当前发送标志判断当前发送消息的类型,当前发送消息包括主题和消息体,当前发送消息的类型为发布消息或者订阅消息。
进一步地,当前发送消息的类型为发布消息时,主核将发布消息的主题和消息体封装成封装协议发布报文,并发布至MQTT服务端。
进一步地,还包括:
从核辨识模块206,用于主核根据预置连接ID进行从核辨识,从而确定第一从核。
本申请实施例提供的SoC核间通信方法,同样采用共享内存和网络协议进行通信,但是本申请中的共享内存仅供单个从核与主核共同访问,不同的从核之间的共享内存并不相同,共享内存是由各自对应的从核设置的,因此,从核只需要对各自对应的共享内存负责,主核可以访问所有从核的共享内存,获取数据或者存放数据;网络协议选择的是MQTT协议,该协议可以提供转发机制,仅主核运行包含MQTT协议所需的协议栈的嵌入式***,所有的从核不包含协议,免除了协议栈的需求。从核之间通过主核的MQTT协议进行信息转发实现通信,从而实现从核之间的信息交互。因此,本申请实施例能够解决现有技术对从核的读写保护要求和协议栈需求使得实际核间通信效率较差,可移植性较低,且无法实现从核间的通信的技术问题。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以通过一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:RandomAccess Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种SoC核间通信方法,应用于SoC***主核,其特征在于,包括:
主核根据第一从核设置在第一共享内存区的MQTT服务器信息与MQTT服务器端建立连接;
其中,所述第一共享内存区包括MQTT服务器信息缓存区、第一发送环形缓存区和第一接收环形缓存区;
所述主核将所述第一从核发送在所述第一发送环形缓存区的订阅消息封装为对应的封装协议订阅报文,并发送至所述MQTT服务器端,使得所述MQTT服务器端根据所述订阅报文中解析出的订阅需求获取发布在所述 MQTT 服务器端的目标消息,并将第二从核发布的目标消息返回至所述主核,所述主核将所述目标消息发送至所述第一从核的所述第一接收环形缓存区;
其中,所述目标消息由所述第二从核发布在对应的第二共享内存区中的第二发送环形缓存区,并由主核通过 MQTT 协议封装成发布报文发送至MQTT 服务器端;
所述主核将所述目标消息发送至所述第一从核的所述第一接收环形缓存区。
2.根据权利要求1所述的SoC核间通信方法,其特征在于,所述主核根据第一从核设置在第一共享内存区的MQTT服务器信息与MQTT服务器端建立连接,之前还包括:
主核读取第一从核对应的第一共享内存区中的初始化标志,并根据所述初始化标志确定所述第一从核已完成所述第一共享内存区的初始化操作。
3.根据权利要求1所述的SoC核间通信方法,其特征在于,所述主核将所述第一从核发送在所述第一发送环形缓存区的订阅消息封装为对应的封装协议订阅报文,之前还包括:
所述主核实时扫描所述第一发送环形缓存区,根据在所述第一发送环形缓存区中获取的当前发送标志判断当前发送消息的类型,所述当前发送消息包括主题和消息体,所述当前发送消息的类型为发布消息或者订阅消息。
4.根据权利要求3所述的SoC核间通信方法,其特征在于,所述当前发送消息的类型为发布消息时,所述主核将所述发布消息的所述主题和所述消息体封装成封装协议发布报文,并发布至所述MQTT服务器端。
5.根据权利要求1所述的SoC核间通信方法,其特征在于,所述主核将所述目标消息发送至所述第一从核的所述第一接收环形缓存区,之前还包括:
所述主核根据预置连接ID进行从核辨识,从而确定所述第一从核。
6.一种SoC核间通信装置,其特征在于,包括:
建立连接模块,用于主核根据第一从核设置在第一共享内存区的MQTT服务器信息与MQTT服务器端建立连接;
其中,所述第一共享内存区包括MQTT服务器信息缓存区、第一发送环形缓存区和第一接收环形缓存区;
信息交互模块,用于所述主核将所述第一从核发送在所述所述第一发送环形缓存区的订阅消息封装为对应的封装协议订阅报文,并发送至所述MQTT服务器端,使得所述MQTT服务器端根据所述订阅报文中解析出的订阅需求获取发布在所述 MQTT 服务器端的目标消息,并将第二从核发布的目标消息返回至所述主核,所述主核将所述目标消息发送至所述第一从核的所述第一接收环形缓存区;
其中,所述目标消息由所述第二从核发布在对应的第二共享内存区中的第二发送环形缓存区,并由主核通过 MQTT 协议封装成发布报文发送至MQTT 服务器端;
返回信息模块,用于所述主核将所述目标消息发送至所述第一从核的所述第一接收环形缓存区。
7.根据权利要求6所述的SoC核间通信装置,其特征在于,还包括:
初始化验证模块,用于主核读取第一从核对应的第一共享内存区中的初始化标志,并根据所述初始化标志确定所述第一从核已完成所述第一共享内存区的初始化操作。
8.根据权利要求6所述的SoC核间通信装置,其特征在于,还包括:
类型识别模块,用于所述主核实时扫描所述第一发送环形缓存区,根据在所述第一发送环形缓存区中获取的当前发送标志判断当前发送消息的类型,所述当前发送消息包括主题和消息体,所述当前发送消息的类型为发布消息或者订阅消息。
9.根据权利要求8所述的SoC核间通信装置,其特征在于,所述当前发送消息的类型为发布消息时,所述主核将所述发布消息的所述主题和所述消息体封装成封装协议发布报文,并发布至所述MQTT服务器端。
10.根据权利要求6所述的SoC核间通信装置,其特征在于,还包括:
从核辨识模块,用于所述主核根据预置连接ID进行从核辨识,从而确定所述第一从核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110155464.XA CN112765091B (zh) | 2021-02-04 | 2021-02-04 | 一种SoC核间通信方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110155464.XA CN112765091B (zh) | 2021-02-04 | 2021-02-04 | 一种SoC核间通信方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112765091A CN112765091A (zh) | 2021-05-07 |
CN112765091B true CN112765091B (zh) | 2024-05-03 |
Family
ID=75705010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110155464.XA Active CN112765091B (zh) | 2021-02-04 | 2021-02-04 | 一种SoC核间通信方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112765091B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430651A (zh) * | 2007-11-05 | 2009-05-13 | 中兴通讯股份有限公司 | 一种异构多核体系中外设的访问方法 |
CN102929834A (zh) * | 2012-11-06 | 2013-02-13 | 无锡江南计算技术研究所 | 众核处理器及其核间通信的方法、主核和从核 |
CN104461716A (zh) * | 2014-12-29 | 2015-03-25 | 迈普通信技术股份有限公司 | 一种多核异构***的访问方法及多核异构*** |
CN106681472A (zh) * | 2016-10-20 | 2017-05-17 | 南方电网科学研究院有限责任公司 | 异构多核处理器功耗控制装置及其功耗控制方法 |
CN107046508A (zh) * | 2016-02-05 | 2017-08-15 | 华为技术有限公司 | 报文接收方法及网络设备 |
CN110062004A (zh) * | 2019-04-30 | 2019-07-26 | 全球能源互联网研究院有限公司 | 一种基于物联网协议的报文处理***及方法 |
CN110336736A (zh) * | 2019-05-27 | 2019-10-15 | 四川长虹电器股份有限公司 | 基于mqtt服务器集群实现共享订阅的方法 |
CN111913822A (zh) * | 2020-08-28 | 2020-11-10 | 电子科技大学 | 一种基于amp架构的核间通信方式 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9465432B2 (en) * | 2013-08-28 | 2016-10-11 | Via Technologies, Inc. | Multi-core synchronization mechanism |
US10198269B2 (en) * | 2013-08-28 | 2019-02-05 | Via Technologies, Inc. | Dynamic reconfiguration of multi-core processor |
-
2021
- 2021-02-04 CN CN202110155464.XA patent/CN112765091B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430651A (zh) * | 2007-11-05 | 2009-05-13 | 中兴通讯股份有限公司 | 一种异构多核体系中外设的访问方法 |
CN102929834A (zh) * | 2012-11-06 | 2013-02-13 | 无锡江南计算技术研究所 | 众核处理器及其核间通信的方法、主核和从核 |
CN104461716A (zh) * | 2014-12-29 | 2015-03-25 | 迈普通信技术股份有限公司 | 一种多核异构***的访问方法及多核异构*** |
CN107046508A (zh) * | 2016-02-05 | 2017-08-15 | 华为技术有限公司 | 报文接收方法及网络设备 |
CN106681472A (zh) * | 2016-10-20 | 2017-05-17 | 南方电网科学研究院有限责任公司 | 异构多核处理器功耗控制装置及其功耗控制方法 |
CN110062004A (zh) * | 2019-04-30 | 2019-07-26 | 全球能源互联网研究院有限公司 | 一种基于物联网协议的报文处理***及方法 |
CN110336736A (zh) * | 2019-05-27 | 2019-10-15 | 四川长虹电器股份有限公司 | 基于mqtt服务器集群实现共享订阅的方法 |
CN111913822A (zh) * | 2020-08-28 | 2020-11-10 | 电子科技大学 | 一种基于amp架构的核间通信方式 |
Non-Patent Citations (2)
Title |
---|
A rapid control prototyping platform methodology for decentralized automation;Florian Kästner 等;《IEEE》;全文 * |
多核处理器结构与核间通信的CMC总线设计;黄志钢 等;沈阳理工大学学报(06);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112765091A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593291B2 (en) | Methods and apparatus for high-speed data bus connection and fabric management | |
CN113098861B (zh) | 主动标识载体及其认证方法、服务平台 | |
CN114244790B (zh) | PCIe设备与主机设备的通信方法、***及设备 | |
CN113114796B (zh) | 主动标识载体及其管理方法、服务平台 | |
WO2018076882A1 (zh) | 存储设备的操作方法及物理服务器 | |
US20230171333A1 (en) | Data exchange method, electronic device, and non-transitory storage medium | |
CN113347257A (zh) | 通信方法、装置、服务器及存储介质 | |
CN112765091B (zh) | 一种SoC核间通信方法和装置 | |
CN103827830A (zh) | 用于在事务性中间件机器环境中防止单点瓶颈的***和方法 | |
CN111148171B (zh) | 通话切换方法及服务器 | |
CN112148506A (zh) | 消息处理方法、装置、平台和存储介质 | |
CN108563492B (zh) | 数据获取方法、虚拟机以及电子设备 | |
CN116244231A (zh) | 一种数据传输方法、装置、***、电子设备及存储介质 | |
CN115934338A (zh) | 进程间的通信方法及装置 | |
CN111651282B (zh) | 报文处理方法、报文处理装置及电子设备 | |
CN113297110B (zh) | 数据采集***、方法以及装置 | |
CN116028238A (zh) | 计算引擎通信方法及装置 | |
CN108132843B (zh) | 多核异构平台下信息交互的内存申请方法、装置及设备 | |
CN111861432A (zh) | 虚拟资源信息更新方法及装置、服务器及存储介质 | |
CN117201518B (zh) | 数据的传输方法、***、装置、存储介质和电子设备 | |
CN113986133B (zh) | 数据处理方法、装置、数据存储***及电子设备 | |
CN117032040B (zh) | 传感器数据获取方法、装置、设备及可读存储介质 | |
CN110221995B (zh) | 一种集成智能网卡的数据管理方法及*** | |
CN116155984A (zh) | 数据发布方法及装置、数据订阅方法及装置 | |
CN117792951A (zh) | 一种基于分布式多机模式的数据通信方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |