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.

[参考译文] AM6442:以太网端口启用数据包优先级

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1484241/am6442-ethernet-port-enablement-packet-priority

器件型号:AM6442
主题:SysConfig 中讨论的其他器件

工具/软件:

尊敬的团队:

客户查看了以下文档: 在 AM64x 和 AM243x 上启用五个以太网端口

是否可以将其配置为 A53 (Linux)内核和 R5F (FreeRTOS)内核访问和控制同一以太网端口?

这是他们想要做的事情的图像。  

他们正在查看此处提供的样片: https://software-dl.ti.com/processor-industrial-sw/esd/ind_comms_sdk/am64x/latest/docs/api_guide_am64x/EXAMPLES_INDUSTRIAL_COMMS_ETHERNETIP_ADAPTER_TUNNELING_DEMO_HOME.html#ETHERNETIP_TUNNELING_INTRODUCTION

他们如何更改此样本、使其支持上述概念?

此致、

Mari Tunnoda

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

    你好、Mari、  

    Unknown 说:

    让我回想起一位更熟悉 此示例的同事。 如果您下周没有收到回复、请再次 ping 此主题。

    同时、另一个可能有用的示例是 https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/10_01_00_32/exports/docs/api_guide_am64x/EXAMPLES_ENET_INTERCORE_ICSSG.html 

    -道林

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

    尊敬的 

    感谢您的查询。

    上启用五个以太网端口

    本文档将帮助访问从 A53和 R5F 并行的多个以太网端口。

    Unknown 说:

    该示例展示了如何使用基于共享内存的内核间驱动程序与以太网驱动程序(ICSS_EMAC)和 LwIP 桥接器耦合进行数据流量共享。 它在底层使用 ICSS_EMAC 以太网驱动程序和 LwIP TCP/IP 网络协议栈

    但是、

    该示例演示了驱动程序功能、以通过共享内存和以太网桥(LwIP 软件桥)在 r5fss0-0和 A53内核(Linux)之间交换以太网(IEEE 802.1)数据包。 CPU 内核 r5fss0-0完全拥有和配置 ICSSG1外设资源 处理从 ICSSG1直接接收/发送的数据包。

    它使用 LwIP 桥接器根据 MAC 地址将流量控制到 Linux。

    使用单独的 MAC 地址来区分不同的 CPU 内核流量

    每个核心中都设置了单独的 TCP/IP (LiWP)堆栈实例。

    此外、在应用级别、TCP 回显服务器在套接字端口8888上初始化、在每个内核中处理 TCP 流量。

    此致

    Ashwani

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

    尊敬的 Ashwani:

    感谢您的答复。

    根据您的评论、我的理解是、此示例与他们想做的事情非常相似。 我有几个问题。

    • 我看到该示例将 R5F 内核视为主内核、并将 Linux 内核视为远程内核。 如果我的客户希望在引导 Linux 后引导 R5F 内核、他们是否必须进行一些更改才能启用此功能、或者引导顺序无关紧要?
    • 是否可以配置 CPSW 端口而不是 ICSSG1端口? 如果是、除了 SysConfig、他们还必须对示例代码进行哪些更改?
    • 如何在 Linux 和 R5F 内核之间设置数据包优先级?

    您能否澄清一下他们应该进行哪些更改?

    此致、

    Mari Tunnoda

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

    尊敬的 

    请允许我在几天内对此进行内部同步、然后返回给您。

    如果您在下周之前没有听到任何声音、请随时返回。

    此致

    Ashwani

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

    尊敬的 Ashwani:

    是否有任何更新?

    此致、

    Mari

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    他们是否需要进行一些更改才能启用此功能、或者引导顺序是否无关紧要?

    是的、他们必须对 Linux 接口进行更改。 当前的实现方式是假设首先出现 R5F (主内核)并响应 Linux IPC 通信。 可能是 道林邱 可以提供更多的信息这里.

    是否可以配置 CPSW 端口而不是 ICSSG1端口?

    如何在 Linux 和 R5F 内核之间设置数据包优先级?

    内部检查、将返回给您。

    此致

    Ashwani

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

    尊敬的 Mari:

    据我所知、您需要的实现方式是  采用 ICSSG 的内核以太网数据包交换、使用 LwIP 桥接器-采用 CPSW (而不是 ICSSG)以及 Linux 和 R5F 内核之间的流量隧道? 如果我错了、请纠正我。  

    如果我的客户要在引导 Linux 后引导 R5F 内核、他们是否需要进行一些更改才能启用该功能、或者引导顺序无关紧要?

    在上面提到的 EtherNet/IP 实现中、使用 SPL 引导流程、并使用 Linux Remoteproc 加载 R5F 应用二进制文件。

    Linux 启动、然后 R5F 应用程序启动。 请在此处找到引导流程- https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/10_00_07_04/exports/docs/linux/Foundational_Components /U-Boot/UG-General-Info.html#boot-flow

    是否可以配置 CPSW 端口而不是 ICSSG1端口? 如果是、除了 SysConfig、他们还必须对示例代码进行哪些更改?

    由于您将使用 Linux、因此 Linux 端也需要更改器件树和资源配置、以将 CPSW 的所有权从 Linux 转移到 R5 (EtherNet/IP 示例文档提到了与 ICSSG 所有权相同的更改)。

    除此之外、MCU 侧还可能需要一些调整。 我将在下周查看、然后返回给您。

    如何在 Linux 和 R5F 内核之间设置数据包优先级?

    您能对此做更多解释吗? 使用数据包优先级的目标是什么?

    此致、

    Nitika.

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

    尊敬的 Nitika:

    感谢您的答复。

    根据我的理解、这是您要寻找的实现- 使用 LwIP 桥接器与 ICSSG 进行内核间以太网数据包交换 -具有 CPSW (而不是 ICSSG)以及 Linux 和 R5F 内核之间的流量隧道? 如果我错了、请纠正我。  [/报价]

    是的、您回答正确。

    因此、我来确保我了解 EtherNet/IP 适配器内核隧道 示例和 使用 LwIP 桥接 示例(enet_intercore_icssg)与 ICSSG 的内核以太网数据包交换之间的区别。  

    Enet_intercore_icssg:

    • 使用两个 R5F 内核和 ICSSG 以太网端口。 两个 R5F 内核使用共享存储器共享数据流量。  
    • 移植到客户用例所需的更改:
      • 将 R5F0_1内核更改为 A53内核
      • 将使用的以太网端口从 ICSSG 更改为 CPSW 端口。

    EtherNet/IP 内核示例:

    • 使用 A53和 R5F 内核以及 ICSSG 以太网端口。  A53内核和 R5F 内核使用共享存储器共享数据流量。  
    • 移植到客户用例所需的更改:
      • 将使用的以太网端口从 ICSSG 更改为 CPSW 端口。

    如果我的理解有误、请纠正我。

    如果我在上面的理解正确、EtherNet/IP 内核示例似乎更接近我客户的用例、需要的更改更少。 同样、enet_intercore_icssg 示例从 R5F 内核更改为 A53似乎需要付出很大的努力。

    您能详细解释一下吗? 使用数据包优先级的目标是什么?
    • R5F 将以恒定间隔(最高优先级)发送数据包
    • A53内核将在上述 R5F 传输之间发送 TCP/UDP

    这是他们给我的唯一信息。

    此致、

    Mari Tunnoda

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

    尊敬的 Mari:

    移植到客户用例所需的更改:
    • 将使用的以太网端口从 ICSSG 更改为 CPSW 端口。
    [/报价]

    EtherNet/IP 示例中集成了 EtherNet/IP 协议栈。 如果客户不想使用工业协议、我不建议查看该示例。

    MCU+ SDK 内核隧道示例将更易于使用。 启用宏 ENET_IS_LINUX_PRESENT (通过在 SysConfig 中启用 Linux IPC 并为所有其他内核禁用 IPC)才是使用 A53 Linux 而不是 R5F0_1所必需的。

    因此、我们可以继续为客户的用例提供 MCU+ SDK 示例。

    此致、

    Nitika.

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

    尊敬的 Nitika:

    谢谢。 我将把它们推向 MCU+SDK 内核隧道示例。

    关于数据包优先级、是否可以针对客户用例配置?

    此致、

    Mari Tunnoda

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

    尊敬的 Mari:

    [引述 userid="499871" url="~/support/processors-group/processors/f/processors-forum/1484241/am6442-ethernet-port-enablement-packet-priority/5741806 #5741806"]
    • R5F 将以恒定间隔(最高优先级)发送数据包
    • A53内核将在上述 R5F 传输之间发送 TCP/UDP
    [/报价]

    我们确实有方法将优先级附加到传入的数据包。 根据我在这里的理解、他们是否正在寻找发送路径中的数据包优先级?

    此致、

    Nitika.

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

    尊敬的 Nitika:

    是的、您回答正确。  

    您能告诉我如何为 Linux 和 FreeRTOS 上的数据包设置优先级吗?

    此外、它们可以在哪个层设置优先级?  

    例如、他们是否可以执行 VLAN PCP 或 DSCP 标记来设置优先级?

    如果有任何文档、我可以向我的客户指出这将是很好的。

    此致、

    Mari Tunnoda

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

    尊敬的 Mari:

    我正在与团队讨论可能的方法、将在一段时间内更新您。

    此致、

    Nitika.

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

    尊敬的 Nitika:

    请让我了解最新信息。

    此致、

    Mari

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

    尊敬的 Nitika:

    对此有任何更新?

    此致、

    Mari Tunnoda

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

    尊敬的 Mari:

    我一屁股坐到床上,快感太强烈了,我得缓一缓。 根据我与开发团队的讨论、VLAN PCP 可用于此用例。

     EXAMPLES_ENET_CPSW_EST.html 中提供了 VLAN 以及 CPSW 的 R5F 端实现

    由于此处涉及 Linux、因此将从 Linux 发送/接收 VLAN 流量。 可以直接添加和发送 PCP 标签。 必须在默认非 VLAN 隧道接口的基础上创建 VLAN 接口。 创建 VLAN 接口的一个示例命令是:

    ip link add link eth1 name eth1.10 type vlan id 10


    假设 eth1是 Linux 中的内核隧道接口、并且使用 VLAN 10。

    客户是否已开始修改 MCU+ SDK 示例以使用 Linux? 他们将使用哪个版本的 SDK?

    此致、

    Nitika.

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

    尊敬的 Nitika:

    感谢您的回答。

    [引述 userid="546471" url="~/support/processors-group/processors/f/processors-forum/1484241/am6442-ethernet-port-enablement-packet-priority/5744060 #5744060"]

    MCU+ SDK 内核隧道示例将更易于使用。 启用宏 ENET_IS_LINUX_PRESENT (通过在 SysConfig 中启用 Linux IPC 并为所有其他内核禁用 IPC)才是使用 A53 Linux 而不是 R5F0_1所必需的。

    因此、我们可以继续为客户的用例提供 MCU+ SDK 示例。

    [/报价]

    只需确认、这是启用 A53 Linux 而非 R5F 内核(适用于其中一个内核)所需的唯一步骤吗?

    此外、您提供的原始 IPC 示例程序使用的是 ISSG 端口而非 CPSW 端口。 从 ICSSG -> CPSW 端口更改的步骤是什么? 他们自己尝试,但无法使其正常工作。

    此致、

    Mari

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

    尊敬的 Mari:

    在 R5F0_0 (主内核)示例中、   必须通过在 SysConfig 中启用 Linux IPC 来设置宏 ENET_IS_LINUX_PRESENT。 这是这里唯一需要的重大变化。

    处理器 SDK 端需要进行更多更改-修改 EtherNetIP_adapter_tunnel_demo 中提到的 DTS、资源分配和其他更改

    由于客户使用 CPSW 而不是 ICSSG、因此他们必须在 Linux 端禁用 CPSW 模块而不是 ICSSG。

    Unknown 说:
    ]从 ICSSG -> CPSW 端口进行更改的步骤是什么? 他们自己尝试了、但无法使其正常工作。

    您能分享他们尝试过的步骤吗?

    我们的5端口以太网交换机示例采用以下架构、实现了将 CPSW 与 LwIP 桥接器配合使用:

    您可以在此处找到应用手册- https://www.ti.com/lit/an/spradh8/spradh8.pdf、以及 Github 中的示例代码- enet_multiple_lwip

    此致、

    Nitika.