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.

[参考译文] PROCESSOR-SDK-AM64X:setLinkConfig 函数未为特定 PHY 注册

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1511769/processor-sdk-am64x-setlinkconfig-function-not-registered-for-an-particular-phy

器件型号:PROCESSOR-SDK-AM64X
主题中讨论的其他器件:DP83869DP83826ETLK110

工具/软件:

我正在尝试获取  EtherNet/IP 适配器 Intercore Tunneling 工作示例。

但是、我得到以下错误:

Error: 0x000d0020, Fatal: yesPruicss  max =3 selected PRU:3
PRU_PHY_detect:123 PHY0 not ok
PRU_PHY_detect:131 PHY1 not ok
PRU_PHY_detect:152 Phy 3 alive
PRU_PHY_detect:152 Phy 15 alive
PRU_PHY_detect:123 PHY0 not ok
PRU_PHY_detect:131 PHY1 not ok
PRU_PHY_detect:152 Phy 3 alive
PRU_PHY_detect:152 Phy 15 alive
PRU_PHY_detect:123 PHY0 not ok
PRU_PHY_detect:131 PHY1 not ok
PRU_PHY_detect:152 Phy 3 alive
PRU_PHY_detect:152 Phy 15 alive
PRU_PHY_detect:123 PHY0 not ok
PRU_PHY_detect:131 PHY1 not ok
PRU_PHY_detect:152 Phy 3 alive
PRU_PHY_detect:152 Phy 15 alive
PRU_PHY_detect:123 PHY0 not ok
PRU_PHY_detect:131 PHY1 not ok
PRU_PHY_detect:152 Phy 3 alive
PRU_PHY_detect:152 Phy 15 alive
PRU_PHY_detect:123 PHY0 not ok
PRU_PHY_detect:131 PHY1 not ok
PRU_PHY_detect:152 Phy 3 alive
PRU_PHY_detect:152 Phy 15 alive
PRU_PHY_detect:123 PHY0 not ok
PRU_PHY_detect:131 PHY1 not ok
PRU_PHY_detect:152 Phy 3 alive
PRU_PHY_detect:152 Phy 15 alive
PRU_PHY_detect:123 PHY0 not ok
PRU_PHY_detect:131 PHY1 not ok
PRU_PHY_detect:152 Phy 3 alive
PRU_PHY_detect:152 Phy 15 alive
PRU_PHY_detect:123 PHY0 not ok
PRU_PHY_detect:131 PHY1 not ok
PRU_PHY_detect:152 Phy 3 alive
PRU_PHY_detect:152 Phy 15 alive
PRU_PHY_detect:123 PHY0 not ok
PRU_PHY_detect:131 PHY1 not ok
PRU_PHY_detect:152 Phy 3 alive
PRU_PHY_detect:152 Phy 15 alive
PRU_PHY_setLinkConfig: 0xd0020 EC is fatal=1, SRC:PRU_PHY_setLinkConfig:1597

问题在于 CUST_PHY_BASE.c 中的定义 CUST_PHY_DP83869 未设置:

static CUST_PHY_CBextPhyLibDetect_t CUST_PHY_knownImplementation_s [] =
{
#if (defined CUST_PHY_DP83869) && (1==CUST_PHY_DP83869)
    CUST_PHY_DP83869_detect,
#endif
#if (defined CUST_PHY_DP83826) && (1==CUST_PHY_DP83826)
    CUST_PHY_DP83826E_detect,
    CUST_PHY_DP83826B_detect,
#endif
#if (defined CUST_PHY_TLK110) && (1==CUST_PHY_TLK110)
    CUST_PHY_TLK110_detect,
#endif
    NULL
};

这一定义从何而来? 我是否应该将其设置为1?

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

    嗨、Nils、

    可以在 Project->Properties->Arm Compiler->Predefined Symbols 下设置该定义、如下图所示:

    此致、
    Pourya

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

    尊敬的 Pourya:

    感谢这解决了这个问题。 我想这个定义可以集成到示例中。

    但是、我现在收到另一个错误:

    Pruicss  max =3 selected PRU:3
    phyId_p: 0x2000a0f1
    DP83869 detected
    phyId_p: 0x2000a0f1
    DP83869 detected
    PRU_PHY_detect:152 Phy 3 alive
    PRU_PHY_detect:152 Phy 15 alive
    Phy 15 : Disable RGMII mode
    Phy 15 : Disable GBit ANEG
    Phy 3 : Disable RGMII mode
    Phy 3 : Disable GBit ANEG
    +EI_API_ADP_pruicssStart
    
    ************************************
    PRU Firmware Version 0.0.0
    EtherNet/IP Commit ID: 0xea4cae4d
    ************************************
    
    -EI_API_ADP_pruicssStart
    Local interface IP is 192.168.1.10
    LLDP Data Table Object should support at least 8 instances.
    kbEI_LLDP_datatable_init: 0x80000000 EC is fatal=1, SRC:kbEI_LLDP_datatable_init:64
    
    Error: 0x80000000, Fatal: yes 

    我通过应用你发送到我的 collegue Kai Schröder 在这篇文章的补丁修复它:

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1471366/am6421-ethernet-ip-class-1-connection-gets-interrupted-by-class-3-connection/5664240?tisearch=e2e-sitesearch&keymatch=kbEI_LLDP_datatable_init#5664240

    (他们应该与 9.2.0.15一起使用,但他们也与我的9.2.0.24一起使用)

    该示例现已开始工作!

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

    嗨、Nils、  
    是、对于下一个发行版、将包括每个默认值的定义。
    很高兴知道它现在起作用。

    此致、
    Pourya