由于软件构建工具Nios® II问题Nios® II简单套接字服务器 (RMII) 模板的默认设置并非针对 MARVELL PHY,这导致错误的 PHY 配置,从而导致以太网链路断开。
在Nios® II SBT 17.1 版及更高版本中观察到此问题。
要变通解决此问题,用户需要修改模板中的以下参数以启用 MARVELL PHY RGMII 配置。
浏览 至项目目录:../software/<project_name>/tse_my_system.c
步骤 1.取消注释下一个定义:
/* 如果使用 Marvell phy 并且您想要 RGMII 模式,请取消注释此定义 */
#define SET_MARVELL_RGMII_MODE //取消注释此定义以启用 RGMII
#ifdef SET_MARVELL_RGMII_MODE
#define ADDITIONAL_PHY_CFG 和marvell_cfg_rgmii
#else
#define ADDITIONAL_PHY_CFG 0
#endif
步骤 2.找到定义“ifdef DESCRIPTOR MEMORY BASE”,并验证函数 TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO 中要声明为“ETH_TSE”而非“TSE_0_TSE”的 first 参数
如下一个代码部分所示:
#ifdef DESCRIPTOR_MEMORY_BASE
alt_tse_system_info tse_mac_device[MAXNETS] = {
TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO(ETH_TSE、0、TSE_0_DMA_TX、TSE_0_DMA_RX、TSE_PHY_AUTO_ADDRESS、ADDITIONAL_PHY_CFG、DESCRIPTOR_MEMORY)
};