主题中讨论的其他器件:AM3356、 PROCESSOR-SDK-AM335X
您好、TI 支持
我们正在开发具有 Profinet 和 EtherNet/IP 通信的网络张力测量产品。
我们选择的处理器是 TI Sitara AM3356。
软件的 PROFINET 部分已完成、我们使用了以下软件组件:
-BIOS_6_76_03_01
-cG_xml_2.61.00
-EDMA3_LLD_2_12_05_30E
gcc-arm-none-eabi-7-2018-Q2-update
-NDK_3_61_01_01
-ns_2_60_01_06
-pdk_am335x_1_0_17
-ti-cgt-pru_2.3.2
-xdctools_3_55_02_22_core
ccs1110
我们希望 EtherNet/IP 通信也是同一软件(相同的二进制文件)的一部分。
使用用户参数、应可以在 Profinet 和 EtherNet/IP 之间进行切换。
但问题在于、ICEv2开发板中的 EtherNet/IP 通信(PRU-ICSS-EthernetIP_Adapter_01.00.03.04)仅与 AM335x RTOS SDK 版本(PROCESSOR-SDK-AM335X) 05.02.00.10兼容
在该版本中、软件组件版本要旧得多。
因此、我们尝试自己进行移植。 任务是移植 PRU-ICSS-EthernetIP_Adapter_01.00.03.04、以便与具有上述 TI SW 组件版本的 ICEv2开发板配合使用。
在进行了一些实验之后、我们注意到了以下情况:
EtherNet/IP 封装(PRU-ICSS-EthernetIP_Adapter_01.00.03.04)可与上面列出的所有软件组件版本配合使用、但 PDK_AM335x_1_0_17除外。
如果 使用了 pdk_am335x_1_0_17、则仍可以构建程序、但仍可以运行和调试程序。 但实际的 EtherNet/IP 通信无法正常工作、我们不知道原因。 该器件不响应 ping 操作、也不进行通信
EtherNet/IP 工具实现的。
但使用了 PDK_AM335x_1_0_16版本、则通信正常。
因此得出的结论是 、pdk_am335x_1_0_17和 pdk_am335x_1_0_16存在一些差异、这会导致 EtherNet/IP 通信无法正常工作。
深入探讨这一点后、我们认为我们已经跟踪了此差异/更改/修改的确切位置。
它位于此文件夹中:
C:\ti\pdk_am335x_1_0_17\packages/ti\drv\ICSS_EMAC
在 ICSS_EMAC 封装中、我们注意 到在 PDK_AM335x_1_0_16和 PDK_AM335x_1_0_17之间进行了大量更改。
其中许多变化似乎与风暴预防和固件学习有关。
我们认为这是导致 EtherNet/IP 通信停止工作的其中一个变化。
我们必须确保 EtherNet/IP 通信正常运行、同时也使用 PDK_AM335x_1_0_17
如果您能向我们提供 有关 pdk_am335x_1_0_17 (可能在 ICSS_EMAC 文件夹中)或中要进行哪些更改的提示、我们将不胜感激
PRU-ICSS-EthernetIP_Adapter_01.00.03.04、以使 EtherNet/IP 通信在 ICEv2开发板中正常工作。
只有当它在 ICEv2板上工作时、我们才有信心将软件移植到我们的定制板。
此致
Aravindh