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.

[参考译文] RTOS:如何在 OMAPL138 SoC 的两个内核上使用 EMAC?

Guru**** 2587365 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/628670/rtos-how-to-use-emac-on-both-cores-of-omapl138-soc

Thread 中讨论的其他器件:OMAPL138

工具/软件:TI-RTOS

大家好、我最近安装了 SDK 4.0.0.4、并安装了 Linux 内核 v4.9.28  

在 ARM 内核上启动 Linux 后、我已经做好了在 DSP 内核上运行 LED 闪存 DSP 应用的准备。

我使用 Remoteproc 在 DSP 内核上加载并运行 DSP 应用程序。

现在、我要在 DSP 内核中添加 NDK、并让 Linux 使用具有 DHCP 的以太网 PHY 等。  

当我尝试在 DSP 内核中添加 NDK 并分配静态 IP 192.168.254.99时,每次 Linux 启动时,都使用 IP 192.168.254.58...  

这是否有效?  

在 DSP 内核中使用 NDK 时、整个系统在 Linux 引导 DSP 应用后会卡住。

请告诉我如何解决这个问题/。 谢谢

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

    我已将您的疑问转发给软件专家。 他们的反馈应发布在此处。

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

    内核之间的资源分区由应用程序开发人员负责。 当 Linux 在 ARM 上启动时、它假定它拥有网络资源、因此您必须关闭 ARM 上的所有网络服务和交互、以使 DSP 能够控制网络接口。

    这可能是一项重大努力。 在您的设计中、ARM 是否可以通过网络接收数据、然后将数据发送到 DSP 进行处理、或者是否需要对两个内核进行网络访问。

    我们提供了一些在 ARM 上运行驱动程序的 IPC/Remoteproc 示例、您可以在此处看到:
    processors.wiki.ti.com/.../Linux_IPC_on_AM57xx

    此致、
    Rahul
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Rahul、我将查看该示例。 谢谢。
    但是的、我想使用 DSP 将 UDP 数据包发送出去、而 Linux 将托管 Web 服务器。
    是否无法使用 MessageQ 来共享 EMAC?
    我认为可以共享 EMCO 资源,因为 NDK Ion DSP 使用 EMAC 内核1,而 Linux 使用 EMAC 内核0。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Rahul、
    我已经介绍了这些示例、但它没有为我提供有关如何在内核之间共享资源的明确信息或想法。
    如果我必须在内核之间共享 EMAC、我是否必须将其添加到资源表以进行共享?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Linux 使用设备树(Dtsi/DTB)文件列出它拥有的所有资源。 这是它将用于初始化和在运行时确定其拥有的资源的内容。 当n`t 对其进行设置时、DSP 将能够使用它。

    我不知道如何控制两个内核中的相同资源、因此您需要实施一种使用内核之间的消息传递进行资源共享的方案。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rahul、

    您是否有任何使用 IPC 消息在两个内核之间共享资源的示例? (不必是 EMAC、即使是 UART、也可以使用任何简单的示例)

    如果我用两个以太网端口替换以太网 PHY、会有帮助吗?  

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

    在 Processor SDK RTOS 中的以下位置提供了内核之间消息传递的 IPC 示例:
    IPC_3_46_00_02\examples\OMAPL138_Linux_elf

    这应提供 aa 起点:
    processors.wiki.ti.com/.../Processor_SDK_IPC_Quick_Start_Guide

    此致、
    Rahul