主题中讨论的其他器件:TMDS243EVM
尊敬的支持团队:
我们使用的是板 TMDS243EVM。
我们的最终目标是在 AM243x CPU 上加载我们自己的 EtherNet/IP 堆栈。
我按照本指南使用 ICSS-EMAC:
https://software-dl.ti.com/mcu-plus-sdk/esd/AM263X/latest/exports/docs/api_guide_am263x/ICSS_EMAC.html
但在尝试发送以太网数据包时看不到链路检测。
由于问题 i2329 [MDIO 接口损坏(CPSW 和 PRU-ICSS)]、因此、 我按照本指南在手动模式下加载 MDIO:
https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/latest/exports/docs/api_guide_am243x/INDUSTRIAL_COMMS_MDIO_MANUALMODE_FW_USAGE.html
首先、我在 PRU0和 PRU1上为加载 PRU FW、如下所示:
C:\ti\mcu_plus_sdk_am243x_08_05_00_24\source\industrial_comms\EtherNetIP_adapter\ICSS_fwhal\firmi\mii\ethernetip_adapter_pru0_bin.h
C:\ti\mcu_plus_sdk_am243x_08_05_00_24\source\industrial_comms\EtherNetIP_adapter\ICSS_fwhal\firmi\mii\ethernetip_adapter_pru1_bin.h
然后、加载手动模式的 MDIO FW、位于此处:
C:\ti\mcu_plus_sdk_am243x_08_05_00_24\source\industrial_comms\ethercat_slave\icss_fwhal\firmware\g_v1.3\mdio_fw_bin.h
之后,我调用 ICSS_EMAC_PARAMS_INIT (),初始化结构 icssEmacParams 字段,然后再调用 ICSS_EMAC_OPEN ()。
当我 用调试器进入 ICSS_EMAC_OPEN ()时,即使我连接/断开了两个堆叠的 ICSSG 以太网端口上的电缆,也看不到任何链路。
在 MDIO_phyLinkStatus ()中,我可以看到这些 MDIO 寄存器:
我想知道是否正常、正如 API 指南页面中提到的 、某些寄存器不可用(MDIO_VERSION_REG、 MDIO_CONTROL_REG...) (参见§"影响")
如果没有加载手动模式设置的 MDIO FW、为了进行比较、我可以看到完全相同的寄存器值、很奇怪...
根据 i2329、好像在手动模式下加载 MDIO FW 不起作用、这可以解释未检测到链路。
在我的实施中、在两个以太网端口上都未检测到链路状态的原因可能是什么?
我是不是错过了什么?
简单来说、我还尝试加载演示项目"enet_lwip_icssg_am243x-evm_r5fss0-0_freertos_ti-arm-clang"、我可以看到连接/断开以太网电缆时链路状态发生变化、因此硬件正常工作。
感谢你的帮助。