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:LWIP 示例无法在 SK-TDA4VM 上运行

Guru**** 2756835 points

Other Parts Discussed in Thread: SK-TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1610838/tda4vm-lwip-example-not-working-on-sk-tda4vm

器件型号: TDA4VM

你(们)好  

我尝试在 SK-TDA4VM 上为 FreeRTOS 运行 LWIP Enet 示例。 它无法从 DHCP 获取任何 IP 地址。 此外、以太网端口上的指示灯根本不闪烁。  
我使用 CCS 工作流程在 MCU2_1 上运行它。  

输出如下:
=========================
   Enet lwIP 应用     
=========================
EnetBoard_setupPorts:找到 1 个端口配置、共 1 个
CPU 负载:100%
在启动 lwIP 时、本地接口 IP 启用了 DHCP
EnetAppUtils_reduceCoreMacAllocation:将 CoreID:0 的 Mac 地址分配从 1 减少到 0  
EnetAppUtils_reduceCoreMacAllocation:将 CoreID:1 的 Mac 地址分配从 1 减少到 0  
EnetMcm:MCU NAVSS 上的 CPSW_2G
MDIO_OPEN:启用 MDIO 手动模式
PHY 0 处于活动状态
EnetPhy_bindDriver:PHY 0:OUI:080028 型号:23 版本:01 <->'dp83867':确定
主机 MAC 地址:34:08:E1:59:db:E4
[LWIPIF_LWIP]已成功初始化 Enet LLD netif
status_callback==up、本地接口 IP 为 0.0.0.0
CPU 负载:6%
CPU 负载:2%
CPU 负载:2%
CPU 负载:2%
CPU 负载:2%

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

    您好、

     不提供针对 SK-TDA4VM 电路板的 PSDK RTOS 支持。 它只有一个 Linux 软件包。

    如果您希望为 SK-TDA4VM 使用 PSDK RTOS、则需要 对示例进行特定于电路板的更改、因为此 SDK 是 为通用处理器板 (https://www.ti.com/tool/J721EXCPXEVM)+ SOM (https://www.ti.com/tool/J721EXSOMXEVM) 开发的

    此致、
    Sudheer

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

     Doredla Sudheer Kumar ,  
    您是否要突出显示预期的更改、我需要使其正常工作?  
    例如引脚配置、时钟配置或我需要做的任何其他事情。  


    我当时使用 j721e_EVM 作为内核 MCU2_1 的板编译 FW。  

    谢谢、
    穆罕默德·乌斯曼

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

    您好、

    MDIO 检测到 PHY、我相信时钟已供电。

    您能否检查 是否调用了“Cpsw_periodicTick" API“ API?  即使检测到 PHY、此处我也看不到链路接通。

    此致、
    Sudheer

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

    尊敬的 Doredla Sudheer Kumar 、

    是、 Cpsw_periodicTick 正在正常调用。  

    链路状态变量 (linkStatus) 始终为 “ENETPHY_LINK_DOWN"。“。  

    谢谢、
    穆罕默德·乌斯曼

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

    您好、

    链接状态变量 (linkStatus) 始终为 “ENETPHY_LINK_DOWN"。“。  [/报价]

    这意味着 PHY 未建立链路。 您能否读取 PHY BMSR 寄存器并检查链路是否接通?  

    此外、您能否确认从 HLOS (Linux) 中禁用了 CPSW?   
    此外、应确保 PHY 处于链路接通状态。


    此致、
    Sudheer

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

     尊敬的 Doredla Sudheer Kumar 、  


    BMSR 显示链路已断开。  
    我没有运行 HLOS。 只需使用 CCS 工作流程在 MCU2_1 上运行 FreeRTOS(首先运行 launch.js、然后复位 CPU 内核、然后在 MCU2_1 上设置 LWIP 示例应用)。  

    PHY 始终保持在 ENETPHY_FSM_STATE_NWAY_WAIT 状态、直到超时且状态机重新启动。  
    我增加了超时但同样的行为。  

    谢谢、

    穆罕默德·乌斯曼

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

    您好、  

    BMSR 显示链接已关闭

    这意味着 PHY 端无法与链路伙伴建立链路。

    我没有运行 HLOS。 只需使用 CCS 工作流程在 MCU2_1 上运行 FreeRTOS(首先运行 launch.js、然后复位 CPU 内核、再在 MCU2_1 上复位 LWIP 示例应用)

    只使用 CCS 运行即可理解。  

    PHY 始终保持 ENETPHY_FSM_STATE_NWAY_WAIT 状态、直到超时和状态机重新启动。  
    我增加了超时但行为相同

    这将是由于 Phy 端没有建立链路。  

    您是否验证了加载 Linux 时从 CPSW 2G 进行的数据传输?  

    此致  

    Sudheer

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

    您好、

    是的、我可以在 Linux 上看到正确的链路接通消息、而 DHCP 在 Linux 上工作正常。  

    谢谢、

    穆罕默德·乌斯曼

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

    您好、

    是的、我可以在 Linux 上看到正确的链路连接消息、而 DHCP 在 Linux 上工作正常。  [/报价]

    我懂了。

    我已经验证了 SK-EVM 的 Linux 器件树。 我看不到任何用于 PHY 控制的额外 GPIO。

    您能否确认  引脚多路复用是否 针对 MCU CPSW2G 配置为 RGMII?
    此外、请分享 对 ENET LWIP 示例应用的更改列表。

    此致、
    Sudheer

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

    您好、

    我添加了一些以“trace:“开头的日志。 下面只有四行、表明 PINMUX 正常。  

    =========================
    Enet lwIP 应用
    =========================
    跟踪:配置 MCU CPSW2G MAC 模式=2 (RGMII[x]_2)
    跟踪:写入 MCU_ENET_CTRL 寄存器、将值=0x12
    EnetBoard_setupPorts:找到 1 个端口配置、共 1 个
    跟踪:配置 MCU RGMII 引脚多路复用 (moduleId=5)
    跟踪:MCU RGMII 引脚多路复用配置已完成
    CPU 负载:39%
    在启动 lwIP 时、本地接口 IP 启用了 DHCP
    EnetAppUtils_reduceCoreMacAllocation:将 CoreID:0 的 Mac 地址分配从 1 减少到 0
    EnetAppUtils_reduceCoreMacAllocation:将 CoreID:1 的 Mac 地址分配从 1 减少到 0
    EnetMcm:MCU NAVSS 上的 CPSW_2G
    MDIO_OPEN:启用 MDIO 手动模式
    PHY 0 处于活动状态
    EnetPhy_bindDriver:PHY 0:OUI:080028 型号:23 版本:01 <->'dp83867':确定
    主机 MAC 地址:34:08:E1:59:db:E4
    [LWIPIF_LWIP]已成功初始化 Enet LLD netif
    status_callback==up、本地接口 IP 为 0.0.0.0
    CPU 负载:6%
    CPU 负载:2%
    CPU 负载:2%
    CPU 负载:2%

    我在文件 (.../enet_lwip_example/test_config_j721e.c) 中进行的唯一更改是:  
    #define APP_ENABLE_STATIC_CFG            (0U)   -->   #define APP_ENABLE_STATIC_CFG            (1U)

    谢谢、

    穆罕默德·乌斯曼

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

    您好、

    [引述 userid=“680934" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1610838/tda4vm-lwip-example-not-working-on-sk-tda4vm/6221514 跟踪:配置 MCU CPSW2G MAC 模式=2 (RGMII[x]_2)
    跟踪:写入 MCU_ENET_CTRL 寄存器、将值=0x12
    EnetBoard_setupPorts:找到 1 个端口配置、共 1 个
    跟踪:配置 MCU RGMII 引脚多路复用 (moduleId=5)
    跟踪:MCU RGMII 引脚多路复用配置已完成
    CPU 负载:39%【报价】

    如果是、则引脚映射到 RGMII。

    如果 PHY 与链路伙伴连接、则应建立 PHY 链路。

    此致、
    Sudheer

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

    您好、

    很遗憾、链路未建立。 代码运行时、RJ45 连接器上的 LED 立即关闭、在运行示例之前、LED 会亮起。  


    此致、

    穆罕默德·乌斯曼

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

    您好、

    很遗憾链接未建立。 代码运行时、RJ45 连接器上的 LED 立即关闭、在运行示例之前、LED 会亮起。  [/报价]

    您能检查一下 PHY 是否被引导吗? 如果是这样、您可以忽略 CPSW MAC 端口配置中的 PHY 配置、并使用 phyaddr ENETPHY_INVALID_PHYADDR、如下所示。



    此致、
    Sudheer

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

    您好、  

    设置 ENETPHY_INVALID_PHYADDR  不起作用。  


    此外、我进行了一些调试并观察到、即使我不运行 LWIP 示例、只要执行以下函数、以太网 LED 就会熄灭:

    void SciApp_consoleInit(void)
    {
        Board_initCfg   boardCfg;
    
        boardCfg = BOARD_INIT_PINMUX_CONFIG |
                   BOARD_INIT_UART_STDIO;
        Board_init(boardCfg);
    }

    只需加载 launch.js 文件并使用 CCS 运行该代码、而无需复位 core1_0。
    如果我从上述代码中删除 Board_INIT_PINMUX_CONFIG、它会将 LED 保持在打开状态。  

    因此、我怀疑 PIN 配置存在一些问题。 我将在 LWIP 示例中对其进行深入研究、然后返回给您。  

    谢谢、

    穆罕默德·乌斯曼

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

    您好、

    只需加载 launch.js 文件并使用 CCS 运行该代码、而无需复位 core1_0。
    如果我从上述代码中删除 Board_INIT_PINMUX_CONFIG、它会将 LED 保持在打开状态。  [/报价]

    如前所述、RTOS SDK 与 SK-EVM 不兼容、因此电路板配置预计会发生变化、因为 SDK 与通用处理器板兼容。

    请 从电路板配置中移除除 MCU CPSW2G 引脚之外的引脚配置。


    此致、
    Sudheer