主题:SysConfig 中讨论的其他器件
工具/软件:
尊敬的团队:
客户查看了以下文档: 在 AM64x 和 AM243x 上启用五个以太网端口
是否可以将其配置为 A53 (Linux)内核和 R5F (FreeRTOS)内核访问和控制同一以太网端口?
这是他们想要做的事情的图像。
他们如何更改此样本、使其支持上述概念?
此致、
Mari Tunnoda
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.
工具/软件:
尊敬的团队:
客户查看了以下文档: 在 AM64x 和 AM243x 上启用五个以太网端口
是否可以将其配置为 A53 (Linux)内核和 R5F (FreeRTOS)内核访问和控制同一以太网端口?
这是他们想要做的事情的图像。
他们如何更改此样本、使其支持上述概念?
此致、
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
-道林
尊敬的 Mari Tunnoda:
感谢您的查询。
上启用五个以太网端口
本文档将帮助访问从 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:
感谢您的答复。
根据您的评论、我的理解是、此示例与他们想做的事情非常相似。 我有几个问题。
您能否澄清一下他们应该进行哪些更改?
此致、
Mari Tunnoda
尊敬的 Mari Tunnoda :
请允许我在几天内对此进行内部同步、然后返回给您。
如果您在下周之前没有听到任何声音、请随时返回。
此致
Ashwani
他们是否需要进行一些更改才能启用此功能、或者引导顺序是否无关紧要?
是的、他们必须对 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.
尊敬的 Mari:
[引述 userid="499871" url="~/support/processors-group/processors/f/processors-forum/1484241/am6442-ethernet-port-enablement-packet-priority/5741806 #5741806"]我们确实有方法将优先级附加到传入的数据包。 根据我在这里的理解、他们是否正在寻找发送路径中的数据包优先级?
此致、
Nitika.
尊敬的 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.