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.

[参考译文] DP83822IF:缺少或不完整的低电平驱动器

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1287777/dp83822if-missing-or-incomplete-low-level-drivers

器件型号:DP83822IF
主题中讨论的其他器件:AMIC110DP83869AM6421

你好。 我正在尝试为我们的 PHY 集成该驱动程序代码、但看起来已部分完成。 这些是我在 CCS 中使用的代码。

ti\ccs1250\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\networking\enet\core\phy\dp83822_priv.h src

ti\ccs1250\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\networking\enet\core\include\phy\dp83822.h

ti\ccs1250\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\networking\enet\cree\cp\phy\dp83822.c src

或者、我找到了有关使用 AMIC110+DP83822的文档、其中提到了 Processor SDK。

适用于工业应用的使用 MDIO 的以太网 PHY 配置(修订版 A)

但是、我找不到文档指定的下载选项。

PROCESSOR-SDK-AMIC110软件开发套件(SDK)| TI.com

我还尝试使用以太网示例为 AMIC110创建一个新项目、但收到错误消息。

您能指出我在哪里可以获得 LLD 或重用任何可用模板的正确方向吗?

此致、

约什

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

    Josh、您好!

    您能否查看以下有关 DP83822版驱动程序的链接。

    https://github.com/TexasInstruments/mcupsdk-enet-lld/tree/mcupsdk_next/src /物理层

    --

    谢谢!

    林希尔曼

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

    尊敬的 Hillman:

    你好。 感谢您的及时响应。 我已经将这些与 SDK 中的配置进行了比较、它们都是相同的。

    mcupsdk-enet-lld/phy1/p83822_priv.h src at mcupsdk_next·TexasInstruments/mcupsdk-enet-lld gith ·

    mcupsdk-enet-lld/phyodp83822.c src 位于 mcupsdk_next TexasInstruments/mcupsdk-enet-lldd··gitHub

    它只有两个寄存器声明和五个函数。

    我打算在 RGMII 模式的 AM6421+DS8322电路板中使用该引脚。 我尝试使用环回示例对此进行测试、但使用的是 DP83869。

    鉴于这种情况、我有两个问题:

    1. 您是否有可以使用的 DP83822 LLD 驱动程序代码? 还是在其 β 阶段?  
    2. 如果没有、那么重复使用 DP83869 LLD 驱动程序代码是创建 DP83822驱动程序的最佳模板吗?   

    请告诉我这些说明是否可行。

    此致、

    约什

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

    您好、Jose、

    除了我们之前发送给您的代码外、我们没有任何其他用于非 Linux 应用程序的代码。 您是否能够访问寄存器?

    --
    此致、

    林希尔曼

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

    尊敬的 Hillman:

    你好。 是的、我们能够 访问 MDIO 寄存器。 我现在开始从 DP83869进行移植、但遇到了一些问题。

    编译器正在寻找 gEthPhyFxns_DP83822。 原始声明为"extern ETHPHY_Fxns gEthPhyFxns_DP83869;"。 因此、我查看了原始代码、我看到  gEthPhyFxns_DP83869仅在其中一个库中找到。

    8024612c 0000000c     board.am64x.r5f.ti-arm-clang.debug.lib:ethphy_dp83869.obj (.data.gEthPhyFxns_DP83869)

    .\ccs1250\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\board\lib\board.am64x.r5f.ti-arm-clang.debug.lib

    我 只能 在库中找到 DP83869关键字。 我找不到适用于 DP83822或任何其他 PHY 的任何内容。  

    在哪里可以找到 board.am64x.r5f.ti-arm-clang.debug.lib?的源代码 我需要查看 DP83869的成员函数。

    此致、

    约什

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

    您好、Jose、

    感谢您分享这些信息。 我可能对您之前的陈述感到困惑。 您是否正在使用适用于 DP83822 PHY 的 DP83869驱动程序、并且无法使用 DP83869驱动程序启动 DP83822?

    --

    此致、

    林希尔曼  

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

    尊敬的 Hillman:

    你好。 我正在尝试为 DP83822创建一个低杆驱动器。 我的参考代码是 DP83869、因为这是 loopback_example 中使用的 LLD。

    我已将所有相关的 DP83869文件移植到 DP83822中、并将它们集成到 loopback_example 构建环境中。  

    .\ccs1250\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\board\.meta\ethphy\ethphy_am64x.syscfg.js

    .\ccs1250\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\networking\enet\cree\include\phy\dp83822.h

    .\ccs1250\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\networking\enet\cree\phy\dp83822.c src

    .\ccs1250\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\networking\enet\core\phy\dp83822_priv.h src

    .\ccs1250\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\board\ethphy\ethphy_dp83822.c

    .\ccs1250\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\board\ethphy\ethphy_dp83822.h

    但正如我说过的、我将收到一个未引用的  gEthPhyFxns_DP83822错误。 因此、我回顾了原始代码  gEthPhyFxns_DP83869。 我发现它是在库  board.am64x.r5f.ti-arm-clang.debug.lib 外部声明的

    .\ccs1250\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\board\lib\board.am64x.r5f.ti-arm-clang.debug.lib

    e2e.ti.com/.../loopback_5F00_example_5F00_dp83822_5F00_build_5F00_failure.log

    但是、我做了更多的挖掘、发现 原始 gEthPhyFxns_DP83869
    ethphy_dp83869.h ethphy_dp83869.c 中声明。

      

    我现在对误差的来源感到困惑。 我还需要构建库吗? 我这里遗漏了一些步骤、因为我在原始代码的基础上唯一改变的是器件名称 DP83822。 其他一切都是一样的。

    这里为您提供了其他信息。 我有另一位团队成员研究了此示例、他修改了 DP83869以访问 DP83822 MDIO 寄存器。 他能够读取寄存器、但无法执行环回或启动链路。

    这就是为什么我们需要为 DP83822提供合适的 LLD。您能向我指出我做错了什么吗?

    此致、

    约什

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

    Josh、您好!

    感谢您的信息。  我还会带您进入 Sitara 团队、进一步帮助您解决 LLD 潜水员问题。

    至于回送、我们可以通过寄存器进行编程。 在 DP83822的第8.4.8节中、我们详细介绍了如何在不同模式下对回送进行编程。

    您是否使用 DP83869驱动程序访问 DP83822 PHY? 如果是、您无法看到链接的设置是什么? 方框图会很有用。

    • 您在系统中使用的电缆类型和长度是什么?
    • 您的系统中的链路伙伴
    • 当您在 DP83822PHY 中未看到链路时、您还可以提供寄存器0x0000至0x001F。

    --

    谢谢!

    林希尔曼

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

    尊敬的 Hillman:

    你好。 这只是一个快速更新。

    关于您的后续问题:

    • 我们将使用标准以太网电缆。
    • 连接伙伴采用台式机或笔记本电脑作为初始测试。
    • 我们向您的代表提供了完整的调试日志、而且我们已经收到了有关如何继续的一些指示。

    关于 DP83822 LLD 的创建、我必须修改您的 XDT 模板、以便纠正我遇到的编译错误。 此项仍为 WIP。

    此致、

    约什

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

    你好,林希尔曼:

    你好。 我能够使用 DP83822构建 loopback_example、但这个过程需要进行很多改动:

    .\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\board\.meta\ethphy\ethphy_am64x.syscfg.js

    .\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\board\.meta\ethphy\temples\ethphy_open_close_config.c.xdt

    .\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\networking\enet\cree\include\phy\dp83822.h

    .\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\networking\enet\core\phy\dp83822_priv.h src

    .\ind_comms_sdk_am64x_09_00_00_03\source\networking\.meta\enet_ICSS\templates\enet_board_cfg_am64x_am243x.c.xdt

    .\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\board\ethphy\ethphy_dp83822.h

    .\ind_comms_sdk_am64x_09_00_00_03\mcu_plus_sdk\source\board\ethphy\ethphy_dp83822.c

    值得注意的是, ethphy_dp83822.*和 dp83822.* 函数和声明会临时移至*。xdt。  构建故障通常会抱怨函数或变量未声明... 即使它们都在*。h 和*。c 中声明了。

    我附加了构建日志以显示我遇到的每个故障。

    我仍然需要验证专门适用于此 PHY 的相关函数。 现在、它可以顺利构建。 功能仍为 WIP。

    此致、

    约什

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

    我的7z 文件没有上传、因此我要将其重命名为*。txt。

    e2e.ti.com/.../loopback_5F00_example_5F00_build_5F00_logs.7z.txt 

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

    您好!

    您的问题已分配给 Linux 支持团队、我会找到合适的支持工程师。 这可能需要一两天的时间、因为支持团队分散在遥远的时区。

    此致、

    舒耶勒