由於Nios® II軟體建構工具存在問題,簡單通訊端伺服器(RMII)範本Nios® II的預設設置並非針對 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)
};