主题中讨论的其他器件:TDA4VH
工具与软件:
您好、TI:
我们将使用基于 TDA4VH (PSDK RTOS 版本10.00)的定制电路板。
我们已按照集成指南在 RTOS 中集成了新的 Ethh PHY (NXP PHY)。 PHY 连接到主 CPSW2G 接口。
为了验证堆栈、我们使用 enet_lwip_example、但截至目前未成功。
短缺状态是指我们具有指向 PHY 的功能性 MDIO 通信、但示例中的 ping 和 UDP 回波功能均不起作用。
除了 ETH PHY 特定层外、我们方面的详细变化如下:
- 结构中的 PHY 地址 gEnetCpbBoard_j7xEthPort (新值19u)、以及 enet_board_j784s4_evm.c 内从 BFALSE 的堆叠值
- 我们的 PHY 具有硬件捆绑、在 RGMII-id 模式下、不应部署任何配置即可工作。 该设计已在 Linux 端经过测试、并且具有完整功能(MDIO 和 RGMII 端)
- 以太网为1Gbit FD。
- board_cfg.h 文件内 BOARD_MAIN_EMAC_PHY_ADDR (19u)宏中的 PHY MDIO 地址-根本不知道是否使用了该地址。
- 给定示例的静态 IP 地址分配:
- lwipcfg.h 内未注释的 USE_DHCP 和 USE_AUTOIP 宏命令(默认值为0并且不会更改)
- 在 lwipcfg.h 内的以下行中分配 IP 地址和网关地址的值
- #define LWIP_PORT_INIT_IPADDR (addr) IP4_ADDR ((addr)、192,168、0、1)(我们使用了不同的值)
define LWIP_PORT_INIT_GW (addr) IP4_ADDR ((addr)、169,254、1、1) - 我们使用与 PC 的直接连接。 环境通过板载 Linux 堆栈进行测试、正常运行。
- #define LWIP_PORT_INIT_IPADDR (addr) IP4_ADDR ((addr)、192,168、0、1)(我们使用了不同的值)
- 将 LWIP_PING_APP 宏(表单0)的值更改为1以在 lwipcfg.h 文件中启用 ping 应用程序
下面是 enet_lwip_freertOS 应用程序的输出、包括我们的一些其他日志:
oard init finished
==========================
Enet lwIP App
==========================
Select peripheral type
0: Main CPSW_2G
0
Select MAC port
0: ENET_MAC_PORT_1 - RGMII
0
EnetBoard_setupPorts: 1 of 1 ports configurations found
CPU Load: 100%
Starting lwIP, local interface IP is 169.254.27.170
Failed to read Main CPSW2G MAC IDs from EEPROM: -1
No valid MAC address found in EEPROM, falling back to static address
EnetMcm: CPSW_2G on MCU NAVSS
PHY 19 is alive
EnetPhy_bindDriver: PHY 19: OUI:0006ec Model:03 Ver:01 <-> 'TJA1120' : OK
Host MAC address: 70:ff:76:1d:92:c2
[LWIPIF_LWIP] Enet LLD netif initialized successfully
Status callbask sholud be registered here
Status callback function 1, this one is supposed to be calledstatus_callback==UP, local interface IP is 169.254.27.170
Enet lwIP App: Added Network IP address I/F ti0: 169.254.27.170
Initializing apps
UDP server listening on port 5001
Reg read value: 12
EnetPhy_tick: PHY 19: LINK_WAIT (rem ticks 50)
Cpsw_handleLinkUp: Port 1: Link up: 1-Gbps Full-Duplex
MAC Port 1: link up
Link callback 1
link_callback==UP
日志似乎与您在4.7.6.1.3.1中提供的类似示例匹配。 Enet lwIP 示例—平台开发套件(PDK)- Jacinto 用户指南:
我们已读取状态寄存器以确保 TDA4处于正确的 RGMII 模式、并已对 其进行确认(从 APP (使用 CPS_REG_READ)我们 从寄存器0x00104034读取值0x12)。
我们确实遇到了应用在 ping 测试或任何 ethtool 测试中均无法正常运行的问题。
您是否知道我们如何继续进行调试、或者可能有什么问题?
我们的预期是、一旦 PHY 正确寻址、SW 堆栈的其余部分应该可以正常工作。 此假设是否正确、或者还需要执行其他操作?
此致、
Milena