This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PROCESSOR-SDK-J784S4:[SV62]有关在 RPMsg (IPC)通信中启用软件中断的阐述

Guru**** 2012440 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1349849/processor-sdk-j784s4-sv62-clarification-on-enabling-sw-interrupts-in-rpmsg-ipc-communication

器件型号:PROCESSOR-SDK-J784S4

大家好!  

我目前正在 使用 RPMsg 设计主域内核(A72、R5F、C7x)之间的 IPC 消息传递。 我对设计做了几点说明。 请仔细阅读下面的内容、并尽快告诉我。  

我在 R5F 上运行 SAFERTOS、在 C7x 上运行 FreeRTOS、在 A72上运行 QNX。  

我的目标是拥有一个线程、该线程必须侦听 A72内的简单消息和内核之间的远程消息。  

A72 (进程1)--> A72 (进程2)-当我必须在 A72中从进程1向进程2发送一条简单消息时,我是否能触发软件中断,通知 RPMSgServer 有新消息, 从而使消息仅在产生中断时为其他进程提供服务、而不是轮询。  

R5F (线程1)--> A72 (过程1)反之亦然-当我必须将简单消息从 R5F (AMP 核心)发送到 A72 (过程1)或相反时, 我能否通过 Virtio 或 RPMSg 或 remoteservice 触发另一个远程核心 RPMSg 服务器的 SW 中断、以便另一个内核上的异步 IO 处理程序根据中断回调为 msg 提供服务。

如果中断无法实现、如何更好地处理该 IPC 和内核之间的远程通信。  

另请同样告诉我如何使用 SCIClient/SCIServer 或任何相关示例有效地管理 MCU R5F -> Main R5F、MCU R5F -> A72 IPC 通信。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [quote userid="565004" url="~/support/processors-group/processors/f/processors-forum/1349849/processor-sdk-j784s4-sv62-clarification-on-enabling-sw-interrupts-in-rpmsg-ipc-communication (process 1)--> a72 (process 2)-当我必须在 A72中将简单的 msg 从 process 1发送到 process 2时,我能不能触发软件中断来通知 RPMSgServer 有新消息? 从而使消息仅在产生中断时为其他进程提供服务、而不是轮询。  [/报价]

    此处的 IPC 是处理器间通信、而不是进程间通信。

    [quote userid="565004" url="~/support/processors-group/processors/f/processors-forum/1349849/processor-sdk-j784s4-sv62-clarification-on-enabling-sw-interrupts-in-rpmsg-ipc-communication (线程1)--> A72 (进程1)反之亦然-当我必须从 R5F (AMP 核心)发送简单消息到 A72 (进程1)或反之亦然时, 我可以通过 virtio 或 rpmsg 或 remoteservice 触发另一个远程核心 rpmsg 服务器的 SW 中断,以便另一个内核上的异步 IO 处理程序根据中断回调为 msg 提供服务吗?

    请访问 https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/07_02_00_06/exports/docs/pdk_jacinto_07_01_05_14/docs/userguide/jacinto/modules/ipc.html、

    TI 提供的 IPC 基于邮箱机制。 您可以通过 software-dl.ti.com/.../ipc.html 下方的说明了解这一点

     

    是的、我们在 SDK /packages/ti/drv/ipc/examples 中提供了示例

    此致

    M·塔伦

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tarun:  

    感谢您的回答。 我已经研究了一些示例、并且了解了在有消息接收时、IPC 邮箱机制将与 SCIClient 或 CSL 一起用于监听远程内核的中断。 但我对 A72内核感兴趣、其中有多个进程尝试相互通信。 我想基于 A72内的内部中断来处理本地消息、而不是轮询本地消息。 如果可能的话,请告诉我。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ramakrishna、

    、但我对 A72内核感兴趣、其中有多个进程尝试相互通信。 而不是轮询本地消息,

    基于您对 A72中运行 QNX 的进程之间的沟通感兴趣。 我将其转发给 QNX 专家。

    此致

    M·塔伦

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 Ramakrishna、

    但我对 A72核心感兴趣,其中有多个进程尝试相互通信。 我想基于 A72内的内部中断来处理本地消息、而不是轮询本地消息。 如果可能的话,请告诉我。  [/报价]

    可以、这是可以实现的。 请注意、QNX 上的 IPC 是作为 QNX 资源管理器实现的、因此多个客户端应用程序/进程可以使用 IPV ResMgr 同时与其远程实体进行通信。 PSDK QNX 版本提供了完整的源代码、您可以查看这些源代码来了解这一点。

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Praveen:

    感谢您的答复。 我已经检查了 QNX 的 PSDK 代码、并尝试寻找源代码。 在另一个 TI PDK 代码中,在 RPMessage_init ()中,RPMessage_recv ()中,我们有用于 RPMessaging 的 SW 中断和 ISR 门的初始化和处理。 但在 QNX 示例中、它被 stubed 并提到 由 IPC resmgr 处理。 但我找不到相关的用法示例。 您能在 QNX 中给我指出相关的例子吗? 提前非常感谢。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Praveen,我想我找到了解决办法。 我会检查并返回给你。 非常感谢您的支持。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 Ramakrishna、

    感谢更新。 我期待您的下次光临、并告诉我们。

    谢谢。