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.

[参考译文] TDA4VM:VISION_APPS:在 MCU2_1上禁用 ethfw

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1316989/tda4vm-vision_apps-disable-ethfw-on-mcu2_1

器件型号:TDA4VM

您好、TI

   当我们在 vision_apps 中启用 cpsw9g 并运行演示(Linux + RTOS)时、会在 Linux 中生成两个 eth 设备(即 eth0和 eth1)。  现在、我们发现 在大多数情况下、eth0是 ethfw 的服务器。  有时、eth1是服务器。 因此、我们需要在 MCU2_1上禁用 ethfw 以删除客户端 eth 设备、仅使用 ethfw 的服务器。  有可能吗? 如果是,我们应该如何处理?

此致、

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

    尊敬的 Zhang:

    您的意思是从 Linux 运行 EthFw 吗? 您可以轻松地从 MCU2-1中删除 EthFw、但在 Linux 中包含 EthFw 可能需要在 Linux DTB 文件中进行额外更改。  

    此致、

    布里耶什

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

    您好、Brijesh。

       感谢您的支持。 我们在 vision_apps 中使用 ethfw、所以我 认为 ethfw 在 MCU2_0和 MCU2_1上运行。 我们有一些问题:

       1.在 Linux 的 DTS 中,我们可以找到两个 macs 和一个端口,如下所示:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    cpsw9g_virt_mac: main_r5fss_cpsw9g_virt_mac0 {
    compatible = "ti,j721e-cpsw-virt-mac";
    dma-coherent;
    ti,psil-base = <0x4a00>;
    ti,remote-name = "mpu_1_0_ethswitch-device-0";
    dmas = <&main_udmap 0xca00>,
    <&main_udmap 0xca01>,
    <&main_udmap 0xca02>,
    <&main_udmap 0xca03>,
    <&main_udmap 0xca04>,
    <&main_udmap 0xca05>,
    <&main_udmap 0xca06>,
    <&main_udmap 0xca07>,
    <&main_udmap 0x4a00>;
    dma-names = "tx0", "tx1", "tx2", "tx3",
    "tx4", "tx5", "tx6", "tx7",
    "rx";
    virt_emac_port {
    ti,label = "virt-port";
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Fullscreen
    1
    2
    3
    4
    &cpsw_port1 {
    phy-mode = "rgmii-rxid";
    phy-handle = <&phy0>;
    };
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

       MPU1_0 (Linux)仅是 CPSW9G 的客户端。  为什么有两个 MAC、而只有一个端口?

      2.在 VISION_APPS 中,Ethfw 服务器在 MCU2_0上运行,Ethfw 客户端在 MCU2_1上运行。  MPU1_0 (Linux)是 CPSW9G 的客户端。 对吗?

    此致、

       

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

    尊敬的 Zhang:

    对于这个具体的问题、我希望 为您提供帮助。

    此致、

    布里耶什

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

    您好!

    我们在 vision_apps 中使用 ethfw、因此我 认为 ethfw 在 mcu2_0和 mcu2_1

    EthFw 在 MCU2_0上运行。

      1.在 Linux 的 DTS 中,我们可以找到两个 macs 和一个端口,如下所示:

    这些设备树配置适用于虚拟交换机接口(用于交换机端口访问)和虚拟 MAC 接口(MAC 端口1)。
    EthFw 是服务器、A72 Linux 是客户端。

      2.在 VISION_APPS 中,Ethfw 服务器在 MCU2_0上运行,Ethfw 客户端在 MCU2_1上运行。  MPU1_0 (Linux)是 CPSW9G 的客户端。 对吗?

    可以。
    默认 EthFw 将端口1、端口4配置为仅 MAC 端口、并映射到 A72客户端 和 MCU2_1 RTOS 客户端。
    EthFw 与仅 MAC 端口一起映射了 A72客户端和 MCU2_1客户端的虚拟交换机接口。


    默认 A72 Linux 将显示3个网络接口。
    eth0:CPSW2G (原生 Linux 驱动程序)
    2. ETH1:CPSW9G 虚拟交换机接口
    3. eth2:CPSW9G 虚拟 MAC 接口(MAC 端口1)


    如果您从器件树文件中禁用"cpsw9g_virt_mac"和"cpsw9g_virt_macony"、并构建器件树文件并根据您使用的 SDK 复制到"rootfs/boot/dtb/"、它将在 A72 Linux 上启动 eth1、eth2 (A72无法 通过 CPSW9G 数据与外部网络通信)。

    如果要禁用 EthFw、则需要通过禁用"vision_apps_build_flags.mak"文件中的以下内容来构建 visionapps。
    BUILD_ENABLE_ETHFW?=否

    此致、
    苏德黑尔

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

    您好、Sudheer

       感谢您的支持。 我们说得对。 现在我们不使用纯 MAC 端口、因此我们将禁用它。 例如:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    /**cpsw9g_virt_maconly: main-r5fss-cpsw9g-virt-mac6 {
    compatible = "ti,j721e-cpsw-virt-mac";
    dma-coherent;
    ti,psil-base = <0x4a00>;
    ti,remote-name = "mpu_1_0_ethmac-device-6";
    dmas = <&main_udmap 0xca00>,
    <&main_udmap 0xca01>,
    <&main_udmap 0xca02>,
    <&main_udmap 0xca03>,
    <&main_udmap 0xca04>,
    <&main_udmap 0xca05>,
    <&main_udmap 0xca06>,
    <&main_udmap 0xca07>,
    <&main_udmap 0x4a00>;
    dma-names = "tx0", "tx1", "tx2", "tx3",
    "tx4", "tx5", "tx6", "tx7",
    "rx";
    virt_emac_port {
    ti,label = "virt-port";
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      为什么仅 MAC 端口在 GESI 板中使用 PHY?  如果我们仅在 Mac 上使用该 PHY、我们是否可以删除该 PHY?

    此致、

        

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

    您好!

    感谢您的支持。 我们说得对。 现在我们不使用纯 MAC 端口、因此我们将禁用它。 例如:

    可以从 A72 Linux 禁用 ETH1、但从 EthFw 仍删除端口1是仅 MAC 端口。 无法在交换机端口下使用。
    如果要使用 MAC 端口1作为交换机端口、则需要在 EthFW 中删除仅 MAC 端口映射、 有关仅 MAC 端口的详细信息、请参阅用户指南。

    为什么纯 MAC 端口在 GESI 板中使用 PHY?  如果我们仅在 Mac 上使用此 PHY,我们是否可以删除此 PHY?

    cpsw_port1用于 CPSW2G、而不用于 CPSW9G。
    CPSW9G PHY 将从 EthFw 配置、客户端无法访问任何 CPSW、MDIO 寄存器。

    此致、
    苏德黑尔

x 出现错误。请重试或与管理员联系。