KeyStone I 培训 核间通信 Inter‐ProcessorCommunications (IPC)

1、封面

这是 IPC 的介绍,即处理器间通信。

2、导览

如果我们看一下议程,我们从基本概念开始。

我们将继续介绍 IPC 服务。我们将谈论设置和例子, IPC 传输,我们说一下实验室或演示。

3、基本概念

所以、我们从基本概念开始。

3.1 IPC-定义

IPC,其定义当然是处理器间通信。它的真正含义是,我们正在谈论一种方法,在执行的线程之间传输数据和/或信号。而这些线程可以位于任何地方。我们可以在同一个核心上有两个线程,我们可以在两个不同的核心上有两个线程,但在同一个设备上,我们甚至可以在设备之间有线程,我们想进行通信。

3.2 IPC-可行的解决方案

那么问题来了,你将如何解决这个传输数据和信号的问题?一种可能性是,您,用户,将采取并利用设备资源开发您自己的协议。然而, TI 已经为您做到了,所以您可以使用现有的实用程序来做同样的事情。在这个演讲中,集中讨论 TI 开发的实用程序,也就是 IPC 实用程序。

3.3 IPC-实时操作系统/框架解决方案

现在,如果我们谈论的是同一个核心,同一个核心中的两个线程,我们知道 TI 操作系统SYS/BIOS 给用户提供了很多线程间通信的工具,比如 semaphores、 [INAUDIBLE]、队列、邮箱,等等。我们很快就会看到, IPC 是另一种你可以使用的方法。也许这不是最有效的方法,但这是在同一核心的两个线程之间进行通信的另一种方法。

然而,如果你有两个不同的内核, SYS/BIOS 空间工具将无法工作,而 IPC 框架支持不同内核之间的通信。而且你可以选择物理......你可以选择运输工具,这意味着数据实际移动的物理方式。如果你需要在不同的设备之间进行通信,情况也是如此。 IPC 的传输方式也可以在设备之间实现。

关键的想法是同一个 IPC API 可以用于本地或远程通信。因此,如果你扩大或缩小你的应用程序,你不需要改变 IPC API。在这张幻灯片的底部,我们看到我们与同一代码上的两个线程进行通信。我们可以使用 SYS/BIOS 或者 IPC,但是如果我们在核心 0 到核心 1 之间进行通信,我们使用 IPC 和一些传输层。而如果我们在设备与设备之间进行通信,也是如此。

3.4 IPC-传输

现在,让我们说一说关于运输的问题。我们将在后面的演讲中谈及很多关于运输的问题。但是当我们看核对核时,我们可以使用几种类型的传输。已经由 TI 实现的是共享内存和多核导航器。

当我们在设备间使用 IPC 时, TI 已经实现的唯一的传输是使用串行端口 I/O。当然,在未来,用户可以实现其他传输,使用相同的 IPC。顺便说一下,传输是在配置时选择的。正如我们多次提到的,从应用的角度来看,无论通信的两个线程位于何处,它都是相同的代码。

所以这就是 IPC 的基本概念。

4、IPC服务

我们将转到 IPC 服务。

这张幻灯片, IPC 服务,显示了 IPC 是一个基于层的效用,其中最高层是 MessageQ。而 MessageQ 使用它下面的任何一个层。然而, MessageQ 下面的每个模块都可以被应用程序独立使用。而我们在后面会看到每一层都在做什么。

4.1 IPC服务-消息队列

所以让我们从顶层开始,也就是消息队列。

4.1.1 MessageQ-高层级API

MessageQ 的模型是单读者,多写者,这意味着队列属于读者。

它支持结构化地发送和接收可变长度的消息,其中可以包括数据或数据的指针。

它使用所有的 IPC 服务层以及 IPC 配置的初始化,我们将在后面谈论它。

显然,正如我们所说,如果消息是在同一核心的两个线程之间,或两个不同的核心,或两个不同的设备之间, API 不会改变。如果我们改变传输方式, API 也不会改变。只有配置文件、CFG 文件和一些初始化代码会被改变,那是如果我们使用共享内存或多核导航仪或SRIO。

4.1.2 MessageQ和Messages

所以你可能会想出一连串的问题,那么我们就来看看这个问答环节。

例如:

写者如何与读者队列联系?嗯,我们有一些模型。 MultiProc 模型和名称服务器模型记录了队列名称和核心ID,所以它们可以相互连接。

当我们提到具有可变大小的结构化消息时,我们是什么意思?我们的意思是,每个消息都有一个标准的头和数据。数据的大小是有价值的,而报头则指定了有效载荷的大小。

如何以及在何处分配信息?嗯,我

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值