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.
您好!
有没有人知道可以使用哪个演示示示例来测试以下 SDK 中2个 ECU 之间的以太网通信?
SDK : mcu_plus_sdk_am273x_08_05_00_24
EVM : TMDS273GPEVM
尊敬的 Sara:
您可以在 EVM 之间进行通信。
如果您使用两个 AM273 ECVM、请按照以下步骤操作
可 在一个 EVM 上运行 AM273x MCU+ SDK:Enet Lwip TCP 客户端示例(TI.com)、在一个 EVM 上运行 AM273x MCU+ SDK:Enet Lwip TCP 服务器示例(TI.com)此示例和另一个 EVM。 正确配置 IP 地址。 您将能够在两个 EVM 之间进行通信。
如果您遇到任何问题、请告诉我。
Br
Nilabh A.
非常感谢您的答复。
您能否告诉我们是否可以在不使用 DHCP 服务器 或家庭路由器的情况下静态配置 IP? 如果是,您能告诉我们代码中的确切位置以静态配置 IP 吗?
谢谢。
是的、您可以执行静态 IP 设置:
在以下文件中: examples\networking\lwip\enet_cpsw_tcpserver\app_main.c
1.注释掉 DHCP 设置函数:app_allocateIPAddress() ;
下一步是提供静态 IP:
2. 用以下代码替换函数 App_setupNetif ():
static void App_setupNetif() { ip4_addr_t ipaddr, netmask, gw; ip4_addr_set_zero(&gw); ip4_addr_set_zero(&ipaddr); ip4_addr_set_zero(&netmask); LWIP_PORT_INIT_GW(&gw); LWIP_PORT_INIT_IPADDR(&ipaddr); LWIP_PORT_INIT_NETMASK(&netmask); DebugP_log("Starting lwIP, local interface IP is %s\r\n", ip4addr_ntoa(&ipaddr)); for (uint32_t i = 0U; i < ENET_SYSCFG_NETIF_COUNT; i++) { /* Open the netif and get it populated*/ LwipifEnetApp_netifOpen(NETIF_INST_ID0 + i, &ipaddr, &netmask, &gw); g_pNetif[NETIF_INST_ID0 + i] = LwipifEnetApp_getNetifFromId(NETIF_INST_ID0); netif_set_status_callback(g_pNetif[NETIF_INST_ID0 + i], App_netifStatusChangeCb); netif_set_link_callback(g_pNetif[NETIF_INST_ID0 + i], App_netifLinkChangeCb); netif_set_up(g_pNetif[NETIF_INST_ID0 + i]); } LwipifEnetApp_startSchedule(g_pNetif[ENET_SYSCFG_DEFAULT_NETIF_IDX]); }
3.在 下面部分的同一文件中添加以下代码行
非常感谢您的答复,这是非常清楚的
我们可以在 ECU 和 PC 之间进行通信、但两个 ECU 之间仍然无法工作
我们在两个示例(tcp_client/tcp_server)中应用了 ticket 中提到的步骤
但无论何时启动连接、都会发出此消息(端口1:链路断开)、并且连接已关闭、如随附的图像中所示。
我们只需要强调,我们使用了从 ECU 到 ECU 的连接,没有 PC 连接,并使用静态 IP 分配,而不是 DHCP。
谢谢。
尊敬的 Sara:
您能解释一下在两个 EVM 上加载二进制文件所遵循的步骤。
这是因为甚至在两个 EVM 上的应用启动之前就已连接两个 EVM。 例如、您先在一个 EVM 上加载二进制文件、然后在第二个 EVM 上加载二进制文件并运行它(第二个 EVM 上电时)。 应用在第二个 EVM 上启动之后、它会执行 phy 重置、这将在第一个 EVM 上显示为链路断开、然后再次显示为链路建立。
现在、您能否告诉我在完成这些打印后是否能够正常通信?
Anand、您好!
感谢您的答复。
现在一切都正常、
谢谢。